Télécharger exemple_parather.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : exemple_parather.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. *-----------------------------------------------------------------------
  6. *FRA Exemple simple d'utilisation de la procedure utilisateur PARATHER
  7. * Simulation axisymetrique d'une trempe sur un cylindre avec echange
  8. * convectif avec l'air ambient. La conductivite du tube est fonction
  9. * de la temperature T.
  10. *-----------------------------------------------------------------------
  11. *ENG Easy example for using the user procedure PARATHER
  12. * Axisymetric modelisation of a tube quenching with convective heat
  13. * exchange with ambient atmosphere. The tube heat conductivity is a
  14. * function of the temperature T.
  15. *-----------------------------------------------------------------------
  16. 'OPTION' 'ECHO' 1 ;
  17. OPTI DEBU 1;
  18.  
  19. * ***** ********************* *******************
  20. * * 1 * (FRA) Definitions generales - (ENG) General definitions
  21. * ***** ********************* *******************
  22.  
  23. 'OPTION' 'DIME' 2 'ELEM' QUA4 'MODE' AXIS ;
  24.  
  25. * (FRA) Definition du maillage - (ENG) Mesh definition
  26. * ---------------------- ---------------
  27. PD = 0. 0. ;
  28. PC = 0.1 0. ;
  29. PB = 0.1 0.02 ;
  30. PA = 0. 0.02 ;
  31. D1 = 'DROITE' 20 PD PC ;
  32. Tube = 'TRANSLATION' 1 D1 (0. 0.02) ;
  33.  
  34. D2 = 'COTE' 2 Tube ;
  35. D3 = 'COTE' 3 Tube ;
  36. D4 = 'COTE' 4 Tube ;
  37.  
  38. pt_TC2 = Tube 'POINT' 'PROC' (0.095 0.) ;
  39. pt_TC1 = Tube 'POINT' 'PROC' (0.05 0.) ;
  40. ** 'TRACER' Tube ;
  41.  
  42. * (FRA) Definition des modeles thermiques (conduction et convection)
  43. * (ENG) Thermic models definition (conduction and convective exchange)
  44. * --------------------------------------------------------------
  45. Mod_Tube = 'MODELISER' Tube 'THERMIQUE' 'ISOTROPE' ;
  46. Mod_Teco = 'MODELISER' D2 'THERMIQUE' 'CONVECTION' ;
  47. ModTot = Mod_Tube 'ET' Mod_Teco ;
  48.  
  49. * (FRA) Defintion du modele de convection
  50. * (ENG) Convective model definition
  51. * ---------------------------------
  52. Mat_Teco = 'MATERIAU' Mod_TECO 'H ' 1515. ;
  53.  
  54. * (FRA) Chargement convectif - Temperature constante de l'air ambient
  55. * (ENG) Convective loading - The temperature room is constant
  56. * -------------------------------------------------------------
  57. T_air = 25. ;
  58. EvTECO = 'EVOL' 'MANU' 'TEMPS' ('PROG' 0. 1.E+9)
  59. 'T' ('PROG' 1. 1.) ;
  60. ChpTECO = 'MANU' 'CHPO' D2 1 'T' T_air ;
  61. CharTECO = 'CHARGEMENT' 'TECO' ChpTECO EvTECO ;
  62.  
  63. * (FRA) Temperature initiale du tube uniforme
  64. * (ENG) The initial temperature of the tube is uniform
  65. * ----------------------------------------------
  66. T_ini = 800. ;
  67. ChpT0 = 'MANU' 'CHPO' Tube 1 'T ' T_ini ;
  68.  
  69. * (FRA) Instants calcules et sauves - (ENG) Calculated and saved times
  70. * --------------------------------------------------------------
  71. l_tcalc = 'PROG' 0. 'PAS' 10. 400. ;
  72. l_tsauv = 'PROG' 0. 10. 20. 30. 40. 50. 'PAS' 50. 400. ;
  73.  
  74. * ***** ******************************************
  75. * * 2 * (FRA) Calcul de reference - PASAPAS standard
  76. * * * (ENG) Reference calculus - standard PASAPAS call
  77. * ***** ******************************************
  78.  
  79. * (FRA) Defintion de la conductivite du tube (fonction de T)
  80. * (ENG) Conductivity tube definition (temperature function)
  81. * ----------------------------------------------------
  82. EvK = 'EVOL' 'MANU' 'T ' ('PROG' 0. 2000.) 'K ' ('PROG' 10. 30.) ;
  83. Mat_Tube = 'MATERIAU' Mod_Tube 'K ' EvK 'C ' 400. 'RHO ' 7800. ;
  84. MatTot = Mat_Tube 'ET' Mat_Teco ;
  85.  
  86. * (FRA) Appel a PASAPAS-TRANSNON - (ENG) PASAPAS-TRANSNON call
  87. * ------------------------ ---------------------
  88. ETAB1 = 'TABLE' ;
  89. ETAB1.'TEMPS_SAUVES' = l_tsauv ;
  90. ETAB1.'TEMPS_CALCULES' = l_tcalc ;
  91. ETAB1.'TEMPERATURES' = 'TABLE' ;
  92. ETAB1.'TEMPERATURES'. 0 = ChpT0 ;
  93. ETAB1.'MODELE' = ModTot ;
  94. ETAB1.'CARACTERISTIQUES' = MatTot ;
  95. ETAB1.'CHARGEMENT' = CharTECO ;
  96. ETAB1.'PROCEDURE_THERMIQUE' = 'MOT' 'NONLINEAIRE' ;
  97. ETAB1.'RELAXATION_THETA' = 1. ;
  98.  
  99. PASAPAS ETAB1 ;
  100.  
  101. * (FRA) Depouillement des resultats - (ENG) Results extraction
  102. * --------------------------- ------------------
  103. TEMP1_1 = 'PROG' ; TEMP2_1 = 'PROG' ;
  104. I = 0 ;
  105. 'REPETER' Boucle ('DIMENSION' ETAB1.'TEMPS') ;
  106. Tps = ETAB1.'TEMPS'.I ;
  107. T1 = 'EXTRAIRE' (ETAB1.'TEMPERATURES'.I) 'T ' pt_TC1 ;
  108. T2 = 'EXTRAIRE' (ETAB1.'TEMPERATURES'.I) 'T ' pt_TC2 ;
  109. TEMP1_1 = TEMP1_1 'ET' ('PROG' T1) ;
  110. TEMP2_1 = TEMP2_1 'ET' ('PROG' T2) ;
  111. I = I + 1 ;
  112. 'FIN' Boucle ;
  113.  
  114.  
  115. * ***** *******************************
  116. * * 3 * (FRA) Utilisation de PARATHER-PASAPAS
  117. * * * (ENG) Use of PARATHER-PASAPAS
  118. * ***** *******************************
  119.  
  120. * (FRA) Defintion de la conductivite du tube (fonction de TS)
  121. * (ENG) Conductivity tube definition (function of TS)
  122. * -----------------------------------------------------
  123. EvK = 'EVOL' 'MANU' 'TS ' ('PROG' 0. 2000.) 'K ' ('PROG' 10. 30.) ;
  124. Mat_Tube = 'MATERIAU' Mod_Tube 'K ' EvK 'C ' 400. 'RHO ' 7800. ;
  125. MatTot = Mat_Tube 'ET' Mat_Teco ;
  126.  
  127. * (FRA) Evolution du parametre externe 'TS ' (chargement mis a jour
  128. * dans PARATHER pour avoir, dans notre exemple, TS = T)
  129. * (ENG) Evolution of the external parameter 'TS ' (loading updated in
  130. * PARATHER in order to have T=TS in the actual example)
  131. * --------------------------------------------------------------
  132. EvTS = 'EVOL' 'MANU' 'TEMPS' ('PROG' 0. 1.E+9)
  133. 'TS ' ('PROG' T_ini T_ini) ;
  134. ChpTS = 'MANU' 'CHPO' D2 1 'TS ' 1. ;
  135. CharTS = 'CHARGEMENT' 'TS ' ChpTS EvTS ;
  136.  
  137. * (FRA) Definition de la procedure utilisateur PARATHER
  138. * (ENG) Definition of the user procedure PARATHER
  139. * -----------------------------------------------
  140. 'DEBPROC' PARATHER ;
  141. 'ARGUMENT' TABTHER*'TABLE' INST*'FLOTTANT' ;
  142. * (FRA) TABTHER est la table d'entree de PASAPAS
  143. * INST est l'instant courant de calcul
  144. * (ENG) TABTHER is the input table of the PASAPAS procedur
  145. * INST is the current calculation time
  146.  
  147. * (FRA) Le chargement doit etre mis a jour dans TABTHER.'WTABLE' !
  148. * (ENG) The loading must be updated in the TABTHER.'WTABLE' table !
  149. * (FRA) L'indice 'THER_COURANT' contient le champ de temperatures de
  150. * l'iteration courante. Le chargement est mis a jour pour avoir
  151. * TS = T sur le tube.
  152. * (ENG) The 'THER_COURANT' indice is containing the current iteration
  153. * temperature field. The loading is updated to have TS = T.
  154. WTABLE = TABTHER.'WTABLE' ;
  155. EvTS = 'EVOL' 'MANU' 'TEMPS' ('PROG' 0. 1.E+9) 'TS ' ('PROG' 1. 1.) ;
  156. ChpTS = 'NOMC' 'TS ' (WTABLE.'THER_COURANT') ;
  157. CharTS = 'CHARGEMENT' 'TS ' ChpTS EvTS ;
  158. WTABLE.'CHARGEMENT' = TABTHER.'CHARGEMENT_CONNU' 'ET' CharTS ;
  159. 'SI' ('>EG' ('VALEUR' 'ECHO') 1) ;
  160. 'MESS' 'PARATHER : t = ' INST ' - max.TS = ' ('MAXIMUM' ChpTS) ;
  161. 'FINSI' ;
  162.  
  163. 'FINPROC' ;
  164.  
  165. * (FRA) Appel a PASAPAS-TRANSNON - (ENG) PASAPAS-TRANSNON call
  166. * ------------------------ ---------------------
  167. ETAB2 = 'TABLE' ;
  168. ETAB2.'TEMPS_SAUVES' = l_tsauv ;
  169. ETAB2.'TEMPS_CALCULES' = l_tcalc ;
  170. ETAB2.'TEMPERATURES' = 'TABLE' ;
  171. ETAB2.'TEMPERATURES'. 0 = ChpT0 ;
  172. ETAB2.'MODELE' = ModTot ;
  173. ETAB2.'CARACTERISTIQUES' = MatTot ;
  174. ETAB2.'CHARGEMENT_CONNU' = CharTECO ;
  175. ETAB2.'CHPOINT_PARA_THER' = CH_TS ;
  176. ETAB2.'CHARGEMENT' = ETAB2.'CHARGEMENT_CONNU' 'ET' CharTS ;
  177. ETAB2.'PROCEDURE_PARA_THER' = VRAI ;
  178. ETAB2.'PROCEDURE_THERMIQUE' = 'MOT' 'NONLINEAIRE' ;
  179. ETAB2.'RELAXATION_THETA' = 1. ;
  180.  
  181. PASAPAS ETAB2 ;
  182.  
  183. * (FRA) Depouillement des resultats - (ENG) Results extraction
  184. * --------------------------- ------------------
  185. TEMP1_2 = 'PROG' ; TEMP2_2 = 'PROG' ;
  186. I = 0 ;
  187. 'REPETER' Boucle ('DIMENSION' ETAB2.'TEMPS') ;
  188. Tps = ETAB2.'TEMPS'.I ;
  189. T1 = 'EXTRAIRE' (ETAB2.'TEMPERATURES'.I) 'T ' pt_TC1 ;
  190. T2 = 'EXTRAIRE' (ETAB2.'TEMPERATURES'.I) 'T ' pt_TC2 ;
  191. TEMP1_2 = TEMP1_2 'ET' ('PROG' T1) ;
  192. TEMP2_2 = TEMP2_2 'ET' ('PROG' T2) ;
  193. I = I + 1 ;
  194. 'FIN' Boucle ;
  195.  
  196.  
  197. * ***** ******************************************
  198. * * 4 * (FRA) Comparaison des resultats - Tests d'erreur
  199. * * * (ENG) Results comparison - Error tests
  200. * ***** ******************************************
  201.  
  202. EcT_1 = 100. * ('MAXIMUM' ('ABS' (TEMP1_2 - TEMP1_1))) ;
  203. EcT_2 = 100. * ('MAXIMUM' ('ABS' (TEMP2_2 - TEMP2_1))) ;
  204.  
  205. 'MESS' ;
  206. 'MESS' 'Ecart Point 1 : ' EcT_1 ' %' ;
  207. 'MESS' 'Ecart Point 2 : ' EcT_2 ' %' ;
  208. 'MESS' ;
  209. *
  210. 'SI' (('>' EcT_1 1.E-3) 'OU' ('>' EcT_2 1.E-3)) ;
  211. 'ERREUR' 5 ;
  212. 'FINSI' ;
  213.  
  214. 'FIN' ;
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  

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