* fichier : decroissanceVF.dgibi ************************************************************************ * Section : Fluides Darcy ************************************************************************ * GRAPH = 'O' ; 'OPTI' 'ECHO' 1 ; CRIT1 = 1.D-6 ; 'SAUT' 'PAGE' ; * *--------------------------------------------------------------------- * On test en 0D la décroissance radioactive en partant d'une concentration * initiale T0 (unité). FLux nul aux bords du domaine. Plusieurs mailles * car cela ne coute rien d'essayer. * diffusion discrétisée (obligatoire en EFMH) mais inutile car C constante. * retard et porosité differentes de 1. * *--------------------------------------------------------------------- * *------------------ * Options generales *------------------ * 'OPTI' 'DIME' 2 'ELEM' 'QUA4' ; 'OPTI' 'ISOV' 'SURF' ; * * *========= * 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 ; LS2 = L / 2.D0 ; H = 1.D0 ; HS2 = H / 2.D0 ; X0 = 0.D0 ; X1 = X0 + L ; Y0 = 0.D0 ; Y1 = Y0 + H ; INUMX = 100 ; INUMY = 1 ; INUM1 = INUMX - 1 ; Y01 = Y0 + Y1 * 0.5D0 ; DX = X1 - X0 / INUMX ; DX1 = DX / 2.D0 ; XG = X0 + DX1 ; XD = X1 - DX1 ; * A1 = X0 Y0 ; A3 = X1 Y0 ; D1 = X0 Y1 ; D3 = X1 Y1 ; B1 = X0 Y01 ; B3 = X1 Y01 ; C1 = XG Y01 ; C3 = XD Y01 ; P6 = LS2 Y01 ; * *- Création des DROITES frontieres * DRBAS = A3 'DROI' INUMX A1 ; DRGAU = A1 'DROI' INUMY D1 ; DRHAU = D1 'DROI' INUMX D3 ; DRDRO = D3 'DROI' INUMY A3 ; PELIM = DX1 / (5. * INUMX) ; * *- Creation maillage GEOMETRIQUE * PTOT1 = 'DALL' DRBAS DRGAU DRHAU DRDRO ; PTOT2 = 'ORIE' PTOT1 ; * *- Creation maillage HYBRIDE y compris sous-objets (cond. limites) * DRMID = B1 'DROI' INUMX B3 ; DRMIC = C1 'DROI' INUM1 C3 ; EXT1 = 'MANU' 'POI1' B1 ; * QFTOT= 'CHAN' PTOT2 QUAF ; QFGAU= 'CHAN' DRGAU QUAF ; QFDRO= 'CHAN' DRDRO QUAF ; ELIM PELIM (QFTOT ET QFGAU ET QFDRO ET DRMID ET DRMIC ET EXT1) ; * *================ * INITIALISATIONS *================ * * ---------------- * = MODELISATION = * ---------------- MODHYB = MODE QFTOT 'DARCY' 'ANISOTROPE' ; MODDRO = MODE QFDRO 'DARCY' 'ANISOTROPE' ; MODGAU = MODE QFGAU 'DARCY' 'ANISOTROPE' ; CHYB1 = 'DOMA' MODHYB 'SURFACE' ; CHYB2 = 'DOMA' MODHYB 'NORMALE' ; * * --------------------- * = Donnees physiques = * --------------------- * T0 = 1.D0 ; T1 = 1.D0 ; VK = 1.D-2 ; VK1 = manu CHPO (doma modhyb centre) 1 'K11' VK NATURE DISCRET; VK2 = manu CHPO (doma modhyb centre) 1 'K22' VK NATURE DISCRET; VK12 = manu CHPO (doma modhyb centre) 1 'K21' 0.D0 NATURE DISCRET; MATI2 = VK1 et VK2 et VK12; * * * ----------------------- * = Donnees transitoire = * ----------------------- * TETA : Parametre de le theta-méthode * TMAX : Temps final * TSUP : Temps pour conditions aux limites * DELTAT : Pas de temps * TETA = 0.00D0 ; TMIN = 0.D0 ; TMAX2 = 15.00D0 ; TMAX = 30.00D0 ; TSUP = 1.2D0 * TMAX ; DELTAT = 1.D0 ; * LICALC = 'PROG' TMIN 'PAS' (DELTAT/2.D0) TMAX2 ; LICALC = LICALC ET ('PROG' (TMAX2 + DELTAT) 'PAS' DELTAT TMAX) ; LISAUV = 'PROG' TMAX ; * * ------------------------ * = Conditions initiales = * ------------------------ TCHYB = 'MANU' 'CHPO' ('DOMA' MODHYB 'CENTRE') 1 'H' T0 'NATURE' 'DISCRET' ; * * -------------- * = T imposée = * -------------- * * --------------------------- * = 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 . 'COEF_RETARD' = 100.D0; Transp . 'POROSITE' = 0.1D0; * Conditions initiales : Transp.'TEMPS'. 0 = TMIN ; Transp.'CONCENTRATION'. 0 = TCHYB; Transp.'FLUXDIFF'. 0 = 0.D0 * TCHYB; Transp.'FLUXCONV'. 0 = 0.D0 * TCHYB; * Conditions aux limites : * flux diffusif nul donc rien * Paramètres numériques : Transp.'THETA_DIFF' = 0.5D0; Transp.'THETA_CONVECTION' = 1.0D0; Transp.'LUMP' = FAUX; Transp.'TYPDISCRETISATION' = 'VF'; Transp.'DECENTR' = FAUX; 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 * TCHYB; * ========== Transp . 'DECROISSANCE' = (log 2.D0) / 10.D0; * | CALCUL | * ========== *======================= * Resolution transitoire *======================= * TRANSGEN TRANSP ; * * *================= * POST-TRAITEMENT *================= ****** comparaison sol analytique ************ ** cini * exp(-lambda t) concEFMH = Transp . CONCENTRATION . (('DIME' transp . TEMPS) '-' 1); solan = Transp . CONCENTRATION . 0 * ('EXP' (-1.D0 * TRANSP . 'DECROISSANCE' * TMAX)); toto = concEFMH '-' solan ; toto = 'KOPS' toto * toto; toto = ('DOMA' modhyb volume) * toto; toto = 'MAXIMUM' (('RESULT' toto)); titi = ('DOMA' modhyb volume) * ('KOPS' solan * solan); titi = 'MAXIMUM' ('RESULT' titi); toto = (toto '/' titi)**0.5D0; 'MESSAGE' 'erreur relative L2' (toto); * 'SI' (toto > 1.D-3) ; 'ERREUR' 5 ; 'SINON' ; 'ERREUR' 0; 'FINSI' ; * 'FIN' ;