Télécharger pas_etat.procedur

Retour à la liste

Numérotation des lignes :

  1. * PAS_ETAT PROCEDUR CB215821 18/08/31 21:15:02 9902
  2. 'DEBPROC' PAS_ETAT PRECED*'TABLE' TI*'FLOTTANT' ;
  3. ************************************************************************
  4. * Cette procedure cree un MCHAML qui contient l'ETAT au sens
  5. * THERMODYNAMIQUE à un instant donne (TI)
  6. *
  7. * Partie 1 : Interpolation entre le debut du PAS (CONTINUATION)
  8. * et la fin du PAS (ESTIMATION )
  9. * Partie 2 : Tiree dans le CHARGEMENT
  10. * on interpole entre le dernier pas (dans la table estimation)
  11. * et les dernieres valeurs convergees (dans continuation).
  12. *
  13. * CB215821 : Pour simplifier PASAPAS, on calcule
  14. * - ETAT_REF : Etat a T=TEMPERATURE_REFERENCE (WTAB.'TEMPERATURE_REFERENCE')
  15. * - ETAT1 : Etat a T=Tmoyen (combinaison linaire (A*Tdebut_pas) + ((1-A)*T
  16. *
  17. ************************************************************************
  18. WTAB = PRECED. 'WTABLE';
  19.  
  20. CONTI = PRECED. 'CONTINUATION';
  21. ESTIM = PRECED. 'ESTIMATION' ;
  22. NCONT = 'DIME' CONTI ;
  23.  
  24. IND = 'INDEX' CONTI ;
  25. TDEB = CONTI.'TEMPS' ;
  26. TFIN = ESTIM.'TEMPS' ;
  27. IAD = FAUX ;
  28. IAC = FAUX ;
  29.  
  30. 'SI' ( 'NEG' TFIN TDEB) ;
  31. XPRO = (TI '-' TDEB) '/' (TFIN '-' TDEB) ;
  32. UNXPRO= 1.D0 '-' XPRO ;
  33. IAD = ('ABS' UNXPRO) '>' 1.D-15 ;
  34. IAC = ('ABS' XPRO ) '>' 1.D-15 ;
  35. 'FINS' ;
  36.  
  37. * Construction du LISTENTI des ETATS a traiter
  38. NBETAT = 0;
  39. LISTETAT = LECT;
  40. 'SI' WTAB.'FOR_MECA' ;
  41. 'SI' (WTAB.'CHAR_THE' 'OU' WTAB.'FOR_THER' );
  42. 'SI' (('EGA' WTAB.'ETAT_REF' ('MOT' 'INCONNU')) 'OU'
  43. ('NEG' WTAB.'MOD_REF' WTAB.'MO_TOT' ));
  44. LISTETAT = LISTETAT 'ET' -1 ;
  45. NBETAT = NBETAT '+' 1 ;
  46. * Tout les indices de REFERENCE sont remis a 'INCONNU'
  47. WTAB.'ETAT_REF' ='MOT' 'INCONNU' ;
  48. WTAB.'MAT_REF' ='MOT' 'INCONNU' ;
  49. WTAB.'ETREF' ='MOT' 'INCONNU' ;
  50. WTAB.'MOD_REF' ='MOT' 'INCONNU' ;
  51. 'FINS';
  52. 'FINS';
  53. 'FINS';
  54.  
  55. * Evaluation de l'ETAT courant
  56. LISTETAT = LISTETAT 'ET' 1 ;
  57. NBETAT = NBETAT '+' 1;
  58.  
  59. 'REPE' IETAT NBETAT;
  60. JETAT = 'EXTR' LISTETAT &IETAT;
  61. * CB215821: 21/07/2015
  62. * Utilisation d'un VIDE 'MCHAML' pour MCH au lieu de séparer
  63. * le cas du premier appel des autres.
  64. MCH = 'VIDE' 'MCHAML' ;
  65.  
  66. 'REPE' BOU NCONT;
  67. BOOL1 = FAUX;
  68. MO ='MOT' IND. &BOU ;
  69. * pas decide si grave d'avoir les reactions !!!! ni les temperatures ni les
  70. 'SI' ( 'EGA' MO 'GEOFIN') ; 'ITER' BOU;'FINSI';
  71. 'SI' ( 'EGA' MO 'GEODEB') ; 'ITER' BOU;'FINSI';
  72. 'SI' ( 'EGA' MO 'REACTIONS') ; 'ITER' BOU;'FINSI';
  73. 'SI' ( 'EGA' MO 'DEFORMATIONS_INELASTIQUES'); 'ITER' BOU;'FINSI';
  74. 'SI' ( 'EGA' MO 'DEFORMATIONS') ; 'ITER' BOU;'FINSI';
  75. 'SI' ( 'EGA' MO 'VITESSES') ; 'ITER' BOU;'FINSI';
  76. * 'SI' ( 'EGA' MO 'CARA_ACTU') ; 'ITER' BOU;'FINSI';
  77.  
  78. TYPMO ='TYPE' CONTI.MO ;
  79.  
  80. 'SI' (('NEG' TYPMO 'ENTIER') 'ET' ('NEG' TYPMO 'FLOTTANT') 'ET' ('NEG' TYPMO 'MCHAML') 'ET' ('NEG' TYPMO 'CHPOINT'));
  81. * On ne traite que les types qui nous plaisent :)
  82. 'ITER' BOU ;
  83. 'FINS';
  84.  
  85. 'SI' (('EGA' MO 'TEMPERATURES') 'ET' (JETAT 'EGA' -1));
  86. * On utilise TEMPERATURE_REFERENCE au lieu de la TEMPERATURE
  87. VAD = WTAB.'TEMPERATURE_REFERENCE';
  88. MO = 'T' ;
  89.  
  90. 'SINO';
  91. 'SI' IAD;
  92. 'SI' IAC ;
  93. VAD =(CONTI.MO '*' UNXPRO) '+' (ESTIM.MO '*' XPRO) ;
  94. 'SINO';
  95. VAD = CONTI.MO;
  96. 'FINS';
  97. 'SINON' ;
  98. VAD = ESTIM. MO;
  99. 'FINSI';
  100. 'FINS';
  101.  
  102.  
  103. 'SI' (( 'EGA' ( 'TYPE' VAD) ('MOT' 'FLOTTANT')) 'OU'
  104. ( 'EGA' ( 'TYPE' VAD) ('MOT' 'ENTIER' )));
  105. MCH = MCH 'ADET' WTAB. 'MO_TOTAL' MO VAD ;
  106. 'SINON';
  107. 'SI' ( 'EGA' ( 'TYPE' VAD) ('MOT' 'MCHAML'));
  108. MCH= 'ADET' MCH WTAB.'MO_TOTAL' (REDU VAD WTAB.'MO_TOTAL');
  109. 'SINON';
  110. MCH= 'ADET' MCH WTAB.'MO_TOTAL' VAD ;
  111. 'FINSI';
  112. 'FINS';
  113. 'FIN' BOU;
  114. * --------------------------------------------------------------
  115. * Debut Calcul de l etat pour le Tracking dans le cas du modele PBFEM
  116. * --------------------------------------------------------------
  117.  
  118. * Switch selon la methode de tracking si existence de PBFEM avec option
  119. * Tracking active
  120. 'SI' ('EXIS' PRECED.'MODELE' 'MATE' 'EFEM');
  121. 'SI' ('EXIS' PRECED 'TRACKING');
  122.  
  123. 'SI' (PRECED.'TRACKING');
  124.  
  125. * Cas du tracking global (Oliver, 2002) - determination de l etat
  126. 'SI' ('EGA' PRECED.'TYP_TRAC' 'fixed_HC');
  127. MCH_TRA = FIXHC PRECED;
  128. 'SINON';
  129.  
  130. * Cas du tracking global - diffusion-convection isotrope - determination de l et
  131. 'SI' ('EGA' PRECED.'TYP_TRAC' 'variable_HC');
  132. MCH_TRA = VARIHC PRECED;
  133. 'SINON';
  134.  
  135. * Cas du tracking global - diffusion-convection anisotrope - determination de l
  136. 'SI' ('EGA' PRECED.'TYP_TRAC' 'variable_HCD_SU');
  137. MCH_TRA = VARIHCSU PRECED;
  138. 'FINSI';
  139.  
  140. 'FINSI';
  141. 'FINSI';
  142.  
  143. * On rempli MCH pour ensuite realiser l instanciation dans PAS_MATE
  144. MCH= 'ADET' MCH WTAB.'MO_TOTAL' MCH_TRA;
  145. 'FINSI';
  146.  
  147. 'FINSI';
  148. 'FINSI';
  149.  
  150. * --------------------------------------------------------------
  151. * Fin Calcul de l etat pour le Tracking dans le cas du modele PBFEM
  152. * --------------------------------------------------------------
  153.  
  154. * Ajout du CHARGEMENT a la fin seulement sinon l'ETAT de REFERENCE est
  155. * calcule avec T issu du CHARGEMENT au lieu de T issu de TEMPERATURE_REFERENCE
  156. 'SI' ('EXIS' WTAB 'CHARGEMENT') ;
  157. MCH = 'ADET' MCH WTAB.'MO_TOTAL' WTAB.'CHARGEMENT' TI ;
  158. 'FINS' ;
  159.  
  160. PAS_VERM PRECED MCH ;
  161.  
  162. 'SI' (JETAT EGA 1) ;
  163. ETAT1 = MCH ;
  164. 'SINO' ;
  165. WTAB.'MOD_REF' = WTAB.'MO_TOT' ;
  166. WTAB.'ETAT_REF' = MCH ;
  167. WTAB.'MAT_REF' = PAS_MATE PRECED MCH ;
  168. WTAB.'ETAT_REF' ='MOT' 'SUPPRIME' ;
  169. 'FINS';
  170.  
  171. 'FIN' IETAT;
  172.  
  173. 'FINP' ETAT1;
  174.  
  175.  
  176.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales