Télécharger pas_etat.procedur

Retour à la liste

Numérotation des lignes :

  1. * PAS_ETAT PROCEDUR MB234859 24/09/11 21:15:03 12008
  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. BOOL1 = FAUX;
  40. MO ='MOT' IND. &BOU ;
  41. * pas decide si grave d'avoir les reactions !!!! ni les temperatures ni les
  42. 'SI' ( 'EGA' MO 'GEOFIN') ; 'ITER' BOU;'FINSI';
  43. 'SI' ( 'EGA' MO 'GEODEB') ; 'ITER' BOU;'FINSI';
  44. 'SI' ( 'EGA' MO 'REACTIONS') ; 'ITER' BOU;'FINSI';
  45. 'SI' ( 'EGA' MO 'DEFORMATIONS_INELASTIQUES'); 'ITER' BOU;'FINSI';
  46. 'SI' ( 'EGA' MO 'DEFORMATIONS') ; 'ITER' BOU;'FINSI';
  47. 'SI' ( 'EGA' MO 'VITESSES') ; 'ITER' BOU;'FINSI';
  48. * 'SI' ( 'EGA' MO 'CARA_ACTU') ; 'ITER' BOU;'FINSI';
  49. 'SI' ( 'EGA' MO 'PROPORTIONS_PHASES') ; 'ITER' BOU;'FINSI';
  50. 'SI' ( 'EGA' MO 'PROPORTIONS_PHASE ') ; 'ITER' BOU;'FINSI';
  51.  
  52. TYPMO ='TYPE' CONTI.MO ;
  53.  
  54. 'SI' (('NEG' TYPMO 'ENTIER') 'ET' ('NEG' TYPMO 'FLOTTANT') 'ET' ('NEG' TYPMO 'MCHAML') 'ET' ('NEG' TYPMO 'CHPOINT'));
  55. * On ne traite que les types qui nous plaisent :)
  56. 'ITER' BOU ;
  57. 'FINS';
  58.  
  59. 'SI' (('EGA' MO 'TEMPERATURES') 'ET' ('EGA' MOREF ('MOT' 'REFERENCE')));
  60. * On utilise TEMPERATURE_REFERENCE au lieu de la TEMPERATURE
  61. VAD = WTAB.'TEMPERATURE_REFERENCE';
  62.  
  63. 'SINO';
  64. 'SI' IAD;
  65. 'SI' IAC ;
  66. VAD =(CONTI.MO '*' UNXPRO) '+' (ESTIM.MO '*' XPRO) ;
  67. 'SINO';
  68. VAD = CONTI.MO;
  69. 'FINS';
  70. 'SINON' ;
  71. VAD = ESTIM. MO;
  72. 'FINSI';
  73. 'FINS';
  74.  
  75. 'SI' (( 'EGA' ( 'TYPE' VAD) ('MOT' 'FLOTTANT')) 'OU'
  76. ( 'EGA' ( 'TYPE' VAD) ('MOT' 'ENTIER' )));
  77. BOOL1 = VRAI;
  78. 'FINSI';
  79.  
  80. 'SI' (BOOL1);
  81. ETAT1 = ETAT1 'ADET' WTAB. 'MODELE' MO VAD ;
  82. 'SINON';
  83. 'SI' ( 'EGA' ( 'TYPE' VAD) ('MOT' 'MCHAML'));
  84. ETAT1= 'ADET' ETAT1 WTAB.'MODELE' (REDU VAD WTAB.'MODELE');
  85. 'SINON';
  86. ETAT1= 'ADET' ETAT1 WTAB.'MODELE' VAD ;
  87. 'FINSI';
  88. 'FINS';
  89. 'FIN' BOU;
  90.  
  91. * -------------------------------------------------------------------
  92. * Debut Calcul de l etat pour le Tracking dans le cas du modele PBFEM
  93. * -------------------------------------------------------------------
  94. * Switch selon la methode de tracking si existence de PBFEM avec option Tracking active
  95. 'SI' ('EXIS' wtab.'MODELE' 'MATE' 'EFEM');
  96. 'SI' ('EXIS' PRECED 'TRACKING');
  97. 'SI' (PRECED.'TRACKING');
  98. * Cas du tracking global (Oliver, 2002) - determination de l etat
  99. 'SI' ('EGA' PRECED.'TYP_TRAC' 'fixed_HC');
  100. MCH_TRA = FIXHC PRECED;
  101.  
  102. 'SINON';
  103. * Cas du tracking global - diffusion-convection isotrope - determination de l et
  104. 'SI' ('EGA' PRECED.'TYP_TRAC' 'variable_HC');
  105. MCH_TRA = VARIHC PRECED;
  106.  
  107. 'SINON';
  108. * Cas du tracking global - diffusion-convection anisotrope - determination de l
  109. 'SI' ('EGA' PRECED.'TYP_TRAC' 'variable_HCD_SU');
  110. MCH_TRA = VARIHCSU PRECED;
  111. 'FINSI';
  112. 'FINSI';
  113. 'FINSI';
  114.  
  115. * On rempli ETAT1 pour ensuite realiser l instanciation dans PAS_MATE
  116. ETAT1= 'ADET' ETAT1 WTAB.'MODELE' MCH_TRA;
  117. 'FINSI';
  118. 'FINSI';
  119. 'FINSI';
  120. * -----------------------------------------------------------------
  121. * Fin Calcul de l etat pour le Tracking dans le cas du modele PBFEM
  122. * -----------------------------------------------------------------
  123.  
  124. * Ajout du CHARGEMENT au temps TI
  125. 'SI' ('EXIS' WTAB 'CHARGEMENT') ;
  126. ETAT1 ='ADET' ETAT1 WTAB.'MODELE' WTAB.'CHARGEMENT' TI ;
  127. 'FINS' ;
  128.  
  129. *Verification qu'on dispose de toutes les composantes ;
  130. PAS_VERM PRECED ETAT1 ;
  131. *
  132. * Verification que pas de materiau variable en automatique
  133. 'SI' (WTAB.'MATVAR' 'ET' WTAB.'AUTOMATIQUE') ;
  134. 'MESS' 'Option AUTMOATIQUE incompatible avec un materiau a propriete(s) variable(s)' ;
  135. 'ERREUR' 19 ;
  136. 'FINSI' ;
  137. *
  138. 'FINP' ETAT1;
  139.  
  140.  
  141.  

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