Télécharger transport1.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : transport1.dgibi
  2. *
  3. ********************* CAS TEST : transport1.dgibi ********************
  4. *
  5. GRAPH = 'N' ;
  6. 'OPTI' 'ECHO' 0 ;
  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; sur les autres frontières ce sont
  34. * les conditions aux limites naturelles.
  35. *
  36. * Le schéma en temps utilisé est le schéma d'Euler implicite
  37. * (teta-méthode avec teta=1.0).
  38. *
  39. * Données physiques :
  40. * VK : Coefficient de diffusion ................. 1.D-2
  41. * VX1 : Vitesse suivant x......................... 1.
  42. * VY1 : Vitesse suivant y......................... 0.
  43. * T0 : Concentration initiale.................... 0.
  44. * T1 : Concentration en entrée................... 1.
  45. *
  46. * Données temporelles :
  47. * TMIN : Temps initial............................. 0.
  48. * TMAX : Temps final............................... 30.
  49. * DELTAT: Pas de temps.............................. 1.
  50. * T0 : Concentration initiale.................... 0.
  51. * T1 : Concentration en entrée................... 1.
  52. *
  53. * Parametres de maillage :
  54. * L : longueur du domaine ....................... 100.
  55. * H : hauteur du domaine ........................ 1.
  56. * INUMX : Nombre d'éléments en x .................... 100
  57. * INUMY : Nombre d'éléments en y .................... 1 car 1D
  58. *
  59. *---------------------------------------------------------------------
  60. *
  61. *------------------
  62. * Options generales
  63. *------------------
  64. *
  65. 'OPTI' 'DIME' 2 'ELEM' 'QUA4' ;
  66. 'OPTI' 'ISOV' 'SURF' ;
  67. *
  68. *
  69. *=========
  70. * MAILLAGE
  71. *=========
  72. *
  73. *
  74. *- Création des points supports du contour du domaine, et des droites
  75. *- passant par les centres et les faces pour le post-traitement.
  76. *
  77. L = 100.D0 ;
  78. LS2 = L / 2.D0 ;
  79. H = 1.D0 ;
  80. HS2 = H / 2.D0 ;
  81. X0 = 0.D0 ;
  82. X1 = X0 + L ;
  83. Y0 = 0.D0 ;
  84. Y1 = Y0 + H ;
  85. INUMX = 100 ;
  86. INUMY = 1 ;
  87. INUM1 = INUMX - 1 ;
  88. Y01 = Y0 + Y1 * 0.5D0 ;
  89. DX = X1 - X0 / INUMX ;
  90. DX1 = DX / 2.D0 ;
  91. XG = X0 + DX1 ;
  92. XD = X1 - DX1 ;
  93. *
  94. A1 = X0 Y0 ;
  95. A3 = X1 Y0 ;
  96. D1 = X0 Y1 ;
  97. D3 = X1 Y1 ;
  98. B1 = X0 Y01 ;
  99. B3 = X1 Y01 ;
  100. C1 = XG Y01 ;
  101. C3 = XD Y01 ;
  102. P6 = LS2 Y01 ;
  103. *
  104. *- Création des DROITES frontieres
  105. *
  106. DRBAS = A3 'DROI' INUMX A1 ;
  107. DRGAU = A1 'DROI' INUMY D1 ;
  108. DRHAU = D1 'DROI' INUMX D3 ;
  109. DRDRO = D3 'DROI' INUMY A3 ;
  110. PELIM = DX1 / (5. * INUMX) ;
  111. *
  112. *- Creation maillage GEOMETRIQUE
  113. *
  114. PTOT1 = 'DALL' DRBAS DRGAU DRHAU DRDRO ;
  115. PTOT2 = 'ORIE' PTOT1 ;
  116. *
  117. *- Creation maillage HYBRIDE y compris sous-objets (cond. limites)
  118. *
  119. DRMID = B1 'DROI' INUMX B3 ;
  120. DRMIC = C1 'DROI' INUM1 C3 ;
  121. EXT1 = 'MANU' 'POI1' B1 ;
  122. *
  123. QFTOT= 'CHAN' PTOT2 QUAF ;
  124. QFGAU= 'CHAN' DRGAU QUAF ;
  125. QFDRO= 'CHAN' DRDRO QUAF ;
  126. ELIM PELIM (QFTOT ET QFGAU ET QFDRO ET DRMID ET DRMIC ET EXT1) ;
  127. *
  128. *================
  129. * INITIALISATIONS
  130. *================
  131. *
  132. * ----------------
  133. * = MODELISATION =
  134. * ----------------
  135. MODHYB = MODE QFTOT 'DARCY' 'ISOTROPE' ;
  136. MODDRO = MODE QFDRO 'DARCY' 'ISOTROPE' ;
  137. MODGAU = MODE QFGAU 'DARCY' 'ISOTROPE' ;
  138. CHYB1 = 'DOMA' MODHYB 'SURFACE' ;
  139. CHYB2 = 'DOMA' MODHYB 'NORMALE' ;
  140. *
  141. * ---------------------
  142. * = Donnees physiques =
  143. * ---------------------
  144. *
  145. T0 = 0.D0 ; T1 = 1.D0 ;
  146. VX1 = 1.D0 ; VY1 = 0.D0 ;
  147. VK = 1.D-2 ;
  148. MATI2 = 'MATE' MODHYB 'K' VK ;
  149. *
  150. SPEED = 'MANU' 'CHPO' ('DOMA' MODHYB 'FACE') 2
  151. 'VX' VX1 'VY' VY1 'NATURE' 'DISCRET' ;
  152. MOT1 = 'MOTS' 'VX' 'VY' ;
  153. MOT2 = 'MOTS' 'UX' 'UY' ;
  154. FLU1 = 'PSCA' SPEED CHYB2 MOT1 MOT2 ;
  155. FLU2 = CHYB1 * FLU1 ;
  156. FLU3 = 'NOMC' 'FLUX' FLU2 ;
  157. *
  158. * -----------------------
  159. * = Donnees transitoire =
  160. * -----------------------
  161. * TETA : Parametre de le theta-méthode
  162. * TMAX : Temps final
  163. * TSUP : Temps pour conditions aux limites
  164. * DELTAT : Pas de temps
  165. *
  166. TETA = 1.00D0 ;
  167. TMIN = 0.D0 ;
  168. TMAX = 30.00D0 ;
  169. TSUP = 1.2D0 * TMAX ;
  170. DELTAT = 1.0D0 ;
  171. *
  172. LICALC = 'PROG' TMIN 'PAS' DELTAT TMAX ;
  173. LISAUV = 'PROG' TMAX ;
  174. *
  175. * ------------------------
  176. * = Conditions initiales =
  177. * ------------------------
  178. TFHY0 = 'MANU' 'CHPO' ('DOMA' MODHYB 'FACE') 1 'TH' T0
  179. 'NATURE' 'DISCRET' ;
  180. TFHY1 = 'MANU' 'CHPO' EXT1 1 'TH' T1 'NATURE' 'DISCRET' ;
  181. TFHYB = TFHY0 'ET' TFHY1 ;
  182. CND1A = 'MHYB' MODHYB MATI2 ;
  183. TCHYB = 'HYBP' MODHYB CND1A TFHYB ;
  184. FLHYB = 'HDEB' MODHYB CND1A TCHYB TFHYB ;
  185. *
  186. * --------------
  187. * = T imposée =
  188. * --------------
  189. BBGAU = 'BLOQ' ('DOMA' MODGAU 'CENTRE') 'TH' ;
  190. EEGAU = 'DEPI' BBGAU T1 ;
  191. CHAGAU = 'CHAR' EEGAU ('EVOL' 'MANU' ('PROG' 0. TSUP) ('PROG' 1. 1.)) ;
  192. *
  193. * ---------------------------
  194. * = Table DARCY_TRANSITOIRE =
  195. * ---------------------------
  196. TRANS2 = 'TABLE' ;
  197. TRANS2.'TEMPS' = 'TABLE' ;
  198. TRANS2.'TRACE_CONC' = 'TABLE' ;
  199. TRANS2.'CONCENTRATION' = 'TABLE' ;
  200. TRANS2.'FLUX' = 'TABLE' ;
  201. *
  202. TRANS2.'SOUSTYPE' = 'DARCY_TRANSITOIRE' ;
  203. TRANS2.'MODELE' = MODHYB ;
  204. TRANS2.'CARACTERISTIQUES' = MATI2 ;
  205. TRANS2.'CONVECTION' = FLU3 ;
  206. *
  207. TRANS2.'TEMPS' . 0 = TMIN ;
  208. TRANS2.'TRACE_CONC' . 0 = TFHYB ;
  209. TRANS2.'CONCENTRATION' . 0 = TCHYB ;
  210. TRANS2.'FLUX' . 0 = FLHYB ;
  211. *
  212. TRANS2.'BLOCAGE' = BBGAU ;
  213. TRANS2.'TRACE_IMPOSE' = CHAGAU ;
  214. TRANS2.'THETA_DIFF' = TETA ;
  215. TRANS2.'TEMPS_CALCULES' = LICALC ;
  216. TRANS2.'TEMPS_SAUVES' = LISAUV ;
  217. *
  218. *=======================
  219. * Resolution transitoire
  220. *=======================
  221. *
  222. DARCYTRA TRANS2 ;
  223. *
  224. *
  225. *=================
  226. * POST-TRAITEMENT
  227. *=================
  228. *
  229. *--------------------------------------------------------------------
  230. * Dans chaque cas on trace
  231. * La trace de concentration le long de DRMID
  232. * La concentration le long de DRMIC
  233. *--------------------------------------------------------------------
  234. * Tests de NON-REGRESSION :
  235. * Principe du maximum
  236. * Position du centre de gravité du champ de concentration
  237. *--------------------------------------------------------------------
  238. *
  239. * Critères numériques
  240. CFL = VX1 * DELTAT / DX ;
  241. PEK = VX1 * DX / (2. * VK) ;
  242. FOU = 2. * VK * DELTAT / (DX * DX) ;
  243. 'SAUT' 1 'LIGNE' ;
  244. 'MESS' '.................Critères numériques....................' ;
  245. 'MESS' ' CFL ' CFL ;
  246. 'MESS' ' PECLET ' PEK ;
  247. 'MESS' ' FOURIER ' FOU ;
  248. 'MESS' '........................................................' ;
  249. *
  250. XC YC = 'COOR' (DOMA MODHYB 'CENTRE') ;
  251. ISOR1 = INDEX ( TRANS2 . 'TEMPS') ;
  252. NTSOR = DIME ISOR1 ;
  253. NTSO1 = NTSOR - 1 ;
  254. IOK = FAUX ;
  255. IRESU = 1 ;
  256. *
  257. *-----------------------
  258. REPETER VISURESU NTSO1 ;
  259. *-----------------------
  260. *
  261. IRESU = IRESU + 1 ;
  262. INDI1 = ISOR1.IRESU ;
  263. TTRA = TRANS2 . 'TEMPS' . INDI1 ;
  264. * Principe du maximum
  265. ETP1 = TRANS2 . 'TRACE_CONC' . INDI1 ;
  266. TPMA = 'MAXI' ETP1 ; TPMI = 'MINI' ETP1 ;
  267. EPR1 = TRANS2 . 'CONCENTRATION' . INDI1 ;
  268. PMA = 'MAXI' EPR1 ; PMI = 'MINI' EPR1 ;
  269. VTEST = TPMA + TPMI + PMA + PMI / 2.D0 ;
  270. 'SAUT' 1 'LIGNE' ;
  271. 'MESS' '.................Principe du maximum....................' ;
  272. 'MESS' ' Max et min théorique ' T1 T0 ;
  273. 'MESS' ' Max et min par maille ' PMA PMI ;
  274. 'MESS' ' Max et min par face ' TPMA TPMI ;
  275. 'MESS' ' Précision demandée ' CRIT1 ;
  276. 'MESS' '........................................................' ;
  277. * Centre de gravité
  278. M0 = 'KCHA' MODHYB 'CHAM' EPR1 ;
  279. M1 = 'INTG' MODHYB M0 ;
  280. *
  281. XV1 = XC * EPR1 ;
  282. MXV1 = 'KCHA' MODHYB 'CHAM' XV1 ;
  283. XV2 = 'INTG' MODHYB MXV1 ;
  284. XV3 = XV2 / M1 ;
  285. YV1 = YC * EPR1 ;
  286. MYV1 = 'KCHA' MODHYB 'CHAM' YV1 ;
  287. YV2 = 'INTG' MODHYB MYV1 ;
  288. YV3 = YV2 / M1 ;
  289. XTEST = TTRA / 2.D0 ;
  290. *
  291. 'SAUT' 1 'LIGNE' ;
  292. 'MESS' '.................Centre de gravité du nuage.............' ;
  293. 'MESS' ' THEORIQUE ' XTEST HS2 ;
  294. 'MESS' ' OBTENU ' XV3 YV3 ;
  295. 'MESS' ' TAILLE D UNE MAILLE ' DX ;
  296. 'MESS' '........................................................' ;
  297. 'SAUT' 1 'LIGNE' ;
  298. *............................................. Tests de non regression
  299. 'SI' ( VTEST 'NEG' T1 CRIT1 ) ;
  300. IOK = VRAI ;
  301. 'FINS' ;
  302. 'SI' ( XV3 'NEG' XTEST DX ) ;
  303. IOK = VRAI ;
  304. 'FINS' ;
  305. 'SI' ( YV3 'NEG' HS2 CRIT1 ) ;
  306. IOK = VRAI ;
  307. 'FINS' ;
  308. *
  309. 'SI' ('NEG' GRAPH 'N' ) ;
  310. LTI1 = 'CHAINE' 'Front 1D-Th temps ' TTRA ;
  311. 'TITR' LTI1 ;
  312. AV1 = 'EVOL' 'ROUG' 'CHPO' ETP1 'TH' DRMID ;
  313. 'DESS' AV1 'MIMA' ;
  314. LTI2 = 'CHAINE' 'Front 1D-h temps ' TTRA ;
  315. 'TITR' LTI2 ;
  316. AV2 = 'EVOL' 'ROUG' 'CHPO' EPR1 'H' DRMIC ;
  317. 'DESS' AV2 'MIMA' ;
  318. 'FINS' ;
  319. *
  320. *-------------
  321. FIN VISURESU ;
  322. *-------------
  323. *
  324. *
  325. 'SI' ( IOK ) ;
  326. 'ERRE' 5 ;
  327. 'SINO' ;
  328. 'ERRE' 0 ;
  329. 'FINSI' ;
  330. *
  331. 'FIN' ;
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  

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