Changeset 59347 in spip-zone


Ignore:
Timestamp:
Mar 15, 2012, 5:06:16 PM (8 years ago)
Author:
dorch@…
Message:

MAJ des langues
Les classes pour chaque type de section sont maintenant dans des fichiers séparés.
Modification du Newton pour aider la résolution sur la section circulaire.
La section circulaire ne marche toujours pas.

Location:
_plugins_/hydraulic/branches/v0.3
Files:
3 added
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/hydraulic/branches/v0.3/formulaires/courbe_remous.php

    r59311 r59347  
    4141function mes_saisies_section() {
    4242
    43         $fieldset_champs = array(
    44        
    45                                 'FT'          => array(
    46                                                                            'def_section_trap',
    47                                                                            array(
    48                                                                                          'rLarg'  =>array('largeur_fond',2.5),
    49                                                                                          'rFruit' =>array('fruit', 0.56, false)
    50                                                                                         )
    51                                 ),
    52                                
    53                                 'FR'          => array(
    54                                                                            'def_section_rect',
    55                                                                            array(
    56                                                                                          'rLarg'  =>array('largeur_fond',2.5),
    57                                                                                         )
    58                                 ),
    59                                        
    60                                 'FC'          => array(
    61                                                                            'def_section_circ',
    62                                                                            array(
    63                                                                                          'circ1'  =>array('champ_circulaire1',3),
    64                                                                                          'circ2'  =>array('champ_circulaire2', 0.6)
    65                                                                                         )
    66                                 ),
    67                                
    68                                 'FP'          => array(
    69                                                                            'def_section_puis',
    70                                                                            array(
    71                                                                                          'puiss1' =>array('champs_puissance1',10),
    72                                                                                          'puiss2' =>array('champs_puissance2', 0.7)
    73                                                                                         )
    74                                 ),
    75                                
    76                                 'Caract_bief' => array(                         
    77                                                                            'caract_bief',                                       
    78                                                                            array(
    79                                                                                          'rKs'    =>array('coef_strickler',50),
    80                                                                                          'rLong'  =>array('longueur_bief', 50),
    81                                                                                          'rIf'    =>array('pente_fond', 0.005)
    82                                                                                         )
    83                                 ),
    84                                                                                                                        
    85                                 'Cond_lim'    => array(                                                                                 
    86                                                                            'condition_limite',                 
    87                                                                            array(
    88                                                                                          'rQ'     =>array('debit_amont', 2),
    89                                                                                          'rYaval' =>array('h_aval_imposee', 0.6),
    90                                                                                          'rYamont'=>array('h_amont_imposee', 0.15)
    91                                                                                         )
    92                                 ),
    93                                                                
    94                                 'Param_calc'  => array(                                                                 
    95                                                                            'param_calcul',             
    96                                                                            array(                                               
    97                                                                                          'rDx'    =>array('pas_discret', 5),
    98                                                                                          'rPrec'  =>array('precision_calc', 0.001)
    99                                                                                         )
    100                                 )
    101         );
    102                
     43    $fieldset_champs = array(
     44
     45                'FT'          => array(
     46                                       'def_section_trap',
     47                                       array(
     48                                             'rLarg'  =>array('largeur_fond',2.5),
     49                                             'rFruit' =>array('fruit', 0.56, false)
     50                                            )
     51                ),
     52
     53                'FR'          => array(
     54                                       'def_section_rect',
     55                                       array(
     56                                             'rLarg'  =>array('largeur_fond',2.5),
     57                                            )
     58                ),
     59
     60                'FC'          => array(
     61                                       'def_section_circ',
     62                                       array(
     63                                             'rDiam'  =>array('diametre',2)
     64                                            )
     65                ),
     66
     67                'FP'          => array(
     68                                       'def_section_puis',
     69                                       array(
     70                                             'puiss1' =>array('champs_puissance1',10),
     71                                             'puiss2' =>array('champs_puissance2', 0.7)
     72                                            )
     73                ),
     74
     75                'Caract_bief' => array(
     76                                       'caract_bief',
     77                                       array(
     78                                             'rKs'    =>array('coef_strickler',50),
     79                                             'rLong'  =>array('longueur_bief', 50),
     80                                             'rIf'    =>array('pente_fond', 0.005)
     81                                            )
     82                ),
     83
     84                'Cond_lim'    => array(
     85                                       'condition_limite',
     86                                       array(
     87                                             'rQ'     =>array('debit_amont', 2),
     88                                             'rYaval' =>array('h_aval_imposee', 0.6),
     89                                             'rYamont'=>array('h_amont_imposee', 0.15)
     90                                            )
     91                ),
     92
     93                'Param_calc'  => array(
     94                                       'param_calcul',
     95                                       array(
     96                                             'rDx'    =>array('pas_discret', 5),
     97                                             'rPrec'  =>array('precision_calc', 0.001)
     98                                            )
     99                )
     100    );
     101
    103102  return $fieldset_champs;
    104  
     103
    105104}
    106105
    107106function champs_obligatoires() {
    108        
    109         $tSaisie = mes_saisies_section();
     107
     108    $tSaisie = mes_saisies_section();
    110109    $tChOblig = array();
    111110    $sTypeSection = _request('lTypeSection');
    112    
     111
    113112    foreach($tSaisie as $IdFS=>$FieldSet) {
    114                 if((substr($IdFS,0,1) != 'F') || ($IdFS == $sTypeSection)){
    115                         foreach($FieldSet[1] as $Cle=>$Champ) {
    116                                 if((!isset($Champ[2])) || (isset($Champ[2]) && $Champ[2])) {
    117                                         $tChOblig[] = $IdFS.'_'.$Cle;
    118                                 }
    119                         }
    120                 }
    121         }
    122         return $tChOblig;
     113        if((substr($IdFS,0,1) != 'F') || ($IdFS == $sTypeSection)){
     114            foreach($FieldSet[1] as $Cle=>$Champ) {
     115                if((!isset($Champ[2])) || (isset($Champ[2]) && $Champ[2])) {
     116                    $tChOblig[] = $IdFS.'_'.$Cle;
     117                }
     118            }
     119        }
     120    }
     121    return $tChOblig;
    123122}
    124123
    125 function formulaires_courbe_remous_charger_dist() { 
     124function formulaires_courbe_remous_charger_dist() {
    126125    // On charge les saisies et les champs qui nécessitent un accès par les fonctions
    127         $tSaisie_section = mes_saisies_section();
    128         $valeurs = array(
    129                 'lTypeSection' => 'FT',
    130                 'mes_saisies' => $tSaisie_section       
    131         );
    132    
     126    $tSaisie_section = mes_saisies_section();
     127    $valeurs = array(
     128        'lTypeSection' => 'FT',
     129        'mes_saisies' => $tSaisie_section
     130    );
     131
    133132    foreach($tSaisie_section as $CleFD=>$FieldSet) {
    134                 foreach($FieldSet[1] as $Cle=>$Champ) {
    135                                 $valeurs[$CleFD.'_'.$Cle] = $Champ[1];
    136                 }
    137         }
     133        foreach($FieldSet[1] as $Cle=>$Champ) {
     134                $valeurs[$CleFD.'_'.$Cle] = $Champ[1];
     135        }
     136    }
    138137
    139138    return $valeurs;
     
    143142    $erreurs = array();
    144143    $datas = array();
    145    
     144
    146145    $tChOblig= champs_obligatoires();
    147146    // verifier que les champs obligatoires sont bien là :
     
    161160        $erreurs['message_erreur'] = _T('hydraulic:saisie_erreur');
    162161    }
    163        
     162
    164163    return $erreurs;
    165164}
     
    183182
    184183    foreach($tSaisie as $IdFS=>$FieldSet) {
    185                 if((substr($IdFS,0,1) != 'F') || ($IdFS == $lTypeSection)){
    186                         foreach($FieldSet[1] as $Cle=>$Champ) {
    187                                         $tChUtil[] = $IdFS.'_'.$Cle;
    188                         }
    189                 }
    190         }
    191        
     184        if((substr($IdFS,0,1) != 'F') || ($IdFS == $lTypeSection)){
     185            foreach($FieldSet[1] as $Cle=>$Champ) {
     186                    $tChUtil[] = $IdFS.'_'.$Cle;
     187            }
     188        }
     189    }
     190
    192191    //On récupère les données
    193192    foreach($tChUtil as $champ) {
    194193        if (_request($champ)){
    195                         $datas[$champ] = _request($champ);
    196                 }
    197                
    198                 $datas[$champ] = str_replace(',','.',$datas[$champ]); // Bug #574
     194            $datas[$champ] = _request($champ);
     195        }
     196
     197        $datas[$champ] = str_replace(',','.',$datas[$champ]); // Bug #574
    199198    }
    200199
     
    212211        ${$champ}=$data;
    213212    }
    214    
    215         // Initialisation du format d'affichage des réels
     213
     214    // Initialisation du format d'affichage des réels
    216215    $iPrec=(int)-log10($Param_calc_rPrec);
    217        
     216
    218217    // Contrôle du nombre de pas d'espace maximum
    219218    $iPasMax = 1000;
     
    222221        $oLog->Add(_T('hydraulic:pas_nombre').' > '.$iPasMax.' => '._T('hydraulic:pas_ajustement').$Param_calc_rDx.' m');
    223222    }
    224         spip_log(array($Cond_lim_rYaval,$Caract_bief_rKs,$Cond_lim_rQ,$Caract_bief_rLong,$Caract_bief_rIf,$Param_calc_rDx,$Param_calc_rPrec),'hydraulic');
     223    //spip_log(array($Cond_lim_rYaval,$Caract_bief_rKs,$Cond_lim_rQ,$Caract_bief_rLong,$Caract_bief_rIf,$Param_calc_rDx,$Param_calc_rPrec),'hydraulic');
     224
    225225    // Enregistrement des paramètres dans les classes qui vont bien
    226226    $oParam= new cParam($Cond_lim_rYaval,$Caract_bief_rKs,$Cond_lim_rQ,$Caract_bief_rLong,$Caract_bief_rIf,$Param_calc_rDx,$Param_calc_rPrec);
    227        
     227
    228228    switch($lTypeSection) {
    229                 case 'FT':
    230                         $oSection=new cSnTrapeze($oParam,$FT_rLarg,$FT_rFruit);
    231                 break; 
    232                
    233                 case 'FR':
    234                         $oSection=new cSnRectangulaire($oParam,$FR_rLarg);
    235                 break;
    236                
    237                 case 'FC':
    238                         echo 'circulaire';
    239                 break;
    240                
    241                 case 'FP':
    242                         echo 'puissance';
    243                        
    244                 default:
    245                         $oSection=new cSnTrapeze($oParam,$FT_rLarg,$FT_rFruit);
    246         }
    247    
     229        case 'FT':
     230            include_spip('hyd_inc/sectionTrapez.class');
     231            $oSection=new cSnTrapez($oParam,$FT_rLarg,$FT_rFruit);
     232            break;
     233
     234        case 'FR':
     235            include_spip('hyd_inc/sectionRectang.class');
     236            $oSection=new cSnRectang($oParam,$FR_rLarg);
     237            break;
     238
     239        case 'FC':
     240            include_spip('hyd_inc/sectionCirc.class');
     241            $oSection=new cSnCirc($oParam,$FC_rDiam);
     242            break;
     243
     244        case 'FP':
     245            echo 'puissance';
     246
     247        default:
     248            include_spip('hyd_inc/sectionTrapez.class.php');
     249            $oSection=new cSnTrapeze($oParam,$FT_rLarg,$FT_rFruit);
     250    }
     251
    248252
    249253
     
    251255    *                        Calcul de la ligne d'eau
    252256    ****************************************************************************/
    253     if(is_file(HYD_CACHE_DIRECTORY.$CacheFileName)) {
     257    $bNoCache = false; // true pour débugage
     258    if(!$bNoCache && is_file(HYD_CACHE_DIRECTORY.$CacheFileName)) {
    254259        // On récupère toutes les données dans un cache déjà créé
    255260        list($tr,$sLog) = ReadCacheFile($CacheFileName);
  • _plugins_/hydraulic/branches/v0.3/hyd_inc/newton.class.php

    r58731 r59347  
    4545    protected $rDx;
    4646    private $iCpt=0;
    47     private $iCptMax=50;
     47    private $iCptMax=100;
     48    private $rRelax=1; /// Coefficient de relaxation
     49    private $rFnPrec=0; /// Mémorisation du Fn précédent pour détecter le changement de signe
     50    private $iOscil=0; /// Nombre de changement de signe de Delta
    4851
    4952    /**
     
    8184        $this->iCpt++;
    8285        $rFn=$this->CalcFn($rX);
    83         //echo $this->iCpt.' - f('.$rX.') = '.$rFn;
     86        //~ echo('</br>Newton '.$this->iCpt.' Relax='.$this->rRelax.'- f('.$rX.') = '.$rFn);
    8487        if($this->FuzzyEqual($rFn) || $this->iCpt >= $this->iCptMax) {
    8588            return $rX;
     
    8790        else {
    8891            $rDer=$this->CalcDer($rX);
    89             //echo ' - f\\\' = '.$rDer.'<br/>';
     92            //~ echo(' - f\' = '.$rDer);
    9093            if($rDer!=0) {
    91                 return $this->Newton($rX-$rFn/$rDer);
     94                if($this->rRelax > 1) {
     95                    // On réduit progressivement le coef de relaxation
     96                    $this->rRelax *= 0.25;
     97                }
     98                if($rFn < 0 xor $this->rFnPrec < 0) {
     99                    $this->nOscil++;
     100                    if($this->rRelax > 1) {
     101                        // Sur une forte relaxation, au changement de signe on réinitialise
     102                        $this->rRelax = 1;
     103                    }
     104                    else {
     105                        // On est dans le cas d'une oscillation autour de la solution
     106                        // On réduit le coefficient de relaxation
     107                        //~ echo '</br> ******  Delta='.$Delta.' DeltaPrec='.$this->rDelta;
     108                        $this->rRelax *= 0.5;
     109                    }
     110                }
     111                $this->rFnPrec = $rFn;
     112                $Delta = $rFn / $rDer;
     113                while($rX - $Delta*$this->rRelax <= 0 && $this->rRelax > 1E-5) {
     114                    // On diminue le coeficient de relaxation si on passe en négatif
     115                    $this->rRelax *= 0.1;
     116                }
     117                while(abs($Delta*$this->rRelax) < $this->rTol && $this->rRelax < 2^20) {
     118                    // On augmente le coefficicient de relaxation s'il est trop petit
     119                    $this->rRelax *= 2; // Mais on ne le mémorise pas pour les itérations suivantes
     120                }
     121                $rX = $rX - $Delta*$this->rRelax;
     122                $this->rDelta = $Delta;
     123                if($rX<0) {$rX = $this->rTol;} // Aucune valeur recherchée ne peut être négative ou nulle
     124                return $this->Newton($rX);
    92125            }
    93126            else {
  • _plugins_/hydraulic/branches/v0.3/hyd_inc/section.class.php

    r59239 r59347  
    109109    public function Calc($sDonnee, $rY = false) {
    110110        if($rY!==false && $rY!=$this->rY) {
    111             //~ spip_log('Calc('.$sDonnee.') rY='.$rY,'hydraulic');
     111            spip_log('Calc('.$sDonnee.') rY='.$rY,'hydraulic');
    112112            $this->rY = $rY;
    113113            // On efface toutes les données calculées pour forcer le calcul
     
    172172                    $this->arCalc[$sDonnee] = $this->CalcTau0();
    173173                    break;
     174                case 'Yg' : // Distance du centre de gravité de la section à la surface libre
     175                    $this->arCalc[$sDonnee] = $this->CalcYg();
     176                    break;
     177                case 'Imp' : // Impulsion hydraulique
     178                    $this->arCalc[$sDonnee] = $this->CalcImp();
     179                    break;
     180                case 'Alpha' : // Angle Alpha de la surface libre par rapport au fond pour les sections circulaires
     181                    $this->arCalc[$sDonnee] = $this->CalcAlpha();
     182                    break;
     183                case 'dAlpha' : // Dérivée de l'angle Alpha de la surface libre par rapport au fond pour les sections circulaires
     184                    $this->arCalc[$sDonnee] = $this->CalcAlphaDer();
     185                    break;
    174186            }
    175187        }
    176         //~ spip_log('Calc('.$sDonnee.')='.$this->arCalc[$sDonnee],'hydraulic');
     188        spip_log('Calc('.$sDonnee.')='.$this->arCalc[$sDonnee],'hydraulic');
    177189        return $this->arCalc[$sDonnee];
    178190    }
     
    180192    /**
    181193     * Calcul de la surface hydraulique.
    182      * Le résultat doit être stocké dans $this->rS
    183194     * @return La surface hydraulique
    184195     */
     
    208219    */
    209220    protected function CalcR() {
    210         return $this->Calc('S')/$this->Calc('P');
     221        if($this->Calc('P')!=0) {
     222            return $this->Calc('S')/$this->Calc('P');
     223        }
     224        else {
     225            return INF;
     226        }
    211227    }
    212228
     
    216232     */
    217233    protected function CalcRder() {
    218         return ($this->Calc('dS')*$this->Calc('P')-$this->Calc('S')*$this->Calc('dP'))/pow($this->Calc('P'),2);
     234        if($this->Calc('P')!=0) {
     235            return ($this->Calc('dS')*$this->Calc('P')-$this->Calc('S')*$this->Calc('dP'))/pow($this->Calc('P'),2);
     236        }
     237        else {
     238            return 0;
     239        }
    219240    }
    220241
     
    334355        return 1000 * $oP->rG * $this->Calc('R') * $oP->rIf;
    335356    }
     357
     358    /**
     359     * Calcul de la distance du centre de gravité de la section à la surface libre.
     360     * @return Distance du centre de gravité de la section à la surface libre
     361     */
     362    abstract protected function CalcYg();
     363
     364    /**
     365     * Calcul de l'impulsion hydraulique.
     366     * @return Impulsion hydraulique
     367     */
     368    protected function CalcImp() {
     369        return 1000 * ($oP->rQ * $this->Calc('V') + $oP->rG * $this->Calc('S') * $this->Calc('Yg'));
     370    }
     371
     372    /**
     373     * Calcul de l'angle Alpha entre la surface libre et le fond pour les sections circulaires.
     374     * @return Angle Alpha pour une section circulaire, 0 sinon.
     375     */
     376    protected function CalcAlpha(){
     377        return 0;
     378    }
     379
     380    /**
     381     * Calcul de la dérivée de l'angle Alpha entre la surface libre et le fond pour les sections circulaires.
     382     * @return Dérivée de l'angle Alpha pour une section circulaire, 0 sinon.
     383     */
     384    protected function CalcAlphaDer(){
     385        return 0;
     386    }
     387
    336388}
    337389
    338 
    339 /**
    340  * Calculs de la section trapézoïdale
    341  */
    342 class cSnTrapeze extends acSection {
    343    public $rLargeurFond;    /// Largeur au fond
    344    public $rFruit;          /// Fruit des berges
    345 
    346 
    347     function __construct($oP,$rLargeurFond, $rFruit) {
    348         $this->rLargeurFond=(real) $rLargeurFond;
    349         $this->rFruit=(real) $rFruit;
    350         parent::__construct($oP);
    351     }
    352 
    353     protected function CalcB() {
    354         return $this->rLargeurFond+2*$this->rFruit*$this->rY;
    355     }
    356 
    357     protected function CalcP() {
    358         return $this->rLargeurFond+2*sqrt(1+pow($this->rFruit,2))*$this->rY;
    359     }
    360 
    361     protected function CalcS() {
    362         return $this->rY*($this->rLargeurFond+$this->rFruit*$this->rY);
    363     }
    364 
    365     /**
    366      * Calcul de dérivée de la surface hydraulique par rapport au tirant d'eau.
    367      * @return dS
    368      */
    369     protected function CalcSder() {
    370         return $this->rLargeurFond + 2*$this->rFruit*$this->rY;
    371     }
    372 
    373     /**
    374      * Calcul de dérivée du périmètre hydraulique par rapport au tirant d'eau.
    375      * @return dP
    376      */
    377     protected function CalcPder() {
    378         return 2*sqrt(1+$this->rFruit*$this->rFruit);
    379     }
    380 
    381     /**
    382      * Calcul de dérivée de la largeur au miroir par rapport au tirant d'eau.
    383      * @return dB
    384      */
    385     protected function CalcBder() {
    386         return 2*$this->rLargeurFond*$this->rFruit;
    387     }
    388 }
    389 
    390 /**
    391  * Calculs de la section rectangulaire
    392  */
    393 class cSnRectangulaire extends acSection {
    394    public $rLargeurFond; /// largeur au fond
    395 
    396     function __construct($oP,$rLargeurFond) {
    397         $this->rLargeurFond=(real) $rLargeurFond;
    398         parent::__construct($oP);
    399     }
    400 
    401     protected function CalcB() {
    402         return $this->rLargeurFond;
    403     }
    404 
    405     protected function CalcP() {
    406         return $this->rLargeurFond+2*$this->rY;
    407     }
    408 
    409     protected function CalcS() {
    410         return $this->rY*$this->rLargeurFond;
    411     }
    412 
    413     /**
    414      * Calcul de dérivée de la surface hydraulique par rapport au tirant d'eau.
    415      * @return dS
    416      */
    417     protected function CalcSder() {
    418         return $this->rLargeurFond;
    419     }
    420 
    421     /**
    422      * Calcul de dérivée du périmètre hydraulique par rapport au tirant d'eau.
    423      * @return dP
    424      */
    425     protected function CalcPder() {
    426         return 2;
    427     }
    428 
    429     /**
    430      * Calcul de dérivée de la largeur au miroir par rapport au tirant d'eau.
    431      * @return dB
    432      */
    433     protected function CalcBder() {
    434         return 0;
    435     }
    436 }
    437390
    438391/**
  • _plugins_/hydraulic/branches/v0.3/lang/hydraulic_en.php

    r59311 r59347  
    1 <?php
     1<?php
    22// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    33$GLOBALS[$GLOBALS['idx_lang']] = array(
     
    55    'abscisse'        => "Abscissa",
    66    'arret_calcul'    => "Calculation stopped: Critical elevation reached at abscissa",
    7         'acier_lamine'    => "Acier laminé - Béton lisse",
     7    'acier_lamine'    => "Rolled steel - Smooth concrete",
    88    // C
    99    'calcul_caract'   => "The calculation has the following characteristics:",
     
    1515    'calcul_fluvial'  => "Downstream boundary condition >= Critical elevation : calculation of subcritical part from downstream",
    1616    'calcul_torrentiel'=> "Uptream boundary condition <= Critical elevation : calculation of supercritical part from upstream",
    17     'champ_obligatoire'=> "This field is required",
     17    'champ_obligatoire'=> 'This field is required',
    1818    'choix_materiau'  => "Choice of material",
    19     'caract_lechapt_calmon' => "Attributes",
    20     'calculer_lechapt_calmon' => "Calculate Lechapt and Calmon",
    21     'calcul_val'      => "Calculate value",
    22     'choix_section'   => "Choice of the section",
     19    'caract_lechapt_calmon' => "Characteristics",
     20    'calculer_lechapt_calmon' => "Calculation with Lechapt and Calmon formula",
     21    'calcul_val'      => "Value to calculate",
     22    'choix_section'   => "Choice of section",
    2323    // D
    2424    'debit_amont'     => "Upstream flow (m3/s)",
    2525    'def_section_trap'=> "Definition of trapezoidal section",
    26     'def_section_rect'=> "Definition of rectangular section",
    27     'def_section_circ'=> "Definition of circular section",
    28     'def_section_puis'=> "Definition of power section",
    29     // F
     26        'diametre'                => "Diameter (m)",
     27     // F
    3028    'fond'            => "Bottom",
    3129    'fruit'           => "Slope (m/m)",
    32         'fixer_val'       => "Fixer valeur",
    33     'fonte_beton_corrosive' =>"Fonte ou acier non revêtus - Béton grossier (eau corrosive)",
    34     'fonte_beton_ncorrosive' =>"Fonte ou acier non revêtus - Béton grossier (eau peu corrosive)",
    35     'fonte_revt_ciment' => "Fonte ou acier revêtement ciment",
    36     'fonte_revt_bitume' => "Fonte ou acier revêtement bitume - Béton centrifugé",
    37     'fonte_revt_centrifuge' => "Fonte ou acier revêtement centrifugé",
     30    'fixer_val'       => "Fixed parameter",
     31    'fonte_beton_corrosive' =>"Unlined cast iron - Coarse concrete (corrosive water)",
     32'fonte_beton_ncorrosive' => "Cast steel or uncoated - Concrete coarse (somewhat corrosive water)",
     33    'fonte_revt_ciment' => "Cast steel or cement coating",
     34    'fonte_revt_bitume' => "Cast iron or steel coating bitumen - Concrete centrifuged",
     35    'fonte_revt_centrifuge' => "Cast iron or steel coating centrifuged",
    3836    // H
    3937    'h_amont_imposee' => "Water level imposed at the upstream (m)",
     
    5452    'pente_fond'      => "Bottom slope (m/m)",
    5553    'precision_calc'  => "Accuracy of calculation and display of dimensions (m)",
    56     'pas_calcul_depuis_aval' => "Downstream boundary condition < Critical elevation : no possible calculation from downstream",
    57     'pas_calcul_depuis_amont' => "Upstream boundary condition < Critical elevation : no possible calculation from upstream",
    58         'pas_var'         => "Pas de variation de",
    59     'pvc'             => "PVC - Polyéthylène",
    60     'param_Q'         => "Q: Débit (m³/s)",
    61     'param_D'         => "D: Diamètre du tuyau (m)",
    62     'param_J'         => "J: Perte de charge (m)",
    63     'param_Lg'        => "Lg: Longueur du tuyau (m)",
    64     'precision_lechapt_calmon'  => "Précision de calcul(m)",   
    65         //S
    66     'saisie_erreur'   => "Your entry contains errors!",
     54    'pas_calcul_depuis_aval' => 'Downstream boundary condition < Critical elevation : no possible calculation from downstream',
     55    'pas_calcul_depuis_amont' => 'Upstream boundary condition < Critical elevation : no possible calculation from upstream',
     56        'pas_var' => "With a variation step of",
     57    'pvc' => "PVC - Polyethylene",
     58    'param_Q' => "Q: Flow (m³ / s)",
     59    'param_D' => "D: Pipe diameter (m)",
     60    'param_J' => "J: Head drop (m)",
     61    'param_Lg' => "Lg: Pipe length (m)",
     62    'param_calc_lechapt_calmon' => "Calculation parameters",
     63    'precision_lechapt_calmon' => "Display accuracy (m)",
     64    //S
     65    'saisie_erreur'   => 'Your entry contains errors!',
    6766    'section_trap'    => "Trapezoidal Section",
    6867    'section_rect'    => "Rectangular Section",
     
    7069    'section_puiss'   => "Power Section",
    7170    //T
    72     'tirant_eau'      => "Draft (m)",
    73     'type_materiau'   => "Material type",
    74     'tuyau_lisse1'    => "Tuyau hydrauliquement lisse - 0.05 ≤ D ≤ 0.2",
    75     'tuyau_lisse2'    => "Tuyau hydrauliquement lisse - 0.25 ≤ D ≤ 1",
    76     'type_section'    => "Section type",
     71    'tirant_eau'         => 'Draft (m)',
     72    'type_materiau' => "Type of material",
     73    'tuyau_lisse1' => "hydraulically smooth pipe - 0.05 ≤ D ≤ 0.2 ",
     74    'tuyau_lisse2' => "hydraulically smooth pipe - 0.25 ≤ D ≤ 1 ",
     75    'type_section' => "Type of section",
    7776    //V
    7877    'valeur_positive' => "This value must be strictly positive",
    79     'val_min'         => "Minimum value of",
    80     'val_max'         => "Maximum value of",
    81     'varier_val'      => "Varier valeur"
     78    'val_min' => "From minimum value",
     79    'val_max' => "To maximum value",
     80    'varier_val' => "Parameter to vary "
    8281);
    8382
  • _plugins_/hydraulic/branches/v0.3/lang/hydraulic_fr.php

    r59311 r59347  
    1818    'choix_materiau'  => "Choix du matériau",
    1919    'caract_lechapt_calmon' => "Caractéristiques",
    20     'calculer_lechapt_calmon' => "Calcul de Lechapt et Calmon",
    21     'calcul_val'      => "Calculer valeur",
     20    'calculer_lechapt_calmon' => "Calcul avec la formule de Lechapt et Calmon",
     21    'calcul_val'      => "Paramètre à calculer",
    2222    'choix_section'   => "Choix de la section",
    2323    // D
     
    2727    'def_section_circ'=> "Définition de la section circulaire",
    2828    'def_section_puis'=> "Définition de la section puissance",
     29        'diametre'                => "Diamètre (m)",
    2930    // F
    3031    'fond'            => "Fond",
    3132    'fruit'           => "Fruit (m/m)",
    32     'fixer_val'       => "Fixer valeur",
     33    'fixer_val'       => "Paramètre fixé",
    3334    'fonte_beton_corrosive' =>"Fonte ou acier non revêtus - Béton grossier (eau corrosive)",
    3435    'fonte_beton_ncorrosive' =>"Fonte ou acier non revêtus - Béton grossier (eau peu corrosive)",
     
    5657    'pas_calcul_depuis_aval' => "Condition limite aval < Hauteur critique : pas de calcul possible depuis l'aval",
    5758    'pas_calcul_depuis_amont' => "Condition limite amont > Hauteur critique : pas de calcul possible depuis l'amont",
    58     'pas_var'         => "Pas de variation de",
     59    'pas_var'         => "Avec un pas de variation de",
    5960    'pvc'             => "PVC - Polyéthylène",
    6061    'param_Q'         => "Q: Débit (m³/s)",
     
    6970    'section_circ'    => "Section Circulaire",
    7071    'section_puiss'   => "Section Puissance",
    71 
    7272    //T
    7373    'tirant_eau'      => "Tirant d'eau (m)",
     
    7878    //V
    7979    'valeur_positive' => "Cette valeur doit être strictement positive",
    80     'val_min'         => "Valeur minimum de",
    81     'val_max'         => "Valeur maximum de",
    82     'varier_val'      => "Varier valeur"
     80    'val_min'         => "De la Valeur minimum",
     81    'val_max'         => "A la Valeur maximum",
     82    'varier_val'      => "Paramètre à varier"
    8383);
    8484
  • _plugins_/hydraulic/branches/v0.3/plugin.xml

    r59103 r59347  
    11<plugin>
    2         <nom><multi>
    3         [fr]Calculette d'hydraulique
    4         [en]Calculator for hydraulic</multi></nom>
    5         <auteur>David Dorchies</auteur>
    6         <licence>GNU/GLP</licence>
    7         <version>0.3.0-alpha</version>
    8         <necessite id="lib:dist" src="https://bitbucket.org/cleonello/jqplot/downloads/jquery.jqplot.1.0.0b2_r1012.zip" />
    9         <slogan>
    10                 <multi>[fr]Des calculs d'hydraulique sous SPIP !
    11                 [en]Hydraulic calculations on SPIP !</multi>
    12         </slogan>
    13         <description>
    14         <multi>
     2    <nom><multi>
     3    [fr]Calculette d'hydraulique
     4    [en]Calculator for hydraulic</multi></nom>
     5    <auteur>David Dorchies, Médéric Dulondel</auteur>
     6    <licence>GNU/GLP</licence>
     7    <version>0.4.0</version>
     8    <necessite id="lib:dist" src="https://bitbucket.org/cleonello/jqplot/downloads/jquery.jqplot.1.0.0b2_r1012.zip" />
     9    <slogan>
     10        <multi>[fr]Des calculs d'hydraulique sous SPIP !
     11        [en]Hydraulic calculations on SPIP !</multi>
     12    </slogan>
     13    <description>
     14    <multi>
    1515[fr]Calculatrice permettant d'effectuer des calculs en hydraulique adapt&#233;s aux canaux et cours d'eau. Le plugin se pr&#233;sente
    16 sous la forme de mod&#232;les &#224; ins&#233;rer dans des articles, rubriques ou squelettes.
     16sous la forme de formulaires &#224; ins&#233;rer dans des articles, rubriques ou squelettes.
    1717
    18 Les modules de calcul disponibles sont :
    19 -*&lt;hyd|courberemous&gt; : Calcul d'une courbe de remous dans un canal trap&#233;zoïdal &#224; surface libre
     18Les formulaires de calcul disponibles sont :
     19-*&lt;formulaire|courbe_remous&gt; : Calcul d'une courbe de remous dans un canal à section paramétrée &#224; surface libre
     20-*&lt;formulaire|lechapt_calmon&gt; : Calculs pour une conduite circulaire en charge avec la formule de Lechapt et Calmon
    2021[en]Calculator for performing calculations in hydraulic adapted to canals and rivers. The plugin comes
    21 as models to be inserted into articles, sections or skeletons.
     22as forms to be inserted into articles, sections or skeletons.
    2223
    23 Calculation modules available:
    24 -* &lt;hyd|courberemous&gt; : Calculation of a backwater curve in a trapezoidal channel with free surface
    25         </multi>
    26         </description>
    27         <icon>logo32.png</icon>
    28         <categorie>divers</categorie>
    29         <lien>http://sic.g-eau.net/spip.php?rubrique80</lien>
    30         <necessite id="SPIP" version="[2.0.10;2.1.99]" />
    31         <etat>dev</etat>
    32         <prefix>hydraulic</prefix>
    33         <fonctions>hydraulic_traductions.php</fonctions>
    34         <pipeline>
    35                 <nom>insert_head</nom>
    36                 <inclure>hydraulic_pipelines.php</inclure>
    37         </pipeline>
     24Calculation forms available:
     25-* &lt;hyd|courberemous&gt; : Calculation of a backwater curve in a parametrized section channel with free surface
     26-* &lt;hyd|courberemous&gt; : Calculations on hydraulic head for a circular pipe with Lechapt and Calmon formula
     27    </multi>
     28    </description>
     29    <icon>logo32.png</icon>
     30    <categorie>divers</categorie>
     31    <lien>http://sic.g-eau.net/spip.php?rubrique80</lien>
     32    <necessite id="SPIP" version="[2.1.0;2.1.99]" />
     33    <etat>dev</etat>
     34    <prefix>hydraulic</prefix>
     35    <fonctions>hydraulic_traductions.php</fonctions>
     36    <pipeline>
     37        <nom>insert_head</nom>
     38        <inclure>hydraulic_pipelines.php</inclure>
     39    </pipeline>
    3840</plugin>
Note: See TracChangeset for help on using the changeset viewer.