Télécharger precipite1EFMH.dgibi
* fichier : precipite1EFMH.dgibi ************************************************************************ ************************************************************************ * ********************* CAS TEST : transport1.dgibi ******************** * GRAPH = 'N' ; CRIT1 = 1.D-3 ; 'SAUT' 'PAGE' ; * *--------------------------------------------------------------------- * TEST TRANSPORT1 * uniquement de la précipitation cinétique ordre 1 * tout uniforme - pas de vitesse * revient à resoudre Rw dC/dt = codis w (limsol - C) * d(1-w)F/DT = - codis w (limsol -C) * solution C(t) = limsol * (1 - exp(-codis * t /R)) * * pour une quantité initiale suffisante de précipité * * F(t) = F(0) - (C(t) * w * R / (1 - w)) * *--------------------------------------------------------------------- * *------------------ * Options generales *------------------ * * * *========= * MAILLAGE *========= * * *- Création des points supports du contour du domaine, et des droites *- passant par les centres et les faces pour le post-traitement. * L = 100.D0 ; H = 1.D0 ; HS2 = H/2.D0 ; X0 = 0.D0 ; X1 = X0 + L ; Y0 = 0.D0 ; Y1 = Y0 + H ; INUMX = 10 ; INUMY = 1 ; INUM1 = INUMX - 1 ; DX = X1 - X0 / INUMX ; A1 = X0 Y0 ; A3 = X1 Y0 ; D1 = X0 Y1 ; D3 = X1 Y1 ; * *- Création des DROITES frontieres * PELIM = DX / (5. * INUMX) ; * *- Creation maillage GEOMETRIQUE * * *- Creation maillage HYBRIDE y compris sous-objets (cond. limites) * * *================ * INITIALISATIONS *================ * * ---------------- * = MODELISATION = * ---------------- * * --------------------- * = Donnees physiques = * --------------------- * * --------------------- * DIFFUSIVITE * --------------------- VK = 1.D-0 ; * --------------------- * VITESSE * --------------------- VX1 = 1.D0 ; VY1 = 0.D0 ; * 'VX' VX1 'VY' VY1 'NATURE' 'DISCRET' ; 'VX' VX1 'VY' VY1 'NATURE' 'DISCRET' ; * * ----------------------- * Donnees transitoire * ----------------------- * TETA = 1.00D0 ; TMIN = 0.D0 ; TMAX = 30.00D0 ; TSUP = 1.2D0 * TMAX ; DELTAT = 0.250D0 ; * LISAUV = LICALC ; * * ------------------------ * Conditions initiales * ------------------------ T0 = 0.D0 ; 'NATURE' 'DISCRET' ; * -------------- * T imposée * -------------- TGAUCHE = 0.D0 ; T1 = TGAUCHE; TGAUCHE = 'CHAR' TGAUCHE * * --------------------------- * = Table DARCY_TRANSITOIRE = * --------------------------- * * * *-- Table de transport : Transp = 'TABLE'; Transp . 'MODELE' = MODHYB ; Transp.'TEMPS' = 'TABLE'; Transp.'CONCENTRATION' = 'TABLE'; Transp.'FLUXDIFF' = 'TABLE'; Transp.'FLUXCONV' = 'TABLE'; Transp.'CARACTERISTIQUES' = MATI2; Transp.'POROSITE' = 0.2D0; Transp.'COEF_RETARD' = 10.D0; *Transp.'CONVECTION' = 0.D0 * SPEED ; *Transp.'VITELEM' = 0.D0 * SPEEDC ; *Transp . 'ALPHAL' = MANU 'CHPO' (doma MODHYB centre) * 'SCAL' 1.D0; *Transp . 'ALPHAT' = MANU 'CHPO' (doma MODHYB centre) *Transp.'DECROISSANCE' = ('LOG' 2.D0) '/' 5.D0; * 'SCAL' 0.D0; * Conditions initiales : Transp.'TEMPS'. 0 = TMIN ; Transp.'CONCENTRATION'. 0 = CINI ; * Conditions aux limites DIRICHLET à gauche: *Transp . 'TRACE_IMPOSE' = TGAUCHE ; * CONDITION FLUX MIXTE à gauche *Transp . 'FLUXTOT_IMP' = TGAUCHE ; * Fluxdiffusif a gauche Transp . 'FLUX_IMPOSE' = TGAUCHE ; * Paramètres numériques : Transp.'THETA_DIFF' = 1.D0; Transp.'THETA_CONV' = 1.D0; Transp.'THETA_DEC' = 0.5D0; Transp.'TYPDISCRETISATION' = 'EFMH'; Transp.'DECENTR' = VRAI; Transp.'NUM_PECLET' = 2.D0; Transp.'SEUILCALC' = 1.D-15; TABRES = table METHINV; TABRES . 'TYPINV' = 1; TABRES . 'PRECOND' = 3; Transp . 'METHINV' = TABRES; Transp.'TEMPS_CALCULES' = LiCalc; Transp.'TEMPS_SAUVES' = LiSauv; Transp . INTCONC = TABLE; Transp . INTCONC . 0 = 0.D0 * CINI; * Precipité * CE SONT DES CHAMPS . A CORRIGER 'SCAL' 0.25D0; 'SCAL' 2.5D0 ; Transp . 'PRECIPITE' = 'TABLE' ; 'SCAL' 1.D0; Transp . INTPREC = TABLE; Transp . INTPREC . 0 = 0.D0 * CINI; * IL FAUT UN INDICE DISSOLUTION Transp . 'DISSOLUTION' = 'TABLE' ; Transp . 'DISSOLUTION' . 0 = 0.D0 * CINI; * TESTER UN TERME SOURCE; TESTER UNE SEULE MAILLE, * TESTER CONVECTION PURE ...... TRES IMPORTATN * TESTER DECROISSANCE '-' filiation * TESTER FLUX imposés, dissolution, precipitation * retard poros, diffusion seule. * changer poros ne devrait rien change 'SAUF' niveau source * ========== * | CALCUL | * ========== *======================= * Resolution transitoire *======================= * TRANSGEN TRANSP ; * * *================= * POST-TRAITEMENT *================= TRANS2 = TABLE TRANSP; * *-------------------------------------------------------------------- * Dans chaque cas on trace * La trace de concentration le long de DRMID * La concentration le long de DRMIC *-------------------------------------------------------------------- * Tests de NON-REGRESSION : * Principe du maximum * Position du centre de gravité du champ de concentration *-------------------------------------------------------------------- * * Critères numériques PEK = VX1 * DX / (2. * VK) ; FOU = 2. * VK * DELTAT / (DX * DX) ; 'MESS' ' PECLET ' PEK ; 'MESS' ' FOURIER ' FOU ; 'MESS' ' ' ; * ISOR1 = INDEX ( TRANS2 . 'TEMPS') ; NTSO1 = NTSOR - 1 ; IOK = FAUX ; IRESU = 1 ; * *----------------------- REPETER VISURESU NTSO1 ; *----------------------- * IRESU = IRESU + 1 ; INDI1 = ISOR1.IRESU ; TTRA = TRANS2 . 'TEMPS' . INDI1 ; EPR1 = TRANS2 . 'CONCENTRATION' . INDI1 ; * 'SI' ('NEG' GRAPH 'N' ) ; LTI2 = 'CHAINE' 'Front 1D-h temps ' TTRA ; 'TITR' LTI2 ; drmil = 'QUELCONQUE' 'SEG2' ('EXTRAIRE' epr1 maillage) ; drmil = 'INVERSE' drmil ; * 'DESS' AV2 'MIMA' 'NCLK' ; 'TRACER' modhyb toto 'NCLK'; 'FINS' ; * concentration au temps t limsol = Transp . 'LIMITE_SOLUBILITE' ; retard = Transp . 'COEF_RETARD' ; codis = transp . 'COEF_DISSOLUTION' ; solu = limsol * (1.D0 - (exp (-1.D0 * codis * ttra / retard))) ; solu = 'MAXIMUM' solu; errconc = 'ABS' (conct - solu / solu) ; 'MESSAGE' 'erreur concentration' errconc; * *------------- FIN VISURESU ; *------------- 'SI' (errconc > CRIT1 ) ; 'SINO' ; 'FINSI' ; * 'FIN' ; * *'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales