Télécharger pas_etat.procedur

Retour à la liste

Numérotation des lignes :

  1. * PAS_ETAT PROCEDUR SP204843 26/04/14 21:15:02 12512
  2. 'DEBPROC' PAS_ETAT PRECED*'TABLE' TI*'FLOTTANT' MOREF/'MOT' ;
  3. ************************************************************************
  4. * Cette procedure cree un MCHAML qui contient l'ETAT au sens
  5. * THERMODYNAMIQUE à un instant donne (TI)
  6. *
  7. * MOREF : MOT optionnel egal a 'T_REFERENCE' pour renvoyer la
  8. * temperature de reference (TREF) et pas la temperature
  9. * courante parmi les variables d'etat.
  10. *
  11. * Partie 1 : Interpolation entre le debut du PAS (CONTINUATION)
  12. * et la fin du PAS (ESTIMATION )
  13. * Partie 2 : Tire dans le CHARGEMENT
  14. * on interpole entre le dernier pas (dans la table estimation)
  15. * et les dernieres valeurs convergees (dans continuation).
  16. *
  17. ************************************************************************
  18. WTAB = PRECED. 'WTABLE';
  19.  
  20. CONTI = PRECED.'CONTINUATION';
  21. ESTIM = PRECED.'ESTIMATION' ;
  22. NCONT ='DIME' CONTI ;
  23.  
  24. IND ='INDE' CONTI ;
  25. TDEB = CONTI.'TEMPS' ;
  26. TFIN = ESTIM.'TEMPS' ;
  27. IAD = FAUX ;
  28. IAC = FAUX ;
  29. IREF = 'EGA' MOREF 'T_REFERENCE' ;
  30.  
  31. 'SI' ( 'NEG' TFIN TDEB) ;
  32. XPRO = (TI '-' TDEB) '/' (TFIN '-' TDEB) ;
  33. UNXPRO= 1.D0 '-' XPRO ;
  34. IAD = ('ABS' UNXPRO) '>' ('VALE' 'PREC') ;
  35. IAC = ('ABS' XPRO ) '>' ('VALE' 'PREC') ;
  36. 'FINS' ;
  37.  
  38. * Evaluation de l'ETAT courant
  39. ETAT1 = 'VIDE' 'MCHAML' ;
  40. 'REPE' BOU NCONT;
  41. MO = 'MOT' IND. &BOU ;
  42. * pas decide si grave d'avoir les reactions !!!! ni les temperatures ni les
  43. 'SI' ( 'EGA' MO 'GEOFIN') ; 'ITER' BOU;'FINSI';
  44. 'SI' ( 'EGA' MO 'GEODEB') ; 'ITER' BOU;'FINSI';
  45. 'SI' ( 'EGA' MO 'REACTIONS') ; 'ITER' BOU;'FINSI';
  46. 'SI' ( 'EGA' MO 'DEFORMATIONS_INELASTIQUES'); 'ITER' BOU;'FINSI';
  47. 'SI' ( 'EGA' MO 'DEFORMATIONS') ; 'ITER' BOU;'FINSI';
  48. 'SI' ( 'EGA' MO 'VITESSES') ; 'ITER' BOU;'FINSI';
  49. * 'SI' ( 'EGA' MO 'CARA_ACTU') ; 'ITER' BOU;'FINSI';
  50. 'SI' ( 'EGA' MO 'PROPORTIONS_PHASES') ; 'ITER' BOU;'FINSI';
  51. 'SI' ( 'EGA' MO 'PROPORTIONS_PHASE ') ; 'ITER' BOU;'FINSI';
  52.  
  53. TYPMO = 'TYPE' CONTI.MO ;
  54.  
  55. 'SI' (('NEG' TYPMO 'ENTIER') 'ET' ('NEG' TYPMO 'FLOTTANT') 'ET' ('NEG' TYPMO 'MCHAML') 'ET' ('NEG' TYPMO 'CHPOINT'));
  56. * On ne traite que les types qui nous plaisent :)
  57. 'ITER' BOU ;
  58. 'FINS';
  59.  
  60. 'SI' IAD;
  61. 'SI' IAC ;
  62. VAD =(CONTI.MO '*' UNXPRO) '+' (ESTIM.MO '*' XPRO) ;
  63. 'SINO';
  64. VAD = CONTI.MO;
  65. 'FINS';
  66. 'SINON' ;
  67. VAD = ESTIM. MO;
  68. 'FINSI';
  69.  
  70. 'SI' (( 'EGA' ( 'TYPE' VAD) ('MOT' 'FLOTTANT')) 'OU'
  71. ( 'EGA' ( 'TYPE' VAD) ('MOT' 'ENTIER' )));
  72. ETAT1 = ETAT1 'ADET' WTAB. 'MODELE' MO VAD ;
  73. 'SINON';
  74. 'SI' ( 'EGA' ( 'TYPE' VAD) ('MOT' 'MCHAML'));
  75. ETAT1= 'ADET' ETAT1 WTAB.'MODELE' (REDU VAD WTAB.'MODELE');
  76. 'SINON';
  77. ETAT1= 'ADET' ETAT1 WTAB.'MODELE' VAD ;
  78. 'FINSI';
  79. 'FINS';
  80. 'FIN' BOU;
  81.  
  82. * -------------------------------------------------------------------
  83. * Debut Calcul de l etat pour le Tracking dans le cas du modele PBFEM
  84. * -------------------------------------------------------------------
  85. * Switch selon la methode de tracking si existence de PBFEM avec option Tracking active
  86. 'SI' ('EXIS' wtab.'MODELE' 'MATE' 'EFEM');
  87. 'SI' ('EXIS' PRECED 'TRACKING');
  88. 'SI' (PRECED.'TRACKING');
  89. * Cas du tracking global (Oliver, 2002) - determination de l etat
  90. 'SI' ('EGA' PRECED.'TYP_TRAC' 'fixed_HC');
  91. MCH_TRA = FIXHC PRECED;
  92.  
  93. 'SINON';
  94. * Cas du tracking global - diffusion-convection isotrope - determination de l et
  95. 'SI' ('EGA' PRECED.'TYP_TRAC' 'variable_HC');
  96. MCH_TRA = VARIHC PRECED;
  97.  
  98. 'SINON';
  99. * Cas du tracking global - diffusion-convection anisotrope - determination de l
  100. 'SI' ('EGA' PRECED.'TYP_TRAC' 'variable_HCD_SU');
  101. MCH_TRA = VARIHCSU PRECED;
  102. 'FINSI';
  103. 'FINSI';
  104. 'FINSI';
  105.  
  106. * On rempli ETAT1 pour ensuite realiser l instanciation dans PAS_MATE
  107. ETAT1= 'ADET' ETAT1 WTAB.'MODELE' MCH_TRA;
  108. 'FINSI';
  109. 'FINSI';
  110. 'FINSI';
  111. * -----------------------------------------------------------------
  112. * Fin Calcul de l etat pour le Tracking dans le cas du modele PBFEM
  113. * -----------------------------------------------------------------
  114.  
  115. * Ajout de la température de reference :
  116. 'SI' IREF ;
  117. ETAT1 = 'ADET' ETAT1 WTAB.'MODELE' WTAB.'TEMPERATURE_REFERENCE' ;
  118. 'FINS' ;
  119.  
  120. * Ajout du CHARGEMENT au temps TI
  121. 'SI' ('EXIS' WTAB 'CHARGEMENT') ;
  122. CHAR1 = WTAB.'CHARGEMENT' ;
  123. 'SI' (IREF 'ET' ('EXIS' WTAB.'CHARGEMENT' 'T')) ;
  124. CHAR1 = CHAR1 'ENLE' 'T' ;
  125. 'FINS' ;
  126. ETAT1 ='ADET' ETAT1 WTAB.'MODELE' CHAR1 TI ;
  127. 'FINS' ;
  128.  
  129. *Verification qu'on dispose de toutes les composantes
  130. PAS_VERM PRECED ETAT1 ;
  131. *
  132. 'FINP' ETAT1;
  133.  
  134.  
  135.  

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