24 include_spip(
'hyd_inc/formulaire.abstract.class');
36 'Hsc' =>
'charge_critique',
38 'P' =>
'perim_mouille',
39 'S' =>
'surf_mouille',
43 'Yc' =>
'tirant_eau_crit',
44 'Yn' =>
'tirant_eau_norm',
45 'Yf' =>
'tirant_eau_fluv',
46 'Yt' =>
'tirant_eau_torr',
47 'Yco' =>
'tirant_eau_conj',
48 'J' =>
'perte_charge',
51 'Tau0' =>
'force_tract' 67 $saisies_section = array(
68 'type_section' => array(
71 'choix_section' => array(
'choix_section',
'form_section_type',
's')
78 'FT_rLargeurFond' =>array(
'largeur_fond',2.5,
'opn'),
79 'FT_rFruit' =>array(
'fruit', 0.56,
'opn')
87 'FR_rLargeurFond' =>array(
'largeur_fond',2.5,
'op'),
95 'FC_rD' =>array(
'diametre',2,
'op')
103 'FP_rk' =>array(
'coef',0.5,
'op'),
104 'FP_rLargeurBerge' =>array(
'largeur_berge',4,
'op')
110 $saisies_bief[
'c_bief'] = array(
112 array(
'rKs'=>array(
'coef_strickler',40,
'op')),
116 $saisies_bief[
'c_bief'][1][
'rLong'] = array(
'longueur_bief',100,
'op');
118 $saisies_bief[
'c_bief'][1][
'rIf'] = array(
'pente_fond',0.001,
'o');
119 $saisies_bief[
'c_bief'][1][
'rYB'] = array(
'h_berge',1,
'opn');
120 $this->saisies = array_merge($saisies_section, $saisies_bief, $this->saisies);
121 parent::__construct();
125 $ChampsSection = array();
126 foreach($this->saisies as $fs_cle=>$fs) {
127 if(substr($fs_cle,0,2)==$choix_section) {
128 $ChampsSection = array_merge($ChampsSection,array_keys($fs[1]));
131 foreach($ChampsSection as &$Champ) {
132 $Champ = substr($Champ,3);
134 spip_log($ChampsSection,
'hydraulic',_LOG_DEBUG);
135 return $ChampsSection;
145 foreach($this->saisies as $fs) {
146 foreach($fs[1] as $cle=>$val) {
148 if(substr($cle,0,1)!=
'F') {
149 $lib[$cle] = _T(
'hydraulic:'.$val[0]);
151 $lib[substr($cle,3)] = _T(
'hydraulic:'.$val[0]);
161 include_spip(
'hyd_inc/section.class');
163 foreach(array_keys($this->data) as $k) {
164 if(substr($k,0,1)==
'F') {
165 if(substr($k,0,3)==$this->data[
'choix_section'].
'_') {
167 $this->data[substr($k,3)] = $this->data[$k];
170 unset($this->data[$k]);
174 foreach(array(
'ValCal',
'ValVar') as $k) {
175 if(isset($this->data[$k]) && substr($this->data[$k],0,1)==
'F') {
176 $this->data[$k] = substr($this->data[$k],3);
181 extract($this->data, EXTR_OVERWRITE|EXTR_REFS);
184 $this->oP =
new cParam($rKs, $rQ, $rIf, $rPrec, $rYB);
185 switch($choix_section) {
187 include_spip(
'hyd_inc/sectionTrapez.class');
188 $this->oSn=
new cSnTrapez($this->oLog,$this->oP,$rLargeurFond,$rFruit);
192 include_spip(
'hyd_inc/sectionRectang.class');
193 $this->oSn=
new cSnRectang($this->oLog,$this->oP,$rLargeurFond);
197 include_spip(
'hyd_inc/sectionCirc.class');
198 $this->oSn=
new cSnCirc($this->oLog,$this->oP,$rD);
202 include_spip(
'hyd_inc/sectionPuiss.class');
203 $this->oSn=
new cSnPuiss($this->oLog,$this->oP,$rk,$rLargeurBerge);
207 include_spip(
'hyd_inc/sectionTrapez.class');
208 $this->oSn=
new cSnTrapez($this->oLog,$this->oP,$rLargeurFond,$rFruit);
211 $this->oSn->rY = $rY;
213 spip_log($this->oSn,
'hydraulic',_LOG_DEBUG);
214 if(self::DBG) spip_log($this->oP,
'hydraulic',_LOG_DEBUG);
Calculs de la section circulaire.
Calculs de la section trapézoïdale.
Gestion des Paramètres du canal (hors section)
Calculs de la section rectangulaire.
Calculs de la section parabolique ou "puissance".