Télécharger pas_sauv.procedur

Retour à la liste

Numérotation des lignes :

  1. * PAS_SAUV PROCEDUR PASCAL 16/10/12 21:15:02 9124
  2. * SP DIFF :
  3. 'DEBPROC' PAS_SAUV PRECED*'TABLE' TT/'TABLE' TEMP0*'FLOTTANT'
  4. NSOR*'ENTIER' MEC1*'LOGIQUE' THE1*'LOGIQUE' DIF1*'LOGIQUE' ;
  5.  
  6. estim = PRECED.'ESTIMATION' ;
  7. WTAB = PRECED.'WTABLE';
  8. TABSAUV = WTAB.'TABSAUV';
  9. *############################################################
  10. * ne pas modifier avant cette ligne ( do not modified before this line)
  11. *############################################################
  12. * debut des conservations
  13. * Les grandeurs a sauver sont issues de la table 'ESTIMATION' mais
  14. * peuvent aussi etre recuperees (avec precaution) de la table TT de
  15. * sortie de la procedure UNPAS (mecanique)
  16. * ( Start storage
  17. * The fields to be saved come from the 'ESTIMATION' table but can
  18. * also be extracted (with care) from the TT table output of UNPAS
  19. * (mechanics) )
  20. *
  21. * conserve le temps ( store time)
  22. *
  23. PRECED.'TEMPS'.NSOR = TEMP0;
  24. *
  25. * en cas de mécanique ( in case of mechanics)
  26. *
  27. 'SI' MEC1 ;
  28. *
  29. * conserve les déplacements (store displacements)
  30. *
  31. PRECED.'DEPLACEMENTS'.NSOR = estim.'DEPLACEMENTS' ;
  32. *
  33. * conserve les vitesses ( store speeds)
  34. *
  35. 'SI' WTAB . 'DYNAMIQUE' ;
  36. PRECED.'VITESSES'.NSOR = estim.'VITESSES' ;
  37. PRECED.'ACCELERATIONS'.NSOR = estim.'ACCELERATIONS' ;
  38. 'FINSI';
  39. *
  40. * conserve les deformations totales (store total strains)
  41. *
  42. 'SI' TABSAUV.'DEFTO';
  43. PRECED.'DEFORMATIONS'.NSOR = estim.'DEFORMATIONS' ;
  44. 'FINSI';
  45. *
  46. * conserve les contraintes (store stresses)
  47. *
  48. PRECED.'CONTRAINTES'.NSOR = estim.'CONTRAINTES' ;
  49. *
  50. * conserve les réactions d'appuis, de contacts ..
  51. * ( store reactions from supports, from contact..)
  52. *
  53. PRECED.'REACTIONS'.NSOR = estim.'REACTIONS' ;
  54. *
  55. * en cas de materiau non lineaire (in case of non linear material
  56. *
  57. 'SI' WTAB.'IPLAVI';
  58. *
  59. * conserve variables internes ( store internal variables)
  60. *
  61. PRECED.'VARIABLES_INTERNES'.NSOR = estim.'VARIABLES_INTERNES' ;
  62. *
  63. * conserve deformations inelastiques (store inelastic strains)
  64. *
  65. 'SI' TABSAUV.'DEFIN';
  66. PRECED.'DEFORMATIONS_INELASTIQUES'.NSOR
  67. = estim.'DEFORMATIONS_INELASTIQUES' ;
  68. 'FINSI';
  69. 'FINSI';
  70. 'FINSI';
  71. * fin de la partie mecanique (end of mechanical part)
  72. *
  73. * en cas de calcul thermique (in case of thermal analysis)
  74. 'SI' THE1;
  75. PRECED.'TEMPERATURES'.NSOR = estim.'TEMPERATURES' ;
  76. PRECED.'REACTIONS_THERMIQUES'.NSOR = estim.'REACTIONS_THERMIQUES' ;
  77. 'SI' WTAB.'PHASE' ;
  78. PRECED.'PROPORTIONS_PHASE'.NSOR = estim.'PROPORTIONS_PHASE' ;
  79. 'FINSI';
  80. 'FINSI';
  81. * SP DIFF :
  82. 'SI' DIF1 ;
  83. PRECED.'CONCENTRATIONS'.NSOR = estim.'CONCENTRATIONS' ;
  84. PRECED.'REACTIONS_DIFFUSIONS'.NSOR = estim.'REACTIONS_DIFFUSIONS' ;
  85. 'FINS' ;
  86. *########### ne pas modifier apres cette ligne #############
  87.  
  88. *-----------------------------------------------------------------------
  89. *--- on se pose la question de la sauvegarde incrementale
  90. *--- et de la fantomisation (option economique)
  91. *-----------------------------------------------------------------------
  92. 'SI' WTAB.'ISAUVEGL';
  93. 'SI' ( TEMP0 'DANS' WTAB.'ISAUVEGA');
  94. EPOQ1 = DATE 'EPOCH';
  95. SI (NON (EXIS WTAB (MOT 'EPOQUE')));
  96. WTAB.'EPOQUE' = DATE 'EPOCH';
  97. FINS;
  98. 'SI' ((EGA TEMP0
  99. (EXTR WTAB.'ISAUVEGA' (DIME WTAB.'ISAUVEGA'))) OU
  100. ((EPOQ1 - WTAB.'EPOQUE') >EG 300.D0) OU
  101. ((WTAB.'EPOQUE' EGA 0.D0) ET (EPOQ1 EGA 0.D0)));
  102. * Sauvegarde : Dernier pas OU toutes les 60s OU si DATE marche pas
  103. 'SAUV' PRECED;
  104. WTAB.'EPOQUE' = DATE 'EPOCH';
  105. 'FINS';
  106. 'SI' WTAB.'LECONOMI';
  107. NFFSOR=NSOR - WTAB.'NFSOR' - 1;
  108. 'SI' ( NFFSOR > 0) ;
  109. 'REPETER' DETRES NFFSOR;
  110. NSORM2 = WTAB.'NFSOR' - 1 + &DETRES;
  111. 'SI' (NSORM2 '>EG' 0);
  112. 'SI' MEC1 ;
  113. 'FANTOM' (PRECED.'DEPLACEMENTS') NSORM2;
  114. 'FANTOM' (PRECED.'CONTRAINTES') NSORM2;
  115. 'FANTOM' (PRECED.'REACTIONS') NSORM2;
  116. 'SI' WTAB.'IPLAVI' ;
  117. 'FANTOM' (PRECED.'VARIABLES_INTERNES') NSORM2 ;
  118. 'SI' TABSAUV.'DEFIN';
  119. 'FANTOM' (PRECED.'DEFORMATIONS_INELASTIQUES') NSORM2;
  120. 'FINSI';
  121. 'SI' TABSAUV.'DEFTO';
  122. 'FANTOM' (PRECED.'DEFORMATIONS') NSORM2;
  123. 'FINSI';
  124. 'FINSI';
  125. 'SI' WTAB . 'DYNAMIQUE' ;
  126. 'FANTOM' (PRECED.'VITESSES') NSORM2 ;
  127. 'FANTOM' (PRECED.'ACCELERATIONS') NSORM2 ;
  128. 'FINSI';
  129. *
  130. * AM+TC 24/8/09 ON MET EN COMMENTAIRE LES 3 LIGNES QUI SUIVENT
  131. * 'SI' WTAB.'ITCAR';
  132. * 'FANTOM' PRECED.'CARA_ACTU' NSORM2 ;
  133. * 'FINSI';
  134. 'FINSI';
  135. 'SI' THE1 ;
  136. FANTOM (PRECED.'TEMPERATURES') NSORM2 ;
  137. 'SI' WTAB.'PHASE' ;
  138. 'FANTOM' (PRECED.'PROPORTIONS_PHASE') NSORM2;
  139. 'FINSI';
  140. 'FINSI';
  141. * SP DIFF :
  142. 'SI' DIF1 ;
  143. FANTOM (PRECED.'CONCENTRATIONS') NSORM2 ;
  144. 'FINS' ;
  145. 'FINSI';
  146. 'FIN' DETRES;
  147. WTAB.'NFSOR'= WTAB.'NFSOR' + NFFSOR ;
  148. 'FINSI';
  149. 'FINSI';
  150. 'FINSI';
  151. 'FINSI';
  152.  
  153. 'FINP';
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  

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