Télécharger pas_etat.procedur

Retour à la liste

Numérotation des lignes :

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

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