Télécharger source2.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : source2.dgibi
  2. * section : thermique
  3. *----------------------------------------------------------------------*
  4. * SOURCE2.DGIBI *
  5. *----------------------------------------------------------------------*
  6. *
  7. * Objet :
  8. * -------
  9. *
  10. * Verfication / validation d'un modele de source de chaleur.
  11. * Cas d'une SOURCE GAUSSIENNE ISOTROPE.
  12. *
  13. * Description :
  14. * -------------
  15. * Comparaison des flux nodaux equivalents obtenus avec le modele a
  16. * ceux obtenus en construisant le champ "a la main", puis en l'integrant
  17. * avec l'operateur SOURCE.
  18. *
  19. * Type de calcul : Aucun
  20. * Mode de calcul : 2D PLAN, AXIS et 3D
  21. * Type d'element : TRI3 TRI6 QUA4 QUA8 TET4 TE10 PYR5 PY13 PRI6 PR15
  22. * CUB8 CU20
  23. * Objectifs : Ecart relatif entre flux integres < 1.e-12
  24. * Ecart relatif entre la chaleur totale fournie (QTOT)
  25. * et la resultante sur le champ integre < 1.e-12
  26. *
  27. *----------------------------------------------------------------------*
  28. *
  29. * IG1 vrai : traces actives
  30. IG1 = faux ;
  31. *
  32. *------------------------ 2D ELEMENTS LINEAIRES -----------------------*
  33. *
  34. opti dime 2 elem qua4 ;
  35.  
  36. * Parametres du maillage :
  37. lo1 = 50.e-3 ;
  38. ep1 = 10.e-3 ;
  39.  
  40. * Parametres de la source :
  41. QT1 = 1.e3 ;
  42. OR1 = 30.e-3 8.e-3 ;
  43. RG1 = 5.e-3 ;
  44.  
  45. * Maillage :
  46. l1 = (0 0) droi 10 (0 ep1) ;
  47. s1 = l1 tran 50 (lo1 0) ;
  48. l2 = s1 cote 3 ;
  49. s2 = l2 tran 50 (lo1 ep1) ;
  50. s2 = s2 chan tri3 ;
  51. s0 = s1 et s2 ;
  52.  
  53. si IG1 ;
  54. ltyp1 = s0 elem type ;
  55. mot1 = mot 'ELEM =' ;
  56. repe bm1 (dime ltyp1) ;
  57. mot1 = chai mot1 ' ' (ltyp1 extr &bm1) ;
  58. fin bm1 ;
  59. mot1 = chai ' Maillage test en 2D (' mot1 ')' ;
  60. trac s0 titr mot1 ;
  61. fins;
  62.  
  63. * MODE PLAN :
  64. * -----------
  65. *
  66. opti mode plan ;
  67. *
  68. moq1 = mode s0 thermique source gaussienne ;
  69. maq1 = mate moq1 'QTOT' QT1 'ORIG' OR1 'RGAU' RG1 ;
  70. sq1 = sour moq1 maq1 ;
  71.  
  72. qtmoq1 = sq1 resu maxi ;
  73.  
  74. mo1 = mode s0 thermique ;
  75. ma1 = mate mo1 k 25. ;
  76.  
  77. x1 y1 = s0 coor ;
  78. x1 y1 = (x1 - (or1 coor 1)) (y1 - (or1 coor 2)) ;
  79. x1 y1 = (chan cham x1 mo1 stresses) (chan cham y1 mo1 stresses) ;
  80. sqref1 = exp (-1. *((x1 * x1) + (y1 * y1)) / RG1 / RG1) * QT1 ;
  81. qtref1 = intg mo1 sqref1 ;
  82. sqref1 = sqref1 / qtref1 * QT1 ;
  83. sqref1 = sour mo1 sqref1 ;
  84.  
  85. si IG1 ;
  86. trac sq1 S0 titr ' Flux nodaux du champ de source Gaussienne du MODELE ';
  87. trac sqref1 s0 titr ' Flux nodaux du champ de source Gaussienne REFERENCE' ;
  88. trac (sq1 - sqref1) s0 titr ' Difference des 2 champs' ;
  89. fins ;
  90.  
  91. err1 = (maxi abs (sq1 - sqref1)) / (maxi abs sqref1) ;
  92. list err1 ;
  93. err2 = (abs (qtmoq1 - qt1)) / (abs qt1) ;
  94. list err2 ;
  95. err1 = maxi (prog err1 err2) ;
  96. si (err1 > 1.e-12) ;
  97. ERRE ' Probleme MODE SOURCE' ;
  98. fins ;
  99.  
  100. * MODE AXIS :
  101. * -----------
  102. *
  103. opti mode axis ;
  104. *
  105. moq1 = mode s0 thermique source gaussienne isotrope ;
  106. maq1 = mate moq1 'QTOT' QT1 'ORIG' OR1 'RGAU' RG1 ;
  107. sq1 = sour moq1 maq1 ;
  108.  
  109. qtmoq1 = sq1 resu maxi ;
  110.  
  111. mo1 = mode s0 thermique ;
  112. ma1 = mate mo1 k 25. ;
  113.  
  114. x1 y1 = s0 coor ;
  115. x1 y1 = (x1 - (or1 coor 1)) (y1 - (or1 coor 2)) ;
  116. x1 y1 = (chan cham x1 mo1 stresses) (chan cham y1 mo1 stresses) ;
  117. sqref1 = exp (-1. *((x1 * x1) + (y1 * y1)) / RG1 / RG1) * QT1 ;
  118. qtref1 = intg mo1 sqref1 ;
  119. sqref1 = sqref1 / qtref1 * QT1 ;
  120. sqref1 = sour mo1 sqref1 ;
  121.  
  122. si IG1 ;
  123. trac sq1 S0 titr ' Flux nodaux du champ de source Gaussienne du MODELE ';
  124. trac sqref1 s0 titr ' Flux nodaux du champ de source Gaussienne REFERENCE' ;
  125. trac (sq1 - sqref1) s0 titr ' Difference des 2 champs' ;
  126. fins ;
  127.  
  128. err1 = (maxi abs (sq1 - sqref1)) / (maxi abs sqref1) ;
  129. list err1 ;
  130. err2 = (abs (qtmoq1 - qt1)) / (abs qt1) ;
  131. list err2 ;
  132. err1 = maxi (prog err1 err2) ;
  133. si (err1 > 1.e-12) ;
  134. ERRE ' Probleme MODE SOURCE' ;
  135. fins ;
  136.  
  137. *---------------------- 2D ELEMENTS QUADRATIQUES ----------------------*
  138.  
  139. * Passage en EF quadratiques :
  140. s0 = s0 chan quad ;
  141.  
  142. si IG1 ;
  143. ltyp1 = s0 elem type ;
  144. mot1 = mot 'ELEM =' ;
  145. repe bm1 (dime ltyp1) ;
  146. mot1 = chai mot1 ' ' (ltyp1 extr &bm1) ;
  147. fin bm1 ;
  148. mot1 = chai ' Maillage test en 2D (' mot1 ')' ;
  149. trac s0 titr mot1 ;
  150. fins;
  151.  
  152. * MODE PLAN :
  153. * -----------
  154. *
  155. opti mode plan ;
  156. *
  157. moq1 = mode s0 thermique source gaussienne isotrope ;
  158. maq1 = mate moq1 'QTOT' QT1 'ORIG' OR1 'RGAU' RG1 ;
  159. sq1 = sour moq1 maq1 ;
  160.  
  161. qtmoq1 = sq1 resu maxi ;
  162.  
  163. mo1 = mode s0 thermique ;
  164. ma1 = mate mo1 k 25. ;
  165.  
  166. x1 y1 = s0 coor ;
  167. x1 y1 = (x1 - (or1 coor 1)) (y1 - (or1 coor 2)) ;
  168. x1 y1 = (chan cham x1 mo1 stresses) (chan cham y1 mo1 stresses) ;
  169. sqref1 = exp (-1. *((x1 * x1) + (y1 * y1)) / RG1 / RG1) * QT1 ;
  170. qtref1 = intg mo1 sqref1 ;
  171. sqref1 = sqref1 / qtref1 * QT1 ;
  172. sqref1 = sour mo1 sqref1 ;
  173.  
  174. si IG1 ;
  175. trac sq1 S0 titr ' Flux nodaux du champ de source Gaussienne du MODELE ';
  176. trac sqref1 s0 titr ' Flux nodaux du champ de source Gaussienne REFERENCE' ;
  177. trac (sq1 - sqref1) s0 titr ' Difference des 2 champs' ;
  178. fins ;
  179.  
  180. err1 = (maxi abs (sq1 - sqref1)) / (maxi abs sqref1) ;
  181. list err1 ;
  182. err2 = (abs (qtmoq1 - qt1)) / (abs qt1) ;
  183. list err2 ;
  184. err1 = maxi (prog err1 err2) ;
  185. si (err1 > 1.e-12) ;
  186. ERRE ' Probleme MODE SOURCE' ;
  187. fins ;
  188.  
  189. * MODE AXIS :
  190. * -----------
  191. *
  192. opti mode axis ;
  193. *
  194. moq1 = mode s0 thermique source gaussienne ;
  195. maq1 = mate moq1 'QTOT' QT1 'ORIG' OR1 'RGAU' RG1 ;
  196. sq1 = sour moq1 maq1 ;
  197.  
  198. qtmoq1 = sq1 resu maxi ;
  199.  
  200. mo1 = mode s0 thermique ;
  201. ma1 = mate mo1 k 25. ;
  202.  
  203. x1 y1 = s0 coor ;
  204. x1 y1 = (x1 - (or1 coor 1)) (y1 - (or1 coor 2)) ;
  205. x1 y1 = (chan cham x1 mo1 stresses) (chan cham y1 mo1 stresses) ;
  206. sqref1 = exp (-1. *((x1 * x1) + (y1 * y1)) / RG1 / RG1) * QT1 ;
  207. qtref1 = intg mo1 sqref1 ;
  208. sqref1 = sqref1 / qtref1 * QT1 ;
  209. sqref1 = sour mo1 sqref1 ;
  210.  
  211. si IG1 ;
  212. trac sq1 S0 titr ' Flux nodaux du champ de source Gaussienne du MODELE ';
  213. trac sqref1 s0 titr ' Flux nodaux du champ de source Gaussienne REFERENCE' ;
  214. trac (sq1 - sqref1) s0 titr ' Difference des 2 champs' ;
  215. fins ;
  216.  
  217. err1 = (maxi abs (sq1 - sqref1)) / (maxi abs sqref1) ;
  218. list err1 ;
  219. err2 = (abs (qtmoq1 - qt1)) / (abs qt1) ;
  220. list err2 ;
  221. err1 = maxi (prog err1 err2) ;
  222. si (err1 > 1.e-12) ;
  223. ERRE ' Probleme MODE SOURCE' ;
  224. fins ;
  225.  
  226. *------------------------ 3D ELEMENTS LINEAIRES -----------------------*
  227. *
  228. opti dime 3 elem cub8 ;
  229. s0 = s0 chan line ;
  230.  
  231. * Maillage du volume :
  232. v0 = s0 volu tran 5 (0 0 ep1) ;
  233. x1 = v0 coor 1 ;
  234.  
  235. * Ajour de tetraedres :
  236. v3 = v0 elem appu stri (x1 poin supe (1.5 * lo1)) ;
  237. v0 = v0 diff v3 ;
  238. v0 = v0 et (v3 chan tet4) ;
  239.  
  240. * Ajout d'un element pyramide :
  241. el1 = (v0 elem cub8) elem 1 ;
  242. pe1 = el1 chan poi1 ;
  243. ps1 = pe1 poin 8 ;
  244. py1 = manu pyr5 (pe1 poin 1) (pe1 poin 2) (pe1 poin 3) (pe1 poin 4) ps1 ;
  245. py2 = manu pyr5 (pe1 poin 1) (pe1 poin 2) (pe1 poin 6) (pe1 poin 5) ps1 ;
  246. py3 = manu pyr5 (pe1 poin 2) (pe1 poin 3) (pe1 poin 7) (pe1 poin 6) ps1 ;
  247. py0 = py1 et py2 et py3 ;
  248. v0 = (v0 diff el1) et py0 ;
  249.  
  250. si IG1 ;
  251. ltyp1 = v0 elem type ;
  252. mot1 = mot 'ELEM =' ;
  253. repe bm1 (dime ltyp1) ;
  254. mot1 = chai mot1 ' ' (ltyp1 extr &bm1) ;
  255. fin bm1 ;
  256. mot1 = chai ' Maillage test en 3D (' mot1 ')' ;
  257. trac v0 titr mot1 ;
  258. fins;
  259.  
  260. * Parametres de la source en 3D
  261. OR1 = 30.e-3 8.e-3 8.e-3 ;
  262.  
  263. * Modeles :
  264. moq1 = mode V0 thermique source gaussienne ;
  265. maq1 = mate moq1 'QTOT' QT1 'ORIG' OR1 'RGAU' RG1 ;
  266. sq1 = sour moq1 maq1 ;
  267.  
  268. qtmoq1 = sq1 resu maxi ;
  269.  
  270. mo1 = mode V0 thermique ;
  271. ma1 = mate mo1 k 25. ;
  272.  
  273. x1 y1 z1 = V0 coor ;
  274. x1 y1 z1 = (x1 - (or1 coor 1)) (y1 - (or1 coor 2)) (z1 - (or1 coor 3)) ;
  275. x1 y1 z1 = (chan cham x1 mo1 stresses) (chan cham y1 mo1 stresses) (chan cham z1 mo1 stresses) ;
  276. sqref1 = exp (-1. *((x1 * x1) + (y1 * y1) + (z1 * z1)) / RG1 / RG1) * QT1 ;
  277. qtref1 = intg mo1 sqref1 ;
  278. sqref1 = sqref1 / qtref1 * QT1 ;
  279. sqref1 = sour mo1 sqref1 ;
  280.  
  281. si IG1 ;
  282. trac sq1 V0 titr ' Flux nodaux du champ de source Gaussienne du MODELE ' coup or1 (0 1 0) (0 0 1) ;
  283. trac sqref1 V0 titr ' Flux nodaux du champ de source Gaussienne REFERENCE' coup or1 (0 1 0) (0 0 1) ;
  284. trac (sq1 - sqref1) V0 titr ' Difference des 2 champs' coup or1 (0 1 0) (0 0 1) ;
  285. fins ;
  286.  
  287. err1 = (maxi abs (sq1 - sqref1)) / (maxi abs sqref1) ;
  288. list err1 ;
  289. err2 = (abs (qtmoq1 - qt1)) / (abs qt1) ;
  290. list err2 ;
  291. err1 = maxi (prog err1 err2) ;
  292. si (err1 > 1.e-12) ;
  293. ERRE ' Probleme MODE SOURCE' ;
  294. fins ;
  295.  
  296. *---------------------- 3D ELEMENTS QUADRATIQUES ----------------------*
  297. *
  298. v0 = v0 chan quad ;
  299.  
  300. si IG1 ;
  301. ltyp1 = v0 elem type ;
  302. mot1 = mot 'ELEM =' ;
  303. repe bm1 (dime ltyp1) ;
  304. mot1 = chai mot1 ' ' (ltyp1 extr &bm1) ;
  305. fin bm1 ;
  306. mot1 = chai ' Maillage test en 3D (' mot1 ')' ;
  307. trac v0 titr mot1 ;
  308. fins;
  309.  
  310. * Modeles :
  311. moq1 = mode V0 thermique source gaussienne isotrope ;
  312. maq1 = mate moq1 'QTOT' QT1 'ORIG' OR1 'RGAU' RG1 ;
  313. sq1 = sour moq1 maq1 ;
  314.  
  315. qtmoq1 = sq1 resu maxi ;
  316.  
  317. mo1 = mode V0 thermique ;
  318. ma1 = mate mo1 k 25. ;
  319.  
  320. x1 y1 z1 = V0 coor ;
  321. x1 y1 z1 = (x1 - (or1 coor 1)) (y1 - (or1 coor 2)) (z1 - (or1 coor 3)) ;
  322. x1 y1 z1 = (chan cham x1 mo1 stresses) (chan cham y1 mo1 stresses) (chan cham z1 mo1 stresses) ;
  323. sqref1 = exp (-1. *((x1 * x1) + (y1 * y1) + (z1 * z1)) / RG1 / RG1) * QT1 ;
  324. qtref1 = intg mo1 sqref1 ;
  325. sqref1 = sqref1 / qtref1 * QT1 ;
  326. sqref1 = sour mo1 sqref1 ;
  327.  
  328. si IG1 ;
  329. trac sq1 V0 titr ' Flux nodaux du champ de source Gaussienne du MODELE ' ;
  330. trac sqref1 V0 titr ' Flux nodaux du champ de source Gaussienne REFERENCE' ;
  331. trac (sq1 - sqref1) V0 titr ' Difference des 2 champs' ;
  332. fins ;
  333.  
  334. err1 = (maxi abs (sq1 - sqref1)) / (maxi abs sqref1) ;
  335. list err1 ;
  336. err2 = (abs (qtmoq1 - qt1)) / (abs qt1) ;
  337. list err2 ;
  338. err1 = maxi (prog err1 err2) ;
  339. si (err1 > 1.e-12) ;
  340. ERRE ' Probleme MODE SOURCE' ;
  341. fins ;
  342.  
  343. *-------------------------------- FIN ---------------------------------*
  344. fin ;
  345.  
  346.  
  347.  

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