* PAS_MODL PROCEDUR MB234859 24/02/20 21:15:03 11843 * *----------------------- Objet de la procedure ------------------------* * * Initialise ou met a jour les indices relatifs aux modeles de * la table WTABLE de PASAPAS, ainsi que les caracteristiques * associees (MAT_...). * * Pour plus de details, voir la notice. * *--------------------------- Initialisations --------------------------* wtab = TPASA1.'WTABLE' ; * Modele global : mod0 = wtab.modele ; sino ; fins ; * Indice modele_courant : si (ega mod0 (wtab.modele_courant)) ; sino ; wtab.modele_courant = mod0 ; fins ; sino ; wtab.modele_courant = mod0 ; fins ; * Caracteristiques : mat0 = wtab.caracteristiques ; sino ; fins ; *mess '***** Appel a PAS_MODL ' ; *------------------------ Indices pour TRANSNON -----------------------* * Formulation THERMIQUE & THERMOHYDRIQUE : * FOR_THER = VRAI : on doit resoudre de la thermique/THM WTAB.'FOR_THER' = WTAB.'THE1' 'OU' WTAB.'THM1' ; 'SI' WTAB.'THE1' ; WTAB.'MOD_T' = WTAB.'MOD_THE' ; WTAB.'MAT_T' = WTAB.'MAT_THE' ; 'SI' WTAB.'THM1' ; WTAB.'MOD_T' = WTAB.'MOD_T' 'ET' WTAB.'MOD_THM' ; WTAB.'MAT_T' = WTAB.'MAT_T' 'ET' WTAB.'MAT_THM' ; 'FINSI' ; WTAB.'MOD_TOT' = WTAB.'MOD_T' ; WTAB.'MAT_TOT' = WTAB.'MAT_T' ; 'SI' WTAB.'CONVECTION' ; 'FINSI'; 'SI' WTAB.'RAYO' ; 'FINSI'; 'SI' WTAB.'CONDUCTION' ; 'FINSI'; 'SI' WTAB.'SOURCE_Q' ; 'FINSI'; 'SINON' ; 'SI' WTAB.'THM1' ; WTAB.'MOD_T' = WTAB.'MOD_THM' ; WTAB.'MAT_T' = WTAB.'MAT_THM' ; WTAB.'MOD_TOT' = WTAB.'MOD_T' ; WTAB.'MAT_TOT' = WTAB.'MAT_T' ; 'SI' WTAB.'CONVECTION' ; WTAB.'MOD_TOT' = WTAB.'MOD_TOT' 'ET' WTAB.'MOD_CON'; WTAB.'MAT_TOT' = WTAB.'MAT_TOT' 'ET' WTAB.'MAT_CON'; 'FINSI'; 'SI' WTAB.'RAYO' ; WTAB.'MOD_TOT' = WTAB.'MOD_TOT' 'ET' WTAB.'MOD_RAY'; WTAB.'MAT_TOT' = WTAB.'MAT_TOT' 'ET' WTAB.'MAT_RAY'; 'FINSI'; 'SI' WTAB.'CONVECTION' ; WTAB.'MOD_TOT' = WTAB.'MOD_TOT' 'ET' WTAB.'MOD_COND'; WTAB.'MAT_TOT' = WTAB.'MAT_TOT' 'ET' WTAB.'MAT_COND'; 'FINSI'; 'SI' WTAB.'SOURCE_Q' ; WTAB.'MOD_TOT' = WTAB.'MOD_TOT' 'ET' WTAB.'MOD_SOQ'; WTAB.'MAT_TOT' = WTAB.'MAT_TOT' 'ET' WTAB.'MAT_SOQ'; 'FINSI'; 'FINSI'; 'FINSI'; * Formulation DIFFUSION : * On ajoute la formulation diffusion a la thermique pour TRANSNON : 'SI' WTAB.'FOR_DIFF' ; 'SI' WTAB.'THE1' ; WTAB.'MOD_THE' = WTAB.'MOD_THE' 'ET' WTAB.'MOD_DIF' ; WTAB.'MAT_THE' = WTAB.'MAT_THE' 'ET' WTAB.'MAT_DIF' ; WTAB.'MOD_TOT' = WTAB.'MOD_TOT' 'ET' WTAB.'MOD_DIF' ; WTAB.'MAT_TOT' = WTAB.'MAT_TOT' 'ET' WTAB.'MAT_DIF' ; 'SINON' ; WTAB.'MOD_THE' = WTAB.'MOD_DIF' ; WTAB.'MAT_THE' = WTAB.'MAT_DIF' ; 'SI' WTAB.'THM1' ; WTAB.'MOD_TOT' = WTAB.'MOD_TOT' 'ET' WTAB.'MOD_DIF' ; WTAB.'MAT_TOT' = WTAB.'MAT_TOT' 'ET' WTAB.'MAT_DIF' ; 'SINON' ; WTAB.'MOD_TOT' = WTAB.'MOD_DIF' ; WTAB.'MAT_TOT' = WTAB.'MAT_DIF' ; 'FINSI' ; 'FINSI' ; 'FINSI' ; 'SI' WTAB.'ADVECTION' ; 'FINSI'; * Formulation Metallurgie (T.L. en juin 2018) : 'SI' WTAB.'FOR_METALLU' ; WTAB.'MOD_TOT' = WTAB.'MOD_TOT' 'ET' WTAB.'MOD_MET' ; WTAB.'MAT_TOT' = WTAB.'MAT_TOT' 'ET' WTAB.'MAT_MET' ; 'FINS'; * Formulation CHANGEMENT_PHASE (CB215821 2019) : WTAB.'PHASE' = FAUX ; WTAB.'SOLUBILITE' = FAUX ; * Cas 'SOLUBILITE' WTAB.'SOLUBILITE' = VRAI ; WTAB.'MOD_SOL' = MOSOL ; 'SINO'; * Cas 'PARFAIT' WTAB.'PHASE' = VRAI ; WTAB.'MOD_PHA' = MOPAR ; 'FINS'; WTAB.'MOD_THE' = WTAB.'MOD_THE' 'ET' MOPHA ; WTAB.'MAT_THE' = WTAB.'MAT_THE' 'ET' MAPHA ; 'SINO'; WTAB.'MOD_THE' = MOPHA ; WTAB.'MAT_THE' = MAPHA ; 'FINS'; WTAB.'MOD_TOT' = WTAB.'MOD_TOT' 'ET' MOPHA ; WTAB.'MAT_TOT' = WTAB.'MAT_TOT' 'ET' MAPHA ; 'FINSI'; *------------------------- Indices pour UNPAS -------------------------* * Formulation MECANIQUE : 'SI' WTAB.'MEC1' ; WTAB.'MOD_MEC' = MOPAL1 'ET' WTAB.'MOD_MEC' ; WTAB.'MAT_MEC' = MAPAL1 'ET' WTAB.'MAT_MEC' ; 'FINSI' ; 'FINSI' ; 'FINSI'; 'FINSI'; * Formulation CONTACT : 'SI' WTAB.'CONTACT' ; WTAB.'MATCONTA' = MATCONTA ; * A t-on la composante ADHE? 'FINSI' ; WTAB.'CAFROTTE' = WTAB.'FROCOUL' 'OU' WTAB.'FROCABL' ; 'FINSI'; * Formulation POREUX : 'SI' WTAB.'POR1' ; 'FINSI'; * Formulation CHARGEMENT : * A t-on un MATE associe? WTAB.'MAT_PRE' = MATZ ; 'FINSI' ; 'FINSI' ; 'FINSI' ; * Formulation LIAISON : 'FINSI' ; * Formulation NAVIER_STOKES 'SI' WTAB. 'NVSTNL' ; 'FINSI' ; * FOR_MECA = VRAI : on doit resoudre de la MECANIQUE WTAB . 'FOR_MECA' = (WTAB.'MEC1') 'OU' (WTAB.'POR1') 'OU' 'SI' (WTAB.'FOR_MECA') ; 'SI' (WTAB.'MEC1' 'ET' WTAB.'POR1') ; MO_TOT = WTAB.'MOD_MEC' 'ET' WTAB.'MOD_POR'; 'SINON'; 'SI' WTAB.'MEC1'; MO_TOT = WTAB.'MOD_MEC'; 'FINSI'; 'SI' WTAB.'POR1'; MO_TOT = WTAB.'MOD_POR'; 'FINSI'; 'FINSI'; 'SI' ('EXISTE' WTAB 'MOD_LIA') ; MO_TOT = MO_TOT 'ET' WTAB.'MOD_LIA'; 'FINSI' ; WTAB.'MO_TOT' = MO_TOT ; WTAB.'MOD_REF' = MO_TOT ; * Uniquement initialisation, sinon indice gere par UNPAS WTAB.'MO_TOT_PREC' = MO_TOT ; 'FINSI' ; * Non-LOCal : * On verifie que l'on a bien un seul type de formulation non locale 'SI' ((lognlmo 'ET' lognlsb) 'OU' (lognlsb 'ET' lognlhe) 'OU' (lognlhe 'ET' lognlmo)) ; 'ERREUR' 'On ne peut pas avoir deux formulations non locales differentes' ; 'FINSI' ; * Cas 'MOYE' 'SI' lognlmo ; 'FINSI' ; * Cas 'SB' 'SI' lognlsb ; 'FINSI' ; * Cas 'HELM' 'SI' lognlhe ; 'FINSI' ; 'SI' lognlsb ; MOD_SB = WTAB.'NLOC_MODL' ; 'TYPE' 'CARACTERISTIQUES' ; MALVIA = TAIL1 '+' FTCH ; 'FINSI' ; 'FINSI' ; 'FINSI' ; 'FINP' TPASA1 ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales