Télécharger precipite4EFMH.dgibi
* fichier : precipite4EFMH.dgibi ************************************************************************ ************************************************************************ * ********************* CAS TEST : precipite4.dgibi ******************** * GRAPH = 'N' ; CRIT1 = 1.D-6 ; 'SAUT' 'PAGE' ; * *--------------------------------------------------------------------- * TEST PRECIPITE4 * precipité uniforme initial de 1 (par unité de volume solide) partout. * vitesse vx = 1 vy = 0 uniforme * maillage 2D pseudo 1D. * concini = 0. * concentration à gauche nulle, flux diff nul à droite. * Le précipité fond, le frond se déplace de gauche à droite selon * l'expression VX * limsol * tps '/' F00 '/' (1.D0 '-' POROS) * ou poros est la porosité, F00 la concentration de precipité, tps * le temps écoulé et limsol la limite de solubilité * * utilise TRANSGEN *--------------------------------------------------------------------- * *------------------ * 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 = 200 ; 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-6 ; * --------------------- * VITESSE * --------------------- VX1 = 5.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 = 0.25D2 ; 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' = 1.D0 * SPEED ; Transp.'VITELEM' = 1.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-14; 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 'I129' 0.25D0; 'I129' 2.5D8 ; Transp . 'PRECIPITE' = 'TABLE' ; 'I129' 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 ; poros = TRANSP . 'POROSITE'; limsol = 'MAXIMUM' TRANSP . 'LIMITE_SOLUBILITE'; F00 = maximum TRANSP . PRECIPITE . 0 ; solanal = VX1 * limsol * TTRA '/' F00 '/' (1.D0 '-' POROS); 'MESSAGE' solanal; * '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 * *------------- FIN VISURESU ; *------------- IRESU = 1 ; * *----------------------- REPETER VISURES NTSO1 ; *----------------------- * IRESU = IRESU + 1 ; INDI1 = ISOR1.IRESU ; TTRA = TRANS2 . 'TEMPS' . INDI1 ; EPR1 = TRANS2 . 'PRECIPITE' . 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' ; * valeur non nulle de concentration roro = 'MASQUE' epr1 SUPERIEUR 0.1D0; * coord x du maillage zozo = 'COORDONNEE' 1 roro; * multiplie pour trouver valeur du front tutu = roro * zozo; * on extrait la coordonnée x du front roro = 'MINIMUM' ('COORDONNEE' 1 titi); 'LISTE' roro; * concentration au temps t * *------------- FIN VISURES ; *------------- 'SI' (roro 'EGA' solanal (2.D0 * DX)) ; 'ERREUR' 0 ; 'SINON' ; 'ERREUR' 5 ; 'FINSI' ; * 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales