* fichier : chimsour1d.dgibi ************************************************************************ ************************************************************************ GRAPH = faux ; * repertoire des fichiers "divers" * ******************* CAS TEST : chimsour1d.dgibi ********************** * -------------------------------------------------------------------- * * TRANSPORT GEOCHIMIE AVEC SOURCE ( CAS 1D) * la partie post-traitement avec graphique contient des exemples * d'utilisation des procedures TRACHIS TRACHIT DESTRA * avec des recherches d'identificateurs par NOESPCHI et NOCOMCHI * * -------------------------------------------------------------------- * emplacement de COMPOM emp1 = 'CHAINE' DIVERS '/COMPOM' ; *emp1 = 'MOT' 'COMPOM' ; *emp1 = 'MOT' '/export/home/castem2001/DGIBI/COMPOM' ; 'OPTION' 'ECHO' 0 ; * * Génération du maillage * ---------------------- * * Axe ORIG = 0.0 0.0 ; R10 = 1. 0.0; XAXE = 'DROIT' 1 ORIG R10; 'ELIMINATION' XAXE 0.01; * Points Z90 = 0.0 90.0; Z5 = 0.0 5.0; Z10 = 0.0 10.0; Z40 = 0.0 40.0 ; Z390 = 0.0 390.0; ZNAD = 0.0 -100.0; ZM40 = 0.0 -40.0 ; ZBOT = 0.0 -10.0; ZB2 = 0.0 -5.0; ZT2 = 0.0 5.0; ZTOP = 0.0 10.0; ZZEN = 0.0 400.0; * * * YAXE = YN 'ET' YK 'ET' YB 'ET' YS 'ET' YZ; X80 = 80.0 0.0; * MT = ZONE1 'ET' ZONE2 'ET' ZONE3 'ET' ZONE4 'ET' ZONE5 ; * 'ELIMINATION' (MT 'ET' YAXE) 0.01; 'TASSER' MT; SDOM = 'COULEUR' SDOM 'ROUGE' ; * * Calcul CHI1 * ----------- * TABDON = 'TABLE' ; TABDON.CLIM = 'TABLE' ; * *- Création des maillages hybrides * MFTOT = 'CHANER' MT 'QUAF' ; MFSOUR = 'CHANER' SDOM 'QUAF' ; MFBAS = 'CHANER' XAXE2 'QUAF' ; MFAXE = 'CHANER' AXELEM 'QUAF' ; MFP40 = 'CHANER' LIGP40 'QUAF' ; MFTOP = 'CHANER' LIGTOP 'QUAF' ; 'ELIMINATION' 0.001 (MFTOT 'ET' MFSOUR 'ET' MFBAS 'ET' MFAXE 'ET' MFP40 'ET' MFTOP) ; * *- Modèle * MODHYB = 'MODELE' MFTOT 'DARCY' ANISOTROPE ; MMSOUR = 'MODELE' MFSOUR 'DARCY' ANISOTROPE ; MMBAS = 'MODELE' MFBAS 'DARCY' ANISOTROPE ; MMAXE = 'MODELE' MFAXE 'DARCY' ANISOTROPE ; MMP40 = 'MODELE' MFP40 'DARCY' ANISOTROPE ; MMTOP = 'MODELE' MFTOP 'DARCY' ANISOTROPE ; * *- On génère la ligne SEGAXE pour le post-traitement * PI1 = 'POINT' CEAXE 1 ; PI0 = PI1 ; I = 2 ; 'SI' (NBCC > 1) ; PI2 = 'POINT' CEAXE I ; SEGAXE = 'QUELCONQUE' 'SEG2' PI1 PI2 ; SI (NBCC > 2) ; NBCC2 = NBCC - 2 ; 'REPETER' BLOC6 nbcc2 ; PI1 = PI2 ; I = I + 1 ; PI2 = 'POINT' CEAXE I ; LILI = 'QUELCONQUE' 'SEG2' PI1 PI2 ; SEGAXE = SEGAXE 'ET' LILI ; 'FIN' BLOC6 ; 'FINSI' ; 'FINSI' ; * * Données physiques * ----------------- * *- on entre la vitesse on en deduit le flux aux faces * VNCH = 'VECTEUR' V 1. 'UX' 'UY' 'ROUGE' ; VAVN = 'PSCAL' V CHYB2 MOT1 MOT1 ; QFACE = VAVN * CHYB1 ; * *- matériau pour le transport * DIR1 = 1. 0. ; PORO = 0.5 ; D11C = 1.D0 ; D22C = 5.D0 ; MAT1 = 'MATERIAU' MODHYB 'DIRECTION' DIR1 K11 D11 K21 D21 K22 D22 ; * *- pas de temps * *NBPAST nombre de pas de temps (200 pour un calcul significatif) DELTAT= 1.25 ; NBPAST= 10 ; TETA = 1. ; TFINAL = NBPAST * DELTAT ; * * Initialisation du système * ------------------------- * * CTOTC concentrations au centre * CTOT concentrations aux faces * 'REPETER' BOUC1 NBCOMP ; CTOTC = CTOTC + TPC ; 'FIN' BOUC1 ; * * Source * QELEM0 = 1.D-3; QELEM = QELEM0 / DELTAT ; X050 (-1.* QELEM) X005 QELEM X112 0. ; SOURC1 = SOURC1 + SOURC0 ; SOURC = 'CHARGEMENT' SOURC1 * * On initialise les concentrations des aqueux aux faces * par un premier calcul CHI2 * TBPAR2 = 'TABLE' ; TBPARM = 'TABLE' ; TBPARM.'SOUSTYPE' = 'DONNEES_CHIMIQUES' ; TBPARM.TOT = CTOT ; TBPARM.LOGC = FLOGC ; TBPAR2.ITMAX = 25 ; TBPAR2.EPS = 1.D-4 ; TBPAR2.NFI = 2 ; * * TAQU = TB4.AQUE ; * * conditions aux limites * * * Table de données de TRANSPORT * ----------------------------- * TABTRAN = 'TABLE' ; TABTRAN.'MODELE' = MODHYB ; TABTRAN.'DIFFUSION' = MAT1 ; TABTRAN.'CONVECTION' = QFACE ; TABTRAN.'CHIMI1' = TB1 ; TABTRAN.'TAQU' = 'TABLE' ; TABTRAN.'TAQU'. 0 = TAQU ; TABTRAN.ITMAX = 25; TABTRAN.EPS = 1.D-4 ; TABTRAN.NFI = 1 ; TABTRAN.LOGC = 'TABLE' ; TABTRAN.LOGC. 0 = CLOGC ; TABTRAN.TOT = 'TABLE' ; TABTRAN.TOT. 0 = CTOTC ; TABTRAN.PRECISION = 5.E-3 ; TABTRAN.'BLOCAGE' = BBBAS ; TABTRAN.'TRACE_IMPOSE' = 'CHARGEMENT' LIMBAS TABTRAN.'SOURCE' = SOURC ; TABTRAN.'PAS_DE_TEMPS' = DELTAT ; TABTRAN.'TEMPS_FINAL' = TFINAL ; TABTRAN.'THETA' = 1.D0 ; * * Calcul couplé transport/géochimie * --------------------------------- * CHITRNSP TABTRAN ; * * Controle des résultats * ---------------------- * * Calcul théorique 1D (pour le NA+) * PETITT = TFINAL ; DENO1 = (4. * PI * PETITT * D22C) ** 0.5 ; DENO2 = (4. * PETITT * D22C) ** 0.5 ; CXYT1 = QELEM0 / PORO / DENO1 ; CXYT21 = ((YY -((UY / PORO) * PETITT)) / DENO2) ** 2 ; CXYT2 = CXYT1 * ('EXP' (-1. * CXYT21)) ; SC1 = CXYT2 * XVOLU ; SCXYT = 'RESULT' SC1 ; tttt = 'CHAINE' 'Concentration en NA+ le long de l axe au temps ' petitt ; 'TITRE' TTTT ; * *- Calcul de l'intégrale de la concentration de NA+ et comparaison * à la valeur théorique (on compare l'intégrale et la valeur maximale) * SECX1 = ECXN * XVOLU ; SECXN = 'RESULT' SECX1 ; DIFS = ('ABS' (SS1 - SS2) ) / SS1; 'SI' (DIFS < 1.D-2) ; 'ERREUR' 0 ; 'SINON' ; 'ERREUR' 5 ; 'FINSI' ; MAECXN = 'MAXIMUM' ECXN ; MACXYT2 = 'MAXIMUM' CXYT2 ; DIFFNA = 'ABS' (ECXN - CXYT2) ; MADIFF = 'MAXIMUM' DIFFNA ; ERRDIF = MADIFF / MACXYT2 ; 'SI' (ERRDIF > 1.D-1) ; 'ERREUR' 5 ; 'FINSI' ; * * Post-traitement graphique * ------------------------- * 'SI' GRAPH ; 'DESSIN' (ev51 'ET' ev100) ; MOTIA = 'CHAINE' 'Concentration le long de l axe' ' pour différents temps '; TBN = 'TABLE' ; TBN.1 = NO1; TBN.2 = NO1; TBN.3 = NO1; TITOP = CHAIN 'Evolution en fonction du temps a ' 'FORMAT' '(F6.3)' YCTOP 'metres' ; 'FINSI' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales