Télécharger adve_conservative_01.dgibi

Retour à la liste

Numérotation des lignes :

  1. OPTI 'DIME' 2 'ELEM' 'QUA4';
  2. OPTI 'DENS' 1.;
  3. OPTI 'TRAC' 'PSC';
  4.  
  5. *paramètres du ktest
  6. lx = 100.;
  7. ly = 2.;
  8. nx = 100;
  9. ny = 1;
  10. vx = 0.05;
  11. vy = 0.;
  12. sect = 1.;
  13. *Ici Cdif vaut 1.. Car Cdif = rho*Cp qui vaut 1 dans l'équation
  14. kd = 1.5;
  15. cdif = 1.;
  16. Cimp = 2.;
  17.  
  18. *maillage
  19. p1 = 0. 0.;
  20. p2 = lx 0.;
  21. l1 = p1 DROI nx p2;
  22. l2 = l1 PLUS (0. ly);
  23. surf1 = l1 REGL ny l2;
  24. l_bloq = COTE 2 surf1 ;
  25.  
  26. ****** ****** ****** ******
  27. *test en massif (qua4)
  28. MOD1 = MODE surf1 'DIFFUSION' 'ADVECTION' 'CONSERVATIVE' ;
  29. MAT1 = MATE MOD1 'VITX' vx 'VITY' vy 'KD' kd 'CDIF' cdif;
  30.  
  31. ADV1 = ADVE MOD1 MAT1;
  32.  
  33. COND1 = COND mod1 mat1;
  34.  
  35. blo1 = BLOQ 'CO' l_bloq;
  36. dep1 = DEPI blo1 Cimp;
  37.  
  38. sol1 = RESO (blo1 et adv1 et cond1) dep1;
  39.  
  40. *Solution numerique
  41. evo1 = EVOL 'ROUG' 'CHPO' sol1 'CO' l1;
  42. ordo1 = EXTR evo1 'ORDO' 1;
  43.  
  44. *Solution analytique
  45. absc1 = EXTR evo1 'ABSC' 1;
  46. expo1 = EXP (vx*(absc1-lx)/kd);
  47. v_sol = Cimp*expo1;
  48. evo2 = EVOL 'VERT' 'MANU' absc1 v_sol;
  49.  
  50. tdess1 = TABLE;
  51. tdess1 . 'TITRE' = TABLE;
  52. tdess1 . 'TITRE' . 1 = CHAI 'solution analytique';
  53. tdess1 . 'TITRE' . 2 = CHAI 'solution numerique';
  54. tdess1 . 1 = 'MARQ ROND REGU';
  55. tdess1 . 2 = 'MARQ CROIX REGU';
  56.  
  57. *Comparaison et erreur
  58. DESS (evo2 et evo1) TITR(CHAI 'Solution numerique et analytique en QUA4') 'LOGY'
  59. LEGE 'SE' tdess1;
  60. err = ABS(v_sol-ordo1)/v_sol;
  61. evo_diff = EVOL 'BLEU' 'MANU' absc1 err;
  62. DESS evo_diff TITR (CHAI 'Erreur relative en QUA4');
  63.  
  64. SI ((maxi err ) > 3.5E-4);
  65. ERRE 1152;
  66. ERRE 21 ;
  67. FINS;
  68. ****** ****** ****** ******
  69. *On teste en tuy2
  70. OPTI 'ELEM' 'SEG2';
  71.  
  72.  
  73. MOD1 = MODE l1 'DIFFUSION' 'ADVECTION' 'CONSERVATIVE' 'TUY2' ;
  74. MAT1 = MATE MOD1 'SECT' sect 'VITE' vx 'KD' kd 'CDIF' cdif;
  75.  
  76. ADV1 = ADVE MOD1 MAT1;
  77.  
  78. COND1 = COND mod1 mat1;
  79.  
  80. blo1 = BLOQ 'CO' p2;
  81. dep1 = DEPI blo1 Cimp;
  82.  
  83. sol1 = RESO (blo1 et adv1 et cond1) dep1;
  84.  
  85. *Solution numerique
  86. evo1 = EVOL 'ROUG' 'CHPO' sol1 'CO' l1;
  87. ordo1 = EXTR evo1 'ORDO' 1;
  88.  
  89. *Solution analytique
  90. absc1 = EXTR evo1 'ABSC' 1;
  91. expo1 = EXP (vx*(absc1-lx)/kd);
  92. v_sol = Cimp*expo1;
  93. evo2 = EVOL 'VERT' 'MANU' absc1 v_sol;
  94.  
  95. tdess1 = TABLE;
  96. tdess1 . 'TITRE' = TABLE;
  97. tdess1 . 'TITRE' . 1 = CHAI 'solution analytique';
  98. tdess1 . 'TITRE' . 2 = CHAI 'solution numerique';
  99. tdess1 . 1 = 'MARQ ROND REGU';
  100. tdess1 . 2 = 'MARQ CROIX REGU';
  101.  
  102. *Comparaison et erreur
  103. DESS (evo2 et evo1) TITR(CHAI 'Solution numerique et analytique en TUY2') 'LOGY'
  104. LEGE 'SE' tdess1;
  105. err = ABS(v_sol-ordo1)/v_sol;
  106. evo_diff = EVOL 'BLEU' 'MANU' absc1 err;
  107. DESS evo_diff TITR (CHAI 'Erreur relative en TUY2');
  108.  
  109. SI ((maxi err ) > 3.5E-4);
  110. ERRE 1152;
  111. ERRE 21 ;
  112. FINS;
  113. ****** ***** ****** ****** ****** ****** ******
  114. *On teste en quadratique
  115.  
  116.  
  117. MESS 'PASSAGE A LA FORME QUADRATIQUE';
  118. OPTI 'ELEM' 'QUA8';
  119. l1 = p1 DROI nx p2;
  120. l2 = l1 PLUS (0. ly);
  121. surf1 = l1 REGL ny l2;
  122. l_bloq = COTE 2 surf1 ;
  123.  
  124. MOD1 = MODE surf1 'DIFFUSION' 'ADVECTION' 'CONSERVATIVE' ;
  125. MAT1 = MATE MOD1 'VITX' vx 'VITY' vy 'KD' kd 'CDIF' cdif;
  126.  
  127. ADV1 = ADVE MOD1 MAT1;
  128.  
  129. COND1 = COND mod1 mat1;
  130.  
  131. blo1 = BLOQ 'CO' l_bloq;
  132. dep1 = DEPI blo1 Cimp;
  133.  
  134. sol1 = RESO (blo1 et adv1 et cond1) dep1;
  135.  
  136. *Solution numerique
  137. evo1 = EVOL 'ROUG' 'CHPO' sol1 'CO' l1;
  138. ordo1 = EXTR evo1 'ORDO' 1;
  139.  
  140. *Solution analytique
  141. absc1 = EXTR evo1 'ABSC' 1;
  142. expo1 = EXP (vx*(absc1-lx)/kd);
  143. v_sol = Cimp*expo1;
  144. evo2 = EVOL 'VERT' 'MANU' absc1 v_sol;
  145.  
  146. tdess1 = TABLE;
  147. tdess1 . 'TITRE' = TABLE;
  148. tdess1 . 'TITRE' . 1 = CHAI 'solution analytique';
  149. tdess1 . 'TITRE' . 2 = CHAI 'solution numerique';
  150. tdess1 . 1 = 'MARQ ROND REGU';
  151. tdess1 . 2 = 'MARQ CROIX REGU';
  152.  
  153. *Comparaison et erreur
  154. DESS (evo2 et evo1) TITR(CHAI 'Solution numerique et analytique en QUA8') 'LOGY'
  155. LEGE 'SE' tdess1;
  156. err = ABS(v_sol-ordo1)/v_sol;
  157. evo_diff = EVOL 'BLEU' 'MANU' absc1 err;
  158. DESS evo_diff TITR (CHAI 'Erreur relative en QUA8');
  159.  
  160. SI ((maxi err ) > 6.E-9);
  161. ERRE 1152;
  162. ERRE 21 ;
  163. FINS;
  164. ****** ****** ****** ******
  165. *test pour tuy3
  166. OPTI 'ELEM' 'SEG3';
  167.  
  168. MOD1 = MODE l1 'DIFFUSION' 'ADVECTION' 'CONSERVATIVE' 'TUY3' ;
  169. MAT1 = MATE MOD1 'SECT' sect 'VITE' vx 'KD' kd 'CDIF' cdif;
  170.  
  171. ADV1 = ADVE MOD1 MAT1;
  172.  
  173. COND1 = COND mod1 mat1;
  174.  
  175. blo1 = BLOQ 'CO' p2;
  176. dep1 = DEPI blo1 Cimp;
  177.  
  178. sol1 = RESO (blo1 et adv1 et cond1) dep1;
  179.  
  180. *Solution numerique
  181. evo1 = EVOL 'ROUG' 'CHPO' sol1 'CO' l1;
  182. ordo1 = EXTR evo1 'ORDO' 1;
  183.  
  184. *Solution analytique
  185. absc1 = EXTR evo1 'ABSC' 1;
  186. expo1 = EXP (vx*(absc1-lx)/kd);
  187. v_sol = Cimp*expo1;
  188. evo2 = EVOL 'VERT' 'MANU' absc1 v_sol;
  189.  
  190. tdess1 = TABLE;
  191. tdess1 . 'TITRE' = TABLE;
  192. tdess1 . 'TITRE' . 1 = CHAI 'solution analytique';
  193. tdess1 . 'TITRE' . 2 = CHAI 'solution numerique';
  194. tdess1 . 1 = 'MARQ ROND REGU';
  195. tdess1 . 2 = 'MARQ CROIX REGU';
  196.  
  197. *Comparaison et erreur
  198. DESS (evo2 et evo1) TITR(CHAI 'Solution numerique et analytique en TUY3') 'LOGY'
  199. LEGE 'SE' tdess1;
  200. err = ABS(v_sol-ordo1)/v_sol;
  201. evo_diff = EVOL 'BLEU' 'MANU' absc1 err;
  202. DESS evo_diff TITR (CHAI 'Erreur relative en TUY3');
  203.  
  204. SI ((maxi err ) > 6.E-9);
  205. ERRE 1152;
  206. ERRE 21 ;
  207. FINS;
  208.  
  209. fin;
  210.  
  211.  

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