Télécharger fluxtotalEFMH.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : fluxtotalEFMH.dgibi
  2. *
  3. ********************* CAS TEST : transport1.dgibi ********************
  4. *
  5. GRAPH = 'N' ;
  6. 'OPTI' 'ECHO' 1 ;
  7. CRIT1 = 1.D-6 ;
  8. 'SAUT' 'PAGE' ;
  9. *
  10. *---------------------------------------------------------------------
  11. * TEST TRANSPORT1
  12. * CALCUL DARCY ISOTROPE TRANSPORT.
  13. * Transport d'un front.
  14. *
  15. * dT
  16. * -- + div (uT - Kgrad(T)) = 0
  17. * dt
  18. *
  19. * Ce test permet de vérifier le bon fonctionnement des opérateurs
  20. * utilisés afin de résoudre l'équation de transport par diffusion
  21. * convection d'un champ scalaire passif par la méthode d'éléments
  22. * finis mixtes hybrides implanté dans CASTEM2000.
  23. *
  24. * Le maillage ne comporte qu'un élément dans la direction transverse
  25. * à l'écoulement puisque le phénomène étudié est 1D. Dans le sens de
  26. * l'écoulement, le pas de discrétisation est constant.
  27. *
  28. * Les conditions initiales correspondent à l'entrée du front dans le
  29. * domaine. Comme le champ de vitesse choisi est positif, la trace de
  30. * concentration est égale à 1 à gauche du domaine.
  31. *
  32. * Les conditions aux limites imposent la trace de concentration à
  33. * gauche du domaine égale à un via une condition de flux total
  34. * (soit U C = U pour avoit C = 1) ; sur les autres frontières ce sont
  35. * les conditions aux limites naturelles.
  36. *
  37. * Le schéma en temps utilisé est le schéma d'Euler implicite
  38. * (teta-méthode avec teta=1.0).
  39. *
  40. * Données physiques :
  41. * VK : Coefficient de diffusion ................. 1.D-2
  42. * VX1 : Vitesse suivant x......................... 1.
  43. * VY1 : Vitesse suivant y......................... 0.
  44. * T0 : Concentration initiale.................... 0.
  45. * T1 : Concentration en entrée................... 1.
  46. *
  47. * Données temporelles :
  48. * TMIN : Temps initial............................. 0.
  49. * TMAX : Temps final............................... 30.
  50. * DELTAT: Pas de temps.............................. 1.
  51. * T0 : Concentration initiale.................... 0.
  52. * T1 : Concentration en entrée................... 1.
  53. *
  54. * Parametres de maillage :
  55. * L : longueur du domaine ....................... 100.
  56. * H : hauteur du domaine ........................ 1.
  57. * INUMX : Nombre d'éléments en x .................... 100
  58. * INUMY : Nombre d'éléments en y .................... 1 car 1D
  59. *
  60. *---------------------------------------------------------------------
  61. *
  62. *------------------
  63. * Options generales
  64. *------------------
  65. *
  66. 'OPTI' 'DIME' 2 'ELEM' 'QUA4' ;
  67. 'OPTI' 'ISOV' 'SURF' ;
  68. *
  69. *
  70. *=========
  71. * MAILLAGE
  72. *=========
  73. *
  74. *
  75. *- Création des points supports du contour du domaine, et des droites
  76. *- passant par les centres et les faces pour le post-traitement.
  77. *
  78. L = 100.D0 ;
  79. LS2 = L / 2.D0 ;
  80. H = 10.D0 ;
  81. HS2 = H / 2.D0 ;
  82. X0 = 0.D0 ;
  83. X1 = X0 + L ;
  84. Y0 = 0.D0 ;
  85. Y1 = Y0 + H ;
  86. INUMX = 100 ;
  87. INUMY = 1 ;
  88. INUM1 = INUMX - 1 ;
  89. Y01 = Y0 + Y1 * 0.5D0 ;
  90. DX = X1 - X0 / INUMX ;
  91. DX1 = DX / 2.D0 ;
  92. XG = X0 + DX1 ;
  93. XD = X1 - DX1 ;
  94. *
  95. A1 = X0 Y0 ;
  96. A3 = X1 Y0 ;
  97. D1 = X0 Y1 ;
  98. D3 = X1 Y1 ;
  99. B1 = X0 Y01 ;
  100. B3 = X1 Y01 ;
  101. C1 = XG Y01 ;
  102. C3 = XD Y01 ;
  103. P6 = LS2 Y01 ;
  104. *
  105. *- Création des DROITES frontieres
  106. *
  107. DRBAS = A3 'DROI' INUMX A1 ;
  108. DRGAU = A1 'DROI' INUMY D1 ;
  109. DRHAU = D1 'DROI' INUMX D3 ;
  110. DRDRO = D3 'DROI' INUMY A3 ;
  111. PELIM = DX1 / (5. * INUMX) ;
  112. *
  113. *- Creation maillage GEOMETRIQUE
  114. *
  115. PTOT1 = 'DALL' DRBAS DRGAU DRHAU DRDRO ;
  116. PTOT2 = 'ORIE' PTOT1 ;
  117. *
  118. *- Creation maillage HYBRIDE y compris sous-objets (cond. limites)
  119. *
  120. DRMID = B1 'DROI' INUMX B3 ;
  121. DRMIC = C1 'DROI' INUM1 C3 ;
  122. EXT1 = 'MANU' 'POI1' B1 ;
  123. *
  124. QFTOT= 'CHAN' PTOT2 QUAF ;
  125. QFGAU= 'CHAN' DRGAU QUAF ;
  126. QFDRO= 'CHAN' DRDRO QUAF ;
  127. ELIM PELIM (QFTOT ET QFGAU ET QFDRO ET DRMID ET DRMIC ET EXT1) ;
  128. *
  129. *================
  130. * INITIALISATIONS
  131. *================
  132. *
  133. * ----------------
  134. * = MODELISATION =
  135. * ----------------
  136. MODHYB = MODE QFTOT 'DARCY' 'ANISOTROPE' ;
  137. MODDRO = MODE QFDRO 'DARCY' 'ANISOTROPE' ;
  138. MODGAU = MODE QFGAU 'DARCY' 'ANISOTROPE' ;
  139. CHYB1 = 'DOMA' MODHYB 'SURFACE' ;
  140. CHYB2 = 'DOMA' MODHYB 'NORMALE' ;
  141.  
  142.  
  143.  
  144. *
  145. * ---------------------
  146. * = Donnees physiques =
  147. * ---------------------
  148. *
  149. T0 = 0.D0 ; CTT1 = 1.D0 ;
  150.  
  151. T1 = (H ) / INUMY;
  152.  
  153. VX1 = 1.D0 ; VY1 = 0.D0 ;
  154. VK = 1.D-2 ;
  155. MATI2 = 'MATE' MODHYB DIRECTION (1. 0.)
  156. 'K11' VK 'K21' 0.D0 'K22' VK;
  157. MATI2 = KCHA MODHYB MATI2 'CHPO';
  158. *
  159. SPEED = 'MANU' 'CHPO' ('DOMA' MODHYB 'FACE') 2
  160. 'VX' VX1 'VY' VY1 'NATURE' 'DISCRET' ;
  161. *
  162. * -----------------------
  163. * = Donnees transitoire =
  164. * -----------------------
  165. * TETA : Parametre de le theta-méthode
  166. * TMAX : Temps final
  167. * TSUP : Temps pour conditions aux limites
  168. * DELTAT : Pas de temps
  169. *
  170. TETA = 0.00D0 ;
  171. TMIN = 0.D0 ;
  172. TMAX2 = 15.00D0 ;
  173. TMAX = 30.00D0 ;
  174. TSUP = 1.2D0 * TMAX ;
  175. DELTAT = 0.5D0 ;
  176. *
  177. LICALC = 'PROG' TMIN 'PAS' (DELTAT/2.D0) TMAX2 ;
  178. LICALC = LICALC ET ('PROG' (TMAX2 + DELTAT) 'PAS' DELTAT TMAX) ;
  179. LISAUV = 'PROG' TMAX ;
  180. *
  181. * ------------------------
  182. * = Conditions initiales =
  183. * ------------------------
  184. TFHY0 = 'MANU' 'CHPO' ('DOMA' MODHYB 'FACE') 1 'TH' T0
  185. 'NATURE' 'DIFFUS' ;
  186. TFHY1 = 'MANU' 'CHPO' EXT1 1 'TH' T1 'NATURE' 'DIFFUS' ;
  187. TFHYB = TFHY0 '+' TFHY1 ;
  188. TCHYB = 'MANU' 'CHPO' ('DOMA' MODHYB 'CENTRE') 1 'H' T0
  189. 'NATURE' 'DIFFUS' ;
  190. *
  191. * --------------
  192. * = T imposée =
  193. * --------------
  194. BBGAU = 'BLOQ' ('DOMA' MODGAU 'CENTRE') 'TH' ;
  195. EEGAU = 'DEPI' BBGAU T1 ;
  196. TT1 = 'KCHT' MODGAU SCAL CENTRE (-1.* T1);
  197. TT1 = 'CHAN' TT1 'ATTRIBUT' 'NATURE' 'DISCRET' ;
  198. TTT1 = 'CHAR' TT1 ('EVOL' 'MANU' ('PROG' 0. TSUP) ('PROG' 1. 1.)) ;
  199. CHAGAU = 'CHAR' EEGAU ('EVOL' 'MANU' ('PROG' 0. TSUP) ('PROG' 1. 1.)) ;
  200. *
  201. * ---------------------------
  202. * = Table DARCY_TRANSITOIRE =
  203. * ---------------------------
  204. *
  205. *
  206. *
  207.  
  208. *-- Table de transport :
  209. Transp = 'TABLE';
  210. Transp . 'MODELE' = MODHYB ;
  211. Transp.'TEMPS' = 'TABLE';
  212. Transp.'CONCENTRATION' = 'TABLE';
  213. Transp.'FLUXDIFF' = 'TABLE';
  214. Transp.'FLUXCONV' = 'TABLE';
  215. Transp.'CARACTERISTIQUES' = MATI2;
  216. *Transp.'POROSITE' = MaPor;
  217. Transp.'CONVECTION' = SPEED ;
  218. Transp.'VITELEM' = kcht MODHYB VECT CENTRE (1.D0 0.);
  219. Transp.'VITELEM' = nomc (mots UX UY) (mots VX VY)
  220. Transp . 'VITELEM';
  221.  
  222. * Conditions initiales :
  223. Transp.'TEMPS'. 0 = TMIN ;
  224. Transp.'CONCENTRATION'. 0 = TCHYB;
  225. Transp.'FLUXDIFF'. 0 = 0.D0 * TFHY0;
  226. Transp.'FLUXCONV'. 0 = 0.D0 * TFHY0;
  227.  
  228. * Conditions aux limites :
  229. *Transp . 'TRACE_IMPOSE' = TTT1 ;
  230. Transp . 'FLUXTOT_IMP' = TTT1 ;
  231.  
  232.  
  233. * Paramètres numériques :
  234. Transp.'THETA_DIFF' = 1.D0;
  235. Transp.'THETA_CONVECTION' = 1.0D0;
  236. Transp.'LUMP' = FAUX;
  237. Transp.'TYPDISCRETISATION' = 'EFMH';
  238. Transp.'DECENTR' = FAUX;
  239.  
  240. TABRES = table METHINV;
  241. TABRES . 'TYPINV' = 1;
  242. TABRES . 'PRECOND' = 3;
  243.  
  244. Transp . 'METHINV' = TABRES;
  245.  
  246.  
  247. Transp.'TEMPS_CALCULES' = LiCalc;
  248. Transp.'TEMPS_SAUVES' = LiSauv;
  249.  
  250.  
  251. Transp . INTCONC = TABLE;
  252. Transp . INTCONC . 0 = 0.D0 * TCHYB;
  253. * ==========
  254. *Transp . 'DECROISSANCE' = 0.01D0;
  255. * | CALCUL |
  256. * ==========
  257.  
  258.  
  259. *=======================
  260. * Resolution transitoire
  261. *=======================
  262. *
  263. TRANSGEN TRANSP ;
  264. *
  265. *
  266. *=================
  267. * POST-TRAITEMENT
  268. *=================
  269.  
  270. TRANS2 = TABLE TRANSP;
  271.  
  272. *
  273. *--------------------------------------------------------------------
  274. * Dans chaque cas on trace
  275. * La trace de concentration le long de DRMID
  276. * La concentration le long de DRMIC
  277. *--------------------------------------------------------------------
  278. * Tests de NON-REGRESSION :
  279. * Principe du maximum
  280. * Position du centre de gravité du champ de concentration
  281. *--------------------------------------------------------------------
  282. *
  283. * Critères numériques
  284. CFL = VX1 * DELTAT / DX ;
  285. PEK = VX1 * DX / (2. * VK) ;
  286. FOU = 2. * VK * DELTAT / (DX * DX) ;
  287. 'SAUT' 1 'LIGNE' ;
  288. 'MESS' ' Critères numériques ' ;
  289. 'MESS' ' CFL ' CFL ;
  290. 'MESS' ' PECLET ' PEK ;
  291. 'MESS' ' FOURIER ' FOU ;
  292. 'MESS' ' ' ;
  293. *
  294. XC YC = 'COOR' (DOMA MODHYB 'CENTRE') ;
  295. ISOR1 = INDEX ( TRANS2 . 'TEMPS') ;
  296. NTSOR = DIME ISOR1 ;
  297. NTSO1 = NTSOR - 1 ;
  298. IOK = FAUX ;
  299. IRESU = 1 ;
  300. *
  301. *-----------------------
  302. REPETER VISURESU NTSO1 ;
  303. *-----------------------
  304. *
  305. IRESU = IRESU + 1 ;
  306. INDI1 = ISOR1.IRESU ;
  307. TTRA = TRANS2 . 'TEMPS' . INDI1 ;
  308. * Principe du maximum
  309. EPR1 = TRANS2 . 'CONCENTRATION' . INDI1 ;
  310. PMA = 'MAXI' EPR1 ; PMI = 'MINI' EPR1 ;
  311. VTEST = PMA + PMI / 1.D0 ;
  312. 'SAUT' 1 'LIGNE' ;
  313. 'MESS' ' Principe du maximum ' ;
  314. 'MESS' ' Max et min théorique ' T1 T0 ;
  315. 'MESS' ' Max et min par maille ' PMA PMI ;
  316. 'MESS' ' Précision demandée ' CRIT1 ;
  317. 'MESS' ' ' ;
  318. * Centre de gravité
  319. M0 = 'KCHA' MODHYB 'CHAM' EPR1 ;
  320. M1 = 'INTG' MODHYB M0 ;
  321. *
  322. XV1 = XC * EPR1 ;
  323. MXV1 = 'KCHA' MODHYB 'CHAM' XV1 ;
  324. XV2 = 'INTG' MODHYB MXV1 ;
  325. XV3 = XV2 / M1 ;
  326. YV1 = YC * EPR1 ;
  327. MYV1 = 'KCHA' MODHYB 'CHAM' YV1 ;
  328. YV2 = 'INTG' MODHYB MYV1 ;
  329. YV3 = YV2 / M1 ;
  330. XTEST = TTRA / 2.D0 ;
  331. *
  332. 'SAUT' 1 'LIGNE' ;
  333. 'MESS' ' Centre de gravité du nuage ' ;
  334. 'MESS' ' THEORIQUE ' XTEST HS2 ;
  335. 'MESS' ' OBTENU ' XV3 YV3 ;
  336. 'MESS' ' TAILLE D UNE MAILLE ' DX ;
  337. 'MESS' ' ' ;
  338. 'SAUT' 1 'LIGNE' ;
  339. * Tests de non regression
  340. 'SI' ( VTEST 'NEG' CTT1 CRIT1 ) ;
  341. IOK = VRAI ;
  342. 'FINS' ;
  343. 'SI' ( XV3 'NEG' XTEST DX ) ;
  344. IOK = VRAI ;
  345. 'FINS' ;
  346. 'SI' ( YV3 'NEG' HS2 CRIT1 ) ;
  347. IOK = VRAI ;
  348. 'FINS' ;
  349. *
  350. 'SI' ('NEG' GRAPH 'N' ) ;
  351. LTI2 = 'CHAINE' 'Front 1D-h temps ' TTRA ;
  352. 'TITR' LTI2 ;
  353. AV2 = 'EVOL' 'ROUG' 'CHPO' EPR1 'H' DRMIC ;
  354. 'DESS' AV2 'MIMA' ;
  355. 'FINS' ;
  356. *
  357. *-------------
  358. FIN VISURESU ;
  359. *-------------
  360. *
  361. *
  362. 'SI' ( IOK ) ;
  363. mess 'erreur' ((VTEST - T1) / T1);
  364. mess 'erreur' ((XV3 - XTEST) / XTEST);
  365. mess 'erreur' ((YV3 - HS2) / HS2);
  366. 'ERRE' 5 ;
  367. 'SINO' ;
  368. 'ERRE' 0 ;
  369. 'FINSI' ;
  370. *
  371. 'FIN' ;
  372.  
  373.  
  374.  

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