Télécharger precipite1VF.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : precipite1VF.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. ********************* CAS TEST : transport1.dgibi ********************
  6. *
  7. GRAPH = 'N' ;
  8. 'OPTI' 'ECHO' 1 ;
  9. CRIT1 = 1.D-3 ;
  10. 'SAUT' 'PAGE' ;
  11. *
  12. *---------------------------------------------------------------------
  13. * TEST TRANSPORT1
  14. * uniquement de la précipitation cinétique ordre 1
  15. * tout uniforme - pas de vitesse
  16. * revient à resoudre Rw dC/dt = codis w (limsol - C)
  17. * d(1-w)F/DT = - codis w (limsol -C)
  18. * solution C(t) = limsol * (1 - exp(-codis * t /R))
  19. *
  20. * pour une quantité initiale suffisante de précipité
  21. *
  22. * F(t) = F(0) - (C(t) * w * R / (1 - w))
  23. *
  24. *---------------------------------------------------------------------
  25. *
  26. *------------------
  27. * Options generales
  28. *------------------
  29. *
  30. 'OPTI' 'DIME' 2 'ELEM' 'QUA4' ;
  31. 'OPTI' 'ISOV' 'SURF' ;
  32. *
  33. *
  34. *=========
  35. * MAILLAGE
  36. *=========
  37. *
  38. *
  39. *- Création des points supports du contour du domaine, et des droites
  40. *- passant par les centres et les faces pour le post-traitement.
  41. *
  42. L = 100.D0 ;
  43. H = 1.D0 ;
  44. HS2 = H/2.D0 ;
  45. X0 = 0.D0 ;
  46. X1 = X0 + L ;
  47. Y0 = 0.D0 ;
  48. Y1 = Y0 + H ;
  49. INUMX = 10 ;
  50. INUMY = 1 ;
  51. INUM1 = INUMX - 1 ;
  52.  
  53. DX = X1 - X0 / INUMX ;
  54.  
  55. A1 = X0 Y0 ;
  56. A3 = X1 Y0 ;
  57. D1 = X0 Y1 ;
  58. D3 = X1 Y1 ;
  59.  
  60. *
  61. *- Création des DROITES frontieres
  62. *
  63. DRBAS = A3 'DROI' INUMX A1 ;
  64. DRGAU = A1 'DROI' INUMY D1 ;
  65. DRHAU = D1 'DROI' INUMX D3 ;
  66. DRDRO = D3 'DROI' INUMY A3 ;
  67. PELIM = DX / (5. * INUMX) ;
  68. *
  69. *- Creation maillage GEOMETRIQUE
  70. *
  71. PTOT1 = 'DALL' DRBAS DRGAU DRHAU DRDRO ;
  72. PTOT1 = 'ORIE' PTOT1 ;
  73. *
  74. *- Creation maillage HYBRIDE y compris sous-objets (cond. limites)
  75. *
  76. QFTOT= 'CHAN' PTOT1 QUAF ;
  77. QFGAU= 'CHAN' DRGAU QUAF ;
  78. QFDRO= 'CHAN' DRDRO QUAF ;
  79. ELIM PELIM (QFTOT ET QFGAU ET QFDRO) ;
  80. *
  81. *================
  82. * INITIALISATIONS
  83. *================
  84. *
  85. * ----------------
  86. * = MODELISATION =
  87. * ----------------
  88. MODHYB = MODE QFTOT 'DARCY' 'ANISOTROPE' ;
  89. MODDRO = MODE QFDRO 'DARCY' 'ISOTROPE' ;
  90. MODGAU = MODE QFGAU 'DARCY' 'ISOTROPE' ;
  91.  
  92. *
  93. * ---------------------
  94. * = Donnees physiques =
  95. * ---------------------
  96. *
  97.  
  98. * ---------------------
  99. * DIFFUSIVITE
  100. * ---------------------
  101.  
  102. VK = 1.D-0 ;
  103. MATI2 = MANU 'CHPO' ('DOMA' MODHYB 'CENTRE') 'K' VK ;
  104.  
  105.  
  106. * ---------------------
  107. * VITESSE
  108. * ---------------------
  109.  
  110. VX1 = 1.D0 ; VY1 = 0.D0 ;
  111. *
  112. SPEED = 'MANU' 'CHPO' ('DOMA' MODHYB 'FACE') 2
  113. 'VX' VX1 'VY' VY1 'NATURE' 'DISCRET' ;
  114. SPEEDC = 'MANU' 'CHPO' ('DOMA' MODHYB 'CENTRE') 2
  115. 'VX' VX1 'VY' VY1 'NATURE' 'DISCRET' ;
  116. *
  117. * -----------------------
  118. * Donnees transitoire
  119. * -----------------------
  120. *
  121. TETA = 1.00D0 ;
  122. TMIN = 0.D0 ;
  123. TMAX = 30.00D0 ;
  124. TSUP = 1.2D0 * TMAX ;
  125. DELTAT = 0.250D0 ;
  126. *
  127. LICALC = 'PROG' TMIN 'PAS' DELTAT TMAX ;
  128. LISAUV = LICALC ;
  129.  
  130.  
  131. *
  132. * ------------------------
  133. * Conditions initiales
  134. * ------------------------
  135.  
  136. T0 = 0.D0 ;
  137. CINI = 'MANU' 'CHPO' ('DOMA' MODHYB 'CENTRE') 1 'H' T0
  138. 'NATURE' 'DISCRET' ;
  139.  
  140.  
  141. * --------------
  142. * T imposée
  143. * --------------
  144.  
  145. TGAUCHE = 0.D0 ;
  146. T1 = TGAUCHE;
  147. TGAUCHE = 'KCHT' MODGAU SCAL CENTRE (1.D0 * TGAUCHE);
  148. TGAUCHE = 'CHAR' TGAUCHE
  149. ('EVOL' 'MANU' ('PROG' 0. TSUP) ('PROG' 1. 1.));
  150.  
  151. *
  152. * ---------------------------
  153. * = Table DARCY_TRANSITOIRE =
  154. * ---------------------------
  155. *
  156. *
  157. *
  158.  
  159. *-- Table de transport :
  160. Transp = 'TABLE';
  161. Transp . 'MODELE' = MODHYB ;
  162. Transp.'TEMPS' = 'TABLE';
  163. Transp.'CONCENTRATION' = 'TABLE';
  164. Transp.'FLUXDIFF' = 'TABLE';
  165. Transp.'FLUXCONV' = 'TABLE';
  166. Transp.'CARACTERISTIQUES' = MATI2;
  167. Transp.'POROSITE' = 0.2D0;
  168. Transp.'COEF_RETARD' = 10.D0;
  169. *Transp.'CONVECTION' = 0.D0 * SPEED ;
  170. *Transp.'VITELEM' = 0.D0 * SPEEDC ;
  171. *Transp . 'ALPHAL' = MANU 'CHPO' (doma MODHYB centre)
  172. * 'SCAL' 1.D0;
  173. *Transp . 'ALPHAT' = MANU 'CHPO' (doma MODHYB centre)
  174.  
  175. *Transp.'DECROISSANCE' = ('LOG' 2.D0) '/' 5.D0;
  176.  
  177. * 'SCAL' 0.D0;
  178.  
  179. * Conditions initiales :
  180. Transp.'TEMPS'. 0 = TMIN ;
  181. Transp.'CONCENTRATION'. 0 = CINI ;
  182. Transp.'FLUXDIFF'. 0 = 'MANUEL' 'CHPO'
  183. (doma MODHYB face) 'SCAL' 0.D0 ;
  184. Transp.'FLUXCONV'. 0 = 'MANUEL' 'CHPO'
  185. (doma MODHYB face) 'SCAL' 0.D0 ;
  186.  
  187. * Conditions aux limites DIRICHLET à gauche:
  188. *Transp . 'TRACE_IMPOSE' = TGAUCHE ;
  189.  
  190. * CONDITION FLUX MIXTE à gauche
  191. *Transp . 'FLUXTOT_IMP' = TGAUCHE ;
  192.  
  193. * Fluxdiffusif a gauche
  194. Transp . 'FLUX_IMPOSE' = TGAUCHE ;
  195.  
  196.  
  197. * Paramètres numériques :
  198. Transp.'THETA_DIFF' = 1.D0;
  199. Transp.'THETA_CONV' = 1.D0;
  200. Transp.'THETA_DEC' = 0.5D0;
  201. Transp.'LUMP' = FAUX;
  202. Transp.'TYPDISCRETISATION' = 'VF';
  203. Transp.'DECENTR' = VRAI;
  204. Transp.'NUM_PECLET' = 2.D0;
  205. Transp.'SEUILCALC' = 1.D-15;
  206.  
  207. TABRES = table METHINV;
  208. TABRES . 'TYPINV' = 1;
  209. TABRES . 'PRECOND' = 3;
  210.  
  211. Transp . 'METHINV' = TABRES;
  212.  
  213.  
  214. Transp.'TEMPS_CALCULES' = LiCalc;
  215. Transp.'TEMPS_SAUVES' = LiSauv;
  216.  
  217.  
  218. Transp . INTCONC = TABLE;
  219. Transp . INTCONC . 0 = 0.D0 * CINI;
  220.  
  221.  
  222. * Precipité
  223.  
  224. * CE SONT DES CHAMPS . A CORRIGER
  225. Transp . 'LIMITE_SOLUBILITE' = MANU 'CHPO' (doma MODHYB centre)
  226. 'SCAL' 0.25D0;
  227.  
  228. Transp . 'COEF_DISSOLUTION' = MANU 'CHPO' (doma MODHYB centre)
  229. 'SCAL' 2.5D0 ;
  230.  
  231. Transp . 'PRECIPITE' = 'TABLE' ;
  232. Transp . 'PRECIPITE' . 0 = MANU 'CHPO' (doma MODHYB centre)
  233. 'SCAL' 1.D0;
  234.  
  235. Transp . INTPREC = TABLE;
  236. Transp . INTPREC . 0 = 0.D0 * CINI;
  237.  
  238. * IL FAUT UN INDICE DISSOLUTION
  239.  
  240. Transp . 'DISSOLUTION' = 'TABLE' ;
  241. Transp . 'DISSOLUTION' . 0 = 0.D0 * CINI;
  242.  
  243.  
  244.  
  245. * TESTER UN TERME SOURCE; TESTER UNE SEULE MAILLE,
  246. * TESTER CONVECTION PURE ...... TRES IMPORTATN
  247. * TESTER DECROISSANCE '-' filiation
  248. * TESTER FLUX imposés, dissolution, precipitation
  249. * retard poros, diffusion seule.
  250. * changer poros ne devrait rien change 'SAUF' niveau source
  251. * ==========
  252. * | CALCUL |
  253. * ==========
  254.  
  255.  
  256. *=======================
  257. * Resolution transitoire
  258. *=======================
  259. *
  260. TRANSGEN TRANSP ;
  261. *
  262. *
  263. *=================
  264. * POST-TRAITEMENT
  265. *=================
  266.  
  267. TRANS2 = TABLE TRANSP;
  268.  
  269. *
  270. *--------------------------------------------------------------------
  271. * Dans chaque cas on trace
  272. * La trace de concentration le long de DRMID
  273. * La concentration le long de DRMIC
  274. *--------------------------------------------------------------------
  275. * Tests de NON-REGRESSION :
  276. * Principe du maximum
  277. * Position du centre de gravité du champ de concentration
  278. *--------------------------------------------------------------------
  279. *
  280. * Critères numériques
  281. CFL = VX1 * DELTAT / DX ;
  282. PEK = VX1 * DX / (2. * VK) ;
  283. FOU = 2. * VK * DELTAT / (DX * DX) ;
  284. 'SAUT' 1 'LIGNE' ;
  285. 'MESS' ' Critères numériques ' ;
  286. 'MESS' ' CFL ' CFL ;
  287. 'MESS' ' PECLET ' PEK ;
  288. 'MESS' ' FOURIER ' FOU ;
  289. 'MESS' ' ' ;
  290. *
  291. XC YC = 'COOR' (DOMA MODHYB 'CENTRE') ;
  292. ISOR1 = INDEX ( TRANS2 . 'TEMPS') ;
  293. NTSOR = DIME ISOR1 ;
  294.  
  295.  
  296. NTSO1 = NTSOR - 1 ;
  297. IOK = FAUX ;
  298. IRESU = 1 ;
  299. *
  300. *-----------------------
  301. REPETER VISURESU NTSO1 ;
  302. *-----------------------
  303. *
  304. IRESU = IRESU + 1 ;
  305. INDI1 = ISOR1.IRESU ;
  306. TTRA = TRANS2 . 'TEMPS' . INDI1 ;
  307. EPR1 = TRANS2 . 'CONCENTRATION' . INDI1 ;
  308.  
  309. *
  310. 'SI' ('NEG' GRAPH 'N' ) ;
  311. LTI2 = 'CHAINE' 'Front 1D-h temps ' TTRA ;
  312. 'TITR' LTI2 ;
  313. drmil = 'QUELCONQUE' 'SEG2' ('EXTRAIRE' epr1 maillage) ;
  314. drmil = 'INVERSE' drmil ;
  315. AV2 = 'EVOL' 'ROUG' 'CHPO' EPR1 'H' drmil ;
  316. * 'DESS' AV2 'MIMA' 'NCLK' ;
  317. toto = 'KCHA' modhyb epr1 'CHAM';
  318. 'TRACER' modhyb toto 'NCLK';
  319. 'FINS' ;
  320.  
  321. * concentration au temps t
  322. conct = maxi EPR1 ;
  323.  
  324. limsol = Transp . 'LIMITE_SOLUBILITE' ;
  325. retard = Transp . 'COEF_RETARD' ;
  326. codis = transp . 'COEF_DISSOLUTION' ;
  327. solu = limsol *
  328. (1.D0 - (exp (-1.D0 * codis * ttra / retard))) ;
  329. solu = 'MAXIMUM' solu;
  330. errconc = 'ABS' (conct - solu / solu) ;
  331. 'MESSAGE' 'erreur concentration' errconc;
  332.  
  333.  
  334. *
  335. *-------------
  336. FIN VISURESU ;
  337. *-------------
  338.  
  339. 'SI' (errconc > CRIT1 ) ;
  340. 'ERRE' 5 ;
  341. 'SINO' ;
  342. 'ERRE' 0 ;
  343. 'FINSI' ;
  344. *
  345. 'FIN' ;
  346.  
  347.  
  348. *
  349. *'FIN' ;
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  

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