26 include_spip(
'hyd_inc/section.class');
47 if($this->rY > $this->oP->rYB) {
56 elseif(
$rY > $this->rD) {
60 $alpha = acos(1.-
$rY/($this->rD/2.));
75 if($this->rY <= 0 or $this->rY >= $this->rD or $this->rY > $this->oP->rYB) {
79 return 2. / $this->rD / sqrt(1. - pow(1. - 2. * $this->rY / $this->rD,2));
88 if($this->rY > $this->oP->rYB) {
89 return parent::Calc_B();
92 return $this->rD * sin($this->
Calc(
'Alpha'));
102 if($this->rY > $this->oP->rYB and !$this->bSnFermee) {
104 return $this->
CalcGeo(
'P') + parent::Calc_P($this->rY-$this->oP->rYB);
107 return $this->rD * $this->
Calc(
'Alpha');
117 if($this->rY > $this->oP->rYB) {
118 return $this->
CalcGeo(
'S') + parent::Calc_S($this->rY-$this->oP->rYB);
121 return pow($this->rD,2) / 4 * ($this->
Calc(
'Alpha') - sin($this->
Calc(
'Alpha')) * cos($this->
Calc(
'Alpha')));
130 if($this->rY > $this->oP->rYB) {
131 return parent::Calc_dS();
134 return pow($this->rD,2) / 4 * $this->
Calc(
'dAlpha') * (1 - cos(2 * $this->
Calc(
'Alpha')));
143 if($this->rY > $this->oP->rYB && !$this->bSnFermee) {
144 return parent::Calc_dP();
147 return $this->rD * $this->
Calc(
'dAlpha');
156 if($this->rY > $this->oP->rYB) {
157 return parent::Calc_dB();
160 return $this->rD * $this->
Calc(
'dAlpha') * cos($this->
Calc(
'Alpha'));
171 $SYg = sin($this->
Calc(
'Alpha'))-pow(sin($this->
Calc(
'Alpha')),3) / 3 - $this->
Calc(
'Alpha') * cos($this->
Calc(
'Alpha'));
172 $SYg = pow($this->rD,3) / 8 * $SYg;
183 $cos = cos($this->
Calc(
'Alpha'));
184 $sin = sin($this->
Calc(
'Alpha'));
185 $SYg = $this->
Calc(
'dAlpha') * $cos;
186 $SYg += - $this->
Calc(
'dAlpha') * $cos * pow($sin,2);
187 $SYg += - $this->
Calc(
'dAlpha') * $cos + $this->
Calc(
'Alpha') * $this->
Calc(
'dAlpha') * $sin;
188 $SYg = 3 *pow($this->rD,3) / 8 * $SYg;
$rY
Pour loguer les messages de debug de cette classe et ses filles.
CalcGeo($sDonnee)
Calcul des données uniquement dépendantes de la géométrie de la section.
$rAlpha
Diamètre du cercle.
Calc_dB()
Calcul de dérivée de la largeur au miroir par rapport au tirant d'eau.
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...
Calc_P($rY=0)
Calcul du périmètre mouillé.
Calc_SYg($rY=0)
Calcul de la distance du centre de gravité de la section à la surface libre multiplié par la surface ...
Calculs de la section circulaire.
Calc_dS()
Calcul de dérivée de la surface hydraulique par rapport au tirant d'eau.
Calc_B()
Calcul de la largeur au miroir.
Gestion commune pour les différents types de section.
Calc_S($rY=0)
Calcul de la surface mouillée.
Calc_Alpha()
Calcul de l'angle Alpha de la surface libre par rapport au fond.
$oLog
Paramètres du système canal (classe oParam)
Calc_dAlpha()
Calcul de dérivée de l'angle Alpha de la surface libre par rapport au fond.
Calc_dP()
Calcul de dérivée du périmètre hydraulique par rapport au tirant d'eau.
Calc($sDonnee, $rY=false)
Calcul des données à la section.
$nbDessinPoints
Angle de la surface libre par rapport au fond.
__construct(&$oLog, &$oP, $rD)
$oP
Tirant d'eau normal.