Télécharger pas_etat.procedur

Retour à la liste

Numérotation des lignes :

  1. * PAS_ETAT PROCEDUR BR232186 16/12/05 21:40:16 9238
  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. 'SI' (('EGA' MO 'TEMPERATURES') 'ET' (JETAT 'EGA' -1));
  79. * On utilise TEMPERATURE_REFERENCE au lieu de la TEMPERATURE
  80. VAD = WTAB.'TEMPERATURE_REFERENCE';
  81. MO = 'T' ;
  82.  
  83. 'SINO';
  84. 'SI' IAD;
  85. 'SI' IAC ;
  86. VAD =(CONTI.MO '*' UNXPRO) '+' (ESTIM.MO '*' XPRO) ;
  87. 'SINO';
  88. VAD = CONTI.MO;
  89. 'FINS';
  90. 'SINON' ;
  91. VAD = ESTIM. MO;
  92. 'FINSI';
  93. 'FINS';
  94.  
  95. 'SI' (( 'EGA' ( 'TYPE' VAD) ('MOT' 'FLOTTANT')) 'OU'
  96. ( 'EGA' ( 'TYPE' VAD) ('MOT' 'ENTIER' )));
  97. BOOL1 = VRAI;
  98. 'FINSI';
  99.  
  100. 'SI' (BOOL1);
  101. MCH = MCH 'ADET' WTAB. 'MO_TOTAL' MO VAD ;
  102. 'SINON';
  103. 'SI' ( 'EGA' ( 'TYPE' VAD) ('MOT' 'MCHAML'));
  104. MCH= 'ADET' MCH WTAB.'MO_TOTAL' (REDU VAD WTAB.'MO_TOTAL');
  105. 'SINON';
  106. MCH= 'ADET' MCH WTAB.'MO_TOTAL' VAD ;
  107. 'FINSI';
  108. 'FINS';
  109. 'FIN' BOU;
  110. * --------------------------------------------------------------
  111. * Debut Calcul de l etat pour le Tracking dans le cas du modele PBFEM
  112. * --------------------------------------------------------------
  113.  
  114. * Switch selon la methode de tracking si existence de PBFEM avec option
  115. * Tracking active
  116. 'SI' ('EXIS' PRECED.'MODELE' 'MATE' 'EFEM');
  117. 'SI' ('EXIS' PRECED 'TRACKING');
  118.  
  119. 'SI' (PRECED.'TRACKING');
  120.  
  121. * Cas du tracking global (Oliver, 2002) - determination de l etat
  122. 'SI' ('EGA' PRECED.'TYP_TRAC' 'fixed_HC');
  123. MCH_TRA = FIXHC PRECED;
  124. 'SINON';
  125.  
  126. * Cas du tracking global - diffusion-convection isotrope - determination de l et
  127. 'SI' ('EGA' PRECED.'TYP_TRAC' 'variable_HC');
  128. MCH_TRA = VARIHC PRECED;
  129. 'SINON';
  130.  
  131. * Cas du tracking global - diffusion-convection anisotrope - determination de l
  132. 'SI' ('EGA' PRECED.'TYP_TRAC' 'variable_HCD_SU');
  133. MCH_TRA = VARIHCSU PRECED;
  134. 'FINSI';
  135.  
  136. 'FINSI';
  137. 'FINSI';
  138.  
  139. * On rempli MCH pour ensuite realiser l instanciation dans PAS_MATE
  140. MCH= 'ADET' MCH WTAB.'MO_TOTAL' MCH_TRA;
  141. 'FINSI';
  142.  
  143. 'FINSI';
  144. 'FINSI';
  145.  
  146. * --------------------------------------------------------------
  147. * Fin Calcul de l etat pour le Tracking dans le cas du modele PBFEM
  148. * --------------------------------------------------------------
  149.  
  150. * Ajout du CHARGEMENT a la fin seulement sinon l'ETAT de REFERENCE est
  151. * calcule avec T issu du CHARGEMENT au lieu de T issu de TEMPERATURE_REFERENCE
  152. 'SI' ('EXIS' WTAB 'CHARGEMENT') ;
  153. MCH = 'ADET' MCH WTAB.'MO_TOTAL' WTAB.'CHARGEMENT' TI ;
  154. 'FINS' ;
  155.  
  156. PAS_VERM PRECED MCH ;
  157.  
  158. 'SI' (JETAT EGA 1) ;
  159. ETAT1 = MCH ;
  160. 'SINO' ;
  161. WTAB.'MOD_REF' = WTAB.'MO_TOT' ;
  162. WTAB.'ETAT_REF' = MCH ;
  163. WTAB.'MAT_REF' = PAS_MATE PRECED MCH ;
  164. WTAB.'ETAT_REF' ='MOT' 'SUPPRIME' ;
  165. 'FINS';
  166.  
  167. 'FIN' IETAT;
  168.  
  169. 'FINP' ETAT1;
  170.  
  171.  

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