44 'L' => array(
'param_L', 2),
45 'W' => array(
'param_W', 0.5),
46 'C' => array(
'param_C', 0.4),
47 'LF' => array(
'param_LF', 2),
48 'CR' => array(
'param_CR', 0.4),
49 'CT' => array(
'param_CT', 0.5),
50 'F' => array(
'param_F', 0.56)
57 $num_equation = array(1, 2, 3, 4, 7);
60 'H' => array(
'param_H', 1),
61 'CS' => array(
'param_C', 0.4)
64 foreach($num_equation as $valeur) {
65 if(isset($numLoi[$valeur])) {
66 $surverse[
'loi_debit'][] = array($valeur, $numLoi[$valeur]);
78 'Q' =>array(
'param_Q', 2),
79 'ZM' =>array(
'param_ZM', 1.5),
80 'ZV' =>array(
'param_ZV', 1),
87 'rPrec' =>array(
'precision', 0.001)
101 array(
'L',
'W',
'C'),
102 array(1, 2, 5, 6, 7),
108 array(
'L',
'W',
'C'),
109 array(1, 2, 5, 6, 7),
116 array(1, 2, 3, 4, 7),
122 array(
'LF',
'CR',
'CT',
'F'),
129 array(
'LF',
'CR',
'CT',
'F'),
135 $mes_saisies_ouv = array();
150 foreach($mes_saisies as $cleF=>$valeurTab){
151 $mes_saisies_ouv[$cleF][0] = $valeurTab[0];
152 foreach($valeurTab[1] as $valeur){
153 $mes_saisies_ouv[$cleF][1][$valeur]= $champsLib[$valeur];
155 $mes_saisies_ouv[$cleF][2]=array();
156 foreach($valeurTab[2] as $valeur){
157 if(isset($numLoi[$valeur])) {
158 $mes_saisies_ouv[$cleF][2][]= array($valeur, $numLoi[$valeur]);
161 $mes_saisies_ouv[$cleF][3] = $valeurTab[3];
163 return $mes_saisies_ouv;
172 spip_log(
'champs_obligatoires',
'hydraulic.'._LOG_DEBUG);
173 $nTypeOuv = _request(
'OuvrageType');
175 $tChOblig = array(
'OuvrageType',
'OuvrageLoi');
176 $tChCalc = array_keys($mes_saisies[$nTypeOuv][1]);
177 if(_request(
'SurverseEnabled')) {
179 array_push($tChCalc,
'H',
'CS');
180 $tChOblig[] =
'SurverseLoi';
184 $tChCalc = array_merge($tChCalc,array_keys($mes_saisies[0][1]));
185 $tChCalc = array_merge($tChCalc,array_keys($mes_saisies[1][1]));
186 $tChOblig[] =
'rPrec';
187 $tChOblig = array_merge($tChOblig,$tChCalc);
189 $choix_champs = array();
190 foreach($tChCalc as $cle){
191 $choix_champs[$cle] = _request(
'choix_champs_'.$cle);
194 foreach($choix_champs as $cle=>$valeur){
195 spip_log(
'Choix champ '.$cle.
'=>'.$valeur,
'hydraulic.'._LOG_DEBUG);
197 if(substr($valeur, 0,3) !=
'val'){
198 foreach($tChOblig as $cle1=>$valeur1){
199 if($cle == $valeur1){
203 $tChOblig = array_values($tChOblig);
208 if(substr($valeur, 0, 3) ==
'var'){
209 $tChOblig[] =
'val_min_'.$cle;
210 $tChOblig[] =
'val_max_'.$cle;
211 $tChOblig[] =
'pas_var_'.$cle;
214 spip_log($tChOblig,
'hydraulic.'._LOG_DEBUG);
215 spip_log($tChCalc,
'hydraulic.'._LOG_DEBUG);
233 'OuvrageType' =>
'vRect',
236 'SurverseEnabled' => _request(
'SurverseEnabled'),
237 'mes_saisies' => $choixOuv,
238 'OuvrageCaract' => $champsLib,
240 'surverse' => $champs_surverse,
241 'caract_fixes' => $caract_fixes
244 foreach($choixOuv as $cleF=>$valeurF){
246 foreach($valeurF[1] as $cle=>$valeur){
248 $valeurs[
'choix_champs_'.$cle] =
'calcul_val_'.$cle;
252 $valeurs[
'choix_champs_'.$cle] =
'val_fixe_'.$cle;
254 $valeurs[$cle] = $valeur[1];
255 $valeurs[
'val_min_'.$cle] = 1;
256 $valeurs[
'val_max_'.$cle] = 2;
257 $valeurs[
'pas_var_'.$cle] = 0.1;
261 foreach($champs_surverse as $cle=>$valeur){
262 if($cle !==
'loi_debit'){
263 $valeurs[$cle] = $valeur[1];
264 $valeurs[
'choix_champs_'.$cle] =
'val_fixe_'.$cle;
265 $valeurs[
'val_min_'.$cle] = 1;
266 $valeurs[
'val_max_'.$cle] = 2;
267 $valeurs[
'pas_var_'.$cle] = 0.1;
271 foreach($caract_fixes as $cleF=>$valeurF){
272 foreach($valeurF[1] as $cle=>$valeur){
273 $valeurs[$cle] = $valeur[1];
274 $valeurs[
'choix_champs_'.$cle] =
'val_fixe_'.$cle;
275 $valeurs[
'val_min_'.$cle] = 1;
276 $valeurs[
'val_max_'.$cle] = 2;
277 $valeurs[
'pas_var_'.$cle] = 0.1;
291 include_spip(
'hyd_inc/cache');
292 include_spip(
'hyd_inc/charge_datas');
296 include_spip(
'hyd_inc/log.class');
298 include_spip(
'hyd_inc/ouvrage.class');
300 $tsDatas = array(
'i',
'min',
'max',
'pas');
301 foreach($tsDatas as $sData) {
302 ${$sData} = $datas[$sData];
307 $rInit = $datas[$datas[
'ValCal']];
309 for($i = $min; $i <= $max; $i+= $pas){
310 if(isset($datas[
'ValVar'])) {
311 $Ouv->Set($datas[
'ValVar'],$i);
313 if(end($tRes)!==
false) {
318 list($tRes[],$tFlag[]) = $Ouv->Calc($datas[
'ValCal'],max(1,$rInit));
322 -1 =>
'erreur_calcul',
327 4 =>
'charge_noy_part',
328 5 =>
'charge_noy_tot',
329 11 =>
'surverse_den',
333 foreach($tFlag as $Flag) {
334 $tsFlag[] = $tLibFlag[$Flag];
336 include_spip(
'hyd_inc/affiche_resultats');
337 unset($datas[
'tLib'][
'rPrec']);
AfficheResultats($datas, $tAbs, $tRes, $tFlag=false)
Renvoie Le résultat sous la forme de tableaux et graphiques.
formulaires_calcul_ouvrages_verifier_dist()
formulaires_calcul_ouvrages_traiter_dist()
mes_saisies_caract_fixe()
charge_datas($bLibelles=true)
Charge les données d'un formulaire avec choix des variables fixées, qui varient et à calculer...
formulaires_calcul_ouvrages_charger_dist()
champs_obligatoires($bCalc=false)