Télécharger pas_sauv.procedur

Retour à la liste

Numérotation des lignes :

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

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