Calculettes pour l'hydraulique
sectionRectang.class.php
Aller à la documentation de ce fichier.
1 <?php
2 /**
3  * @file inc_hyd/sectionRectang.class.php
4  * Gestion des calculs au niveau des Sections
5  */
6 
7 /* Copyright 2012 Dorch <dorch@dorch.fr>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
22  * MA 02110-1301, USA.
23  */
24 
25 // Chargement de la classe abstraite acSection et ses classes associées
26 include_spip('hyd_inc/section.class');
27 
28 /**
29  * Calculs de la section rectangulaire
30  */
31 class cSnRectang extends acSection {
32 
33  function __construct(&$oLog,&$oP,$rLargeurFond) {
34  $this->rLargeurBerge = $rLargeurFond;
35  parent::__construct($oLog,$oP);
36  }
37 
38  /**
39  * Calcul du périmètre mouillé
40  * @param $rY Uniquement présent car la méthode parent à cet argument
41  * @return Périmètre mouillé (m)
42  */
43  protected function Calc_P($rY=0) {
44  return $this->rLargeurBerge+parent::Calc_P($this->rY);
45  }
46 
47  /**
48  * Calcul de la surface mouillée
49  * @param $rY Uniquement présent car la méthode parent à cet argument
50  * @return Surface mouillée (m2)
51  */
52  protected function Calc_S($rY=0) {
53  return parent::Calc_S($this->rY);
54  }
55 
56  /**
57  * Calcul de la distance du centre de gravité de la section à la surface libre
58  * multiplié par la section
59  * @param $rY Uniquement présent car la méthode parent à cet argument
60  * @return SYg
61  */
62  protected function Calc_SYg($rY=0) {
63  return parent::Calc_SYg($this->rY);
64  }
65 
66  /**
67  * Calcul de la dérivée de la distance du centre de gravité de la section à la surface libre
68  * multiplié par la section
69  * @param $rY Uniquement présent car la méthode parent à cet argument
70  * @return Dérivée de SYg par rapport à Y
71  */
72  protected function Calc_dSYg($rY=0) {
73  return parent::Calc_dSYg($this->rY);
74  }
75 
76  /**
77  * Calcul du tirant d'eau conjugué avec la formule analytique pour la section rectangulaire
78  * @return tirant d'eau conjugué
79  */
80  protected function CalcYco() {
81  return $this->rY*(sqrt(1 + 8 * pow($this->Calc('Fr'),2)) - 1) / 2;
82  }
83 
84 }
85 ?>
$rY
Pour loguer les messages de debug de cette classe et ses filles.
Calc_P($rY=0)
Calcul du périmètre mouillé
Calc_S($rY=0)
Calcul de la surface mouillée.
Calc_dSYg($rY=0)
Calcul de la dérivée de la distance du centre de gravité de la section à la surface libre multiplié p...
Gestion commune pour les différents types de section.
Calc_SYg($rY=0)
Calcul de la distance du centre de gravité de la section à la surface libre multiplié par la section...
$oLog
Paramètres du système canal (classe oParam)
__construct(&$oLog, &$oP, $rLargeurFond)
CalcYco()
Calcul du tirant d&#39;eau conjugué avec la formule analytique pour la section rectangulaire.
Calc($sDonnee, $rY=false)
Calcul des données à la section.
Calculs de la section rectangulaire.
$oP
Tirant d&#39;eau normal.