Télécharger @gattpar.procedur

Retour à la liste

Numérotation des lignes :

  1. * @GATTPAR PROCEDUR JC220346 12/09/12 21:15:07 7501
  2. 'DEBP' @GATTPAR fichier*'MOT' ;
  3. *
  4. *
  5. 'OPTI' 'ACQUERIR' fichier ;
  6. *
  7. *-- DEBUT DE LECTURE PREMIERE PARTIE DU FICHIER de nom fichier
  8. *
  9. *-- IDEGE : degre du polynome Em(T) decrivant le module d'Young
  10. 'ACQU' BLABLA*'MOT' ;
  11. 'ACQU' IDEGE*'ENTIER' ;
  12. 'SI' ('<' IDEGE 0) ;
  13. 'MESS' 'ERREUR: le degre du polynome relatif au module d Young' ;
  14. 'MESS' 'est negatif !' ;
  15. 'QUIT' @GATTPAR ;
  16. 'FINS' ;
  17. *
  18. *-- LEE liste des coefficients du polynome relatif au module d'Young
  19. * du degre 0 au degre IDEGE
  20. LEE='PROG' ;
  21. 'REPE' BLOC (IDEGE+1) ;
  22. 'ACQU' EEI*'FLOTTANT' ;
  23. LEE = LEE 'ET' ('PROG' EEI) ;
  24. 'FIN' BLOC ;
  25. *
  26. *-- IDEGG : degre du polynome Gm(T) decrivant le module de cisaillement
  27. 'ACQU' BLABLA*'MOT' ;
  28. 'ACQU' IDEGG*'ENTIER' ;
  29. 'SI' ('<' IDEGG 0) ;
  30. 'MESS'
  31. 'ERREUR: le degre du polynome relatif au module de cisaillement' ;
  32. 'MESS' 'est negatif !' ;
  33. 'QUIT' @GATTPAR ;
  34. 'FINS' ;
  35. *
  36. *-- LGG liste des coefficients du polynome relatif au module de
  37. * cisaillement du degre 0 au degre IDEGG
  38. LGG='PROG' ;
  39. 'REPE' BLOC (IDEGG+1) ;
  40. 'ACQU' GGI*'FLOTTANT' ;
  41. LGG = LGG 'ET' ('PROG' GGI) ;
  42. 'FIN' BLOC ;
  43. *
  44. *-- IDEGAI : degre du polynome Alpham(T) decrivant
  45. *-- le coefficient de dilatation thermique pour T < Talpha
  46. 'ACQU' BLABLA*'MOT' ;
  47. 'ACQU' IDEGAI*'ENTIER' ;
  48. 'SI' ('<' IDEGAI 0) ;
  49. 'MESS'
  50. 'ERREUR: le degre du polynome relatif au coefficient de dilatation';
  51. 'MESS' 'thermique est negatif !' ;
  52. 'QUIT' @GATTPAR ;
  53. 'FINS' ;
  54. *
  55. *-- LALI liste des coefficients du polynome relatif au coefficient de
  56. *-- dilatation thermique du degre 0 au degre IDEGAI
  57. LALI='PROG' ;
  58. 'REPE' BLOC (IDEGAI+1) ;
  59. 'ACQU' ALII*'FLOTTANT' ;
  60. LALI = LALI 'ET' ('PROG' ALII) ;
  61. 'FIN' BLOC ;
  62. *
  63. *-- IDEGAS : degre du polynome Alpham(T) decrivant
  64. *-- le coefficient de dilatation thermique pour T > Talpha
  65. 'ACQU' IDEGAS*'ENTIER' ;
  66. 'SI' ('<' IDEGAS 0) ;
  67. 'MESS'
  68. 'ERREUR: le degre du polynome relatif au coefficient de dilatation';
  69. 'MESS' 'thermique est negatif !' ;
  70. 'QUIT' @GATTPAR ;
  71. 'FINS' ;
  72. *
  73. *-- LALS liste des coefficients du polynome relatif au coefficient de
  74. *-- dilatation thermique du degre 0 au degre IDEGAS
  75. LALS='PROG' ;
  76. 'REPE' BLOC (IDEGAS+1) ;
  77. 'ACQU' ALIS*'FLOTTANT' ;
  78. LALS = LALS 'ET' ('PROG' ALIS) ;
  79. 'FIN' BLOC ;
  80. *
  81. *-- TALPHA : temperature de transition pour les deux polynomes decrivant
  82. *-- le coefficient de dilatation thermique
  83. *
  84. 'ACQU' TALPHA*'FLOTTANT' ;
  85. *
  86. 'SI' ('&lt;EG' TALPHA 0) ;
  87. 'MESS'
  88. 'ERREUR: la temperature de transition pour les deux polynomes' ;
  89. 'MESS' 'decrivant le coefficient de dilatation thermique' ;
  90. 'MESS' 'est negative ou nulle !' ;
  91. 'QUIT' @GATTPAR ;
  92. 'FINS' ;
  93. *-- FIN DE LECTURE PREMIERE PARTIE DU FICHIER de nom fichier
  94. *
  95. *-- Liste de temperatures (en Kelvin)
  96. TK = 'PROG' 273.15 'PAS' 10. 2603.15 ;
  97. *-- On insere Talpha dans TK
  98. TK = TK 'ET' ('PROG' TALPHA) ;
  99. TK = 'ORDO' TK ;
  100. NTK = 'DIME' TK ;
  101. L273 = 'PROG' NTK * 273.;
  102. *-----------------------------
  103. *-- Construction des ordonnees : partie temperature
  104. OEET = 'PROG' NTK*('EXTR' LEE 1) ;
  105. 'SI' ('>' ('DIME' LEE) 1) ;
  106. 'REPE' BLOC (('DIME' LEE) - 1) ;
  107. OEET = OEET + (('EXTR' LEE (&BLOC+1))*(TK**(&BLOC)));
  108. 'FIN' BLOC ;
  109. 'FINS' ;
  110. *
  111. 'sur la plage de temperatures' ('MINI' TK) '< T(K) <' ('MAXI' TK) ;
  112. 'MESS' 'et pour une porosite nulle' ;
  113. MIOEET = 'MINI' OEET ;
  114. MAOEET = 'MAXI' OEET ;
  115. 'MESS' 'module d Young compris entre' MIOEET 'et' MAOEET ;
  116. 'SI' ('&lt;EG' MIOEET 0) ;
  117. 'MESS' 'ERREUR : module d Young negatif ou nul !' ;
  118. 'QUIT' @GATTPAR ;
  119. 'FINS' ;
  120. *
  121. OGGT = 'PROG' NTK*('EXTR' LGG 1) ;
  122. 'SI' ('>' (DIME LGG) 1) ;
  123. 'REPE' BLOC (('DIME' LGG) - 1) ;
  124. OGGT = OGGT + (('EXTR' LGG (&BLOC+1))*(TK**(&BLOC)));
  125. 'FIN' BLOC ;
  126. 'FINS' ;
  127. *
  128. MIOGGT = 'MINI' OGGT ;
  129. MAOGGT = 'MAXI' OGGT ;
  130. 'MESS' 'module de cisaillement compris entre' MIOGGT 'et' MAOGGT ;
  131. 'SI' ('&lt;EG' MIOGGT 0) ;
  132. 'MESS' 'ERREUR : module de cisaillement negatif ou nul !' ;
  133. 'QUIT' @GATTPAR ;
  134. 'FINS' ;
  135. *
  136. OALIT = 'PROG' NTK*('EXTR' LALI 1) ;
  137. 'SI' ('>' (DIME LALI) 1) ;
  138. 'REPE' BLOC (('DIME' LALI) - 1) ;
  139. OALIT = OALIT + (('EXTR' LALI (&BLOC+1))*(TK**(&BLOC)));
  140. 'FIN' BLOC ;
  141. OALIT = OALIT / (TK - L273);
  142. 'FINS' ;
  143. *
  144. OALST = 'PROG' NTK*('EXTR' LALS 1) ;
  145. 'SI' ('>' (DIME LALS) 1) ;
  146. 'REPE' BLOC (('DIME' LALS) - 1) ;
  147. OALST = OALST + (('EXTR' LALS (&BLOC+1))*(TK**(&BLOC)));
  148. 'FIN' BLOC ;
  149. OALST = OALST / (TK - L273);
  150. 'FINS' ;
  151. *
  152. ALTI = IPOL TALPHA TK OALIT ;
  153. ALTS = IPOL TALPHA TK OALST ;
  154. *
  155. NTKI = TK 'MASQ' 'INFERIEUR' TALPHA 'SOMM' ;
  156. OALIT = 'EXTR' OALIT ('LECT' 1 'PAS' 1 NTKI) ;
  157. OALST = 'EXTR' OALST ('LECT' (NTKI+1) 'PAS' 1 NTK) ;
  158. OALT = OALIT 'ET' OALST ;
  159. *
  160. * On tronque ALPHA_moy en dessous de 293K
  161. NT293 = TK 'MASQ' 'INFERIEUR' 293. 'SOMM';
  162. XEALTT = 'EXTR' TK ('LECT' (NT293+1) 'PAS' 1 NTK) ;
  163. YEALTT = 'EXTR' OALT ('LECT' (NT293+1) 'PAS' 1 NTK) ;
  164. * On remplace la partie enlevée par une IPOL entre
  165. * ALPHA_moy(T=0) et ALPHA_moy(T=293)
  166. AL0 = ('EXTR' LALI 1) / (0. - 273);
  167. AL293 = (('EXTR' LALI 1) +
  168. (('EXTR' LALI 2)*293.) +
  169. (('EXTR' LALI 3)*293.*293.) +
  170. (('EXTR' LALI 4)*293.*293.*293.)) / (293. - 273.);
  171. XEALTN = (PROG 0. 293.) ET XEALTT;
  172. YEALTN = (PROG AL0 AL293) ET YEALTT;
  173. *
  174. MIOALT = 'MINI' YEALTN ;
  175. MAOALT = 'MAXI' YEALTN ;
  176. 'MESS' 'coefficient de dilatation compris entre' MIOALT 'et' MAOALT ;
  177. 'SI' ('<' MIOALT 0) ;
  178. 'MESS' 'ERREUR : coefficient de dilatation negatif !' ;
  179. 'QUIT' @GATTPAR ;
  180. 'FINS' ;
  181. *
  182. ERRALT=100.*(ALTS-ALTI)/ ALTS ;
  183. 'SI' ('>' ERRALT 1.D-02) ;
  184. 'MESS' 'ATTENTION : a la temperature de transition :' TALPHA 'K' ;
  185. 'MESS' 'les deux valeurs du coefficient de dilatation thermique' ;
  186. 'MESS' 'different de' ERRALT '%' ALTI ALTS ;
  187. 'FINS' ;
  188. *
  189. *-- Construction des evolutions obtenues pour une porosite nulle
  190. EEET = 'EVOL' 'MANU' 'T' TK 'YOUN' OEET ;
  191. EGGT = 'EVOL' 'MANU' 'T' TK 'G' OGGT ;
  192. EALT = 'EVOL' 'MANU' 'T' XEALTN 'ALPH' YEALTN ;
  193. *
  194. *-- DEBUT DE LECTURE SECONDE PARTIE DU FICHIER de nom fichier
  195. *
  196. 'ACQU' BLABLA*'MOT' ;
  197. 'ACQU' PORY*'FLOTTANT' ;
  198. 'ACQU' BLABLA*'MOT' ;
  199. 'ACQU' PORG*'FLOTTANT' ;
  200. 'ACQU' BLABLA*'MOT' ;
  201. 'ACQU' PORA*'FLOTTANT' ;
  202. *
  203. *-- FIN DE LECTURE SECONDE PARTIE DU FICHIER de nom fichier
  204. *
  205. *-- Liste de porosites
  206. PP = 'PROG' 0. 'PAS' 0.001 0.3 ;
  207. NPP = 'DIME' PP ;
  208. *-- Construction des ordonnees : partie porosite
  209. OEEP = ('PROG' NPP*1.) - (PORY*PP) ;
  210. MIOEEP = 'MINI' OEEP ;
  211. 'SI' ('&lt;EG' MIOEEP 0) ;
  212. 'MESS' 'ATTENTION !'
  213. 'MESS' 'sur la plage de porosite :' ('MINI' PP) '< P <' ('MAXI' PP) ;
  214. 'MESS ' 'module d Young negatif ou nul !' ;
  215. 'FINS' ;
  216. *
  217. OGGP = ('PROG' NPP*1.) - (PORG*PP) ;
  218. MIOGGP = 'MINI' OGGP ;
  219. 'SI' ('&lt;EG' MIOGGP 0) ;
  220. 'MESS' 'ATTENTION !'
  221. 'MESS' 'sur la plage de porosite :' ('MINI' PP) '< P <' ('MAXI' PP) ;
  222. 'MESS ' 'module de cisaillement negatif ou nul !' ;
  223. 'FINS' ;
  224. *
  225. OALP = ('PROG' NPP*1.) - (PORA*PP) ;
  226. MIOALP = 'MINI' OALP ;
  227. 'SI' ('&lt;EG' MIOALP 0) ;
  228. 'MESS' 'ATTENTION !'
  229. 'MESS' 'sur la plage de porosite :' ('MINI' PP) '< P <' ('MAXI' PP) ;
  230. 'MESS ' 'coefficient de dilatation negatif ou nul !' ;
  231. 'FINS' ;
  232. *
  233. *-- Construction des nuages
  234. *
  235. PP1 = 'EXTR' PP 1 ;
  236. *
  237. EE = 'NUAG' 'PORO'*'FLOTTANT' 'YOUN'*'EVOLUTION'
  238. ('EXTR' PP 1) (EEET*('EXTR' OEEP 1)) ;
  239. 'REPE' BLOC (NPP-1) ;
  240. EEI = 'NUAG' 'PORO'*'FLOTTANT' 'YOUN'*'EVOLUTION'
  241. ('EXTR' PP (&BLOC+1)) (EEET*('EXTR' OEEP (&BLOC+1))) ;
  242. EE = EE 'ET' EEI ;
  243. 'FIN' BLOC ;
  244. *
  245. ETT1 = 'EVOL' 'MANU' 'T' TK 'NU' ('PROG' ('DIME'TK)*1.) ;
  246. NU = 'NUAG' 'PORO'*'FLOTTANT' 'NU'*'EVOLUTION'
  247. ('EXTR' PP 1)
  248. ((-1.*ETT1)+(0.5*EEET*('EXTR' OEEP 1)/(EGGT*('EXTR' OGGP 1)))) ;
  249. 'REPE' BLOC (NPP-1) ;
  250. NUI = 'NUAG' 'PORO'*'FLOTTANT' 'NU'*'EVOLUTION'
  251. ('EXTR' PP (&BLOC+1))
  252. ((-1.*ETT1)+(0.5*(EEET*('EXTR' OEEP (&BLOC+1)))/
  253. (EGGT*('EXTR' OGGP (&BLOC+1))))) ;
  254. NU = NU 'ET' NUI ;
  255. 'FIN' BLOC ;
  256. *
  257. AL = 'NUAG' 'PORO'*'FLOTTANT' 'ALPH'*'EVOLUTION'
  258. ('EXTR' PP 1) (EALT*('EXTR' OALP 1)) ;
  259. 'REPE' BLOC (NPP-1) ;
  260. ALI = 'NUAG' 'PORO'*'FLOTTANT' 'ALPH'*'EVOLUTION'
  261. ('EXTR' PP (&BLOC+1)) (EALT*('EXTR' OALP (&BLOC+1))) ;
  262. AL = AL 'ET' ALI ;
  263. 'FIN' BLOC ;
  264. *
  265. *-- Construction de la table contenant les informations
  266. MATAB = 'TABL' ;
  267. MATAB . 'YOUN' = EE ;
  268. MATAB . 'NU' = NU ;
  269. MATAB . 'ALPH' = AL ;
  270. *
  271. *-- DEBUT DE LECTURE DERNIERE PARTIE DU FICHIER de nom fichier
  272. *
  273. LCOMP = 'MOTS' 'RHO' 'R' 'DG0' 'DG' 'DGCR'
  274. 'K0' 'EXKP' 'KPAF' 'AP' 'BP' 'QP'
  275. 'K1' 'M1' 'Q1' 'N1' 'K2' 'M2' 'Q2' 'N2'
  276. 'OMEG' 'OMCR' 'Q' 'H' 'BETA'
  277. 'GAM1' 'EXTO' 'DYN1' 'DYN2' 'DYN3'
  278. 'K' 'A' 'Q3' 'N3'
  279. 'ADEN' 'KGON' 'POR0' 'BUMI' 'EFIS'
  280. 'CR1' 'CR2' 'CR3' 'CR';
  281. *
  282. 'REPE' BLOC ('DIME' LCOMP) ;
  283. 'ACQU' BLABLA*'MOT' ;
  284. 'ACQU' XX*'FLOTTANT' ;
  285. MOTI = 'EXTR' LCOMP &BLOC ;
  286. MATAB . MOTI = XX ;
  287. 'FIN' BLOC ;
  288. *
  289. *-- Calcul de KP pour fluage primaire UO2
  290. MATAB.'KPUO' = MATAB.'K0' * (MATAB.'DG' ** MATAB.'EXKP') ;
  291. *-- Temps caracteristique TAU pour la fct de couplage dynamique UO2
  292. MATAB.'TOUO' = MATAB.'GAM1' / (MATAB.'DG' ** MATAB.'EXTO') ;
  293. *
  294. *-- FIN DE LECTURE DERNIERE PARTIE DU FICHIER de nom fichier
  295. *
  296.  
  297. 'FINP' MATAB ;
  298.  
  299.  
  300.  

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