********************************************************************** * cas_test "pomp2d" : ecoulement uniforme horizontal dans un domaine * * carre superposé à un puits de pompage au centre. * ********************************************************************** *------------------ * Options générales *------------------ * Environnement Castem 2000 GRAPH = 'O' ; 'OPTI' 'DIME' 2 'ELEM' 'QUA4' ; 'OPTI' 'ISOV' 'SURF' ; 'OPTI' 'ECHO' 1 ; *'OPTI' 'TRAC' 'PSC' ; * Dimensions caractéristiques du domaine de calcul LZONE = 400. ; LPUIT = 1. ; * permeabilite epais = 10. ; por = 0.4 ; k = 0.4 ; vk = k/por ; * dispersivités et diffusion alphal = 1. ; alphat = 0.25 ; d0 = 0. ; * flux aux faces du puits (uniformement repartis car m surface) qpui = 2000. ; qpui = qpui/epais ; hgauche = 800. ; hdroite = 0. ; fhaut = 0. ; fbas = 0. ; * pas de tps et tps max de sauvegarde dtsauv = 5. ; tpsmax = 1.E+10 ; * indicateurs logiques trj = vrai ; moy = vrai ; var = vrai ; * * ************** * * MAILLAGE * * ************** * *- Définition des points du maillage * P0 = LPUIT 0. ; P1 = LZONE 0. ; P2 = LZONE LZONE ; P3 = 0. LZONE ; P4 = 0. LPUIT ; P5 = LPUIT LPUIT ; * *- Droites du maillage * P0P1 = P0 'DROI' P1 29 ; P1P2 = P1 'DROI' P2 30 ; P2P3 = P2 'DROI' P3 30 ; P3P4 = P3 'DROI' P4 29 ; P4P5 = P4 'DROI' P5 1 ; P5P0 = P5 'DROI' P0 1 ; * *-Creation Zone autour puits par symetrie successive * CONT1 = P0P1 'ET' P1P2 'ET' P2P3 'ET' P3P4 'ET' P4P5 ET P5P0 ; ZONE1 = 'SURF' CONT1 ; ZONE2 = SYME ZONE1 DROIT P3 P4 ; P6P3 = SYME P2P3 DROIT P3 P4 ; SHAU = P2P3 ET (INVE P6P3); SBAS = SYME SHAU DROIT P0 P1; P1P9 = SYME P1P2 DROIT P0 P1; SDRO = P1P2 ET (INVE P1P9); SGAU = SYME SDRO DROIT P3 P4; ZONE3 =(ZONE2 'ET' ZONE1); ZONE4=SYME ZONE3 DROIT P0 P1; LETOUT =(ZONE3 'ET' ZONE4); * *-Definition du contour du puits * P4P7 = SYME P4P5 DROIT P3 P4; PUI1 = P4P5 ET (INVE P4P7); P8P0 = SYME P5P0 DROIT P0 P1; PUI2 = P5P0 ET (INVE P8P0); PUI3 = SYME PUI1 DROIT P0 P1; PUI4 = SYME PUI2 DROIT P3 P4; PUITS = PUI1 'ET' PUI2 'ET' PUI3 'ET' PUI4; ELIM 0.001 (LETOUT 'ET' SHAU 'ET' SBAS 'ET' SDRO 'ET' SGAU 'ET' PUITS) ; CONTOT = 'CONTOUR' LETOUT ; PUITS = 'COULEUR' PUITS 'ROUG' ; 'TITRE' 'le maillage du domaine' ; 'TRACER' (LETOUT 'ET' PUITS) ; * * ************* * * MODELES * * ************* * * passage aux elements QUAF pour formulation de Darcy QFTOT = CHANGE LETOUT QUAF ; QFGAU = CHANGE SGAU QUAF ; QFDRO = CHANGE SDRO QUAF ; QFHAU = CHANGE SHAU QUAF ; QFBAS = CHANGE SBAS QUAF ; QFPUI = CHANGE PUITS QUAF ; ELIM 0.001 (QFTOT ET QFGAU ET QFDRO ET QFHAU ET QFBAS ET QFPUI); *- Création maillage HYBRIDE et sous-objets (conditions aux limites) MODHYB = 'MODL' QFTOT 'DARCY' 'ISOTROPE' ; MODGAU = 'MODL' QFGAU 'DARCY' 'ISOTROPE' ; MODDRO = 'MODL' QFDRO 'DARCY' 'ISOTROPE' ; MODHAU = 'MODL' QFHAU 'DARCY' 'ISOTROPE' ; MODBAS = 'MODL' QFBAS 'DARCY' 'ISOTROPE' ; MODPUI = 'MODL' QFPUI 'DARCY' 'ISOTROPE' ; CHYFAC = 'DOMA' MODHYB 'FACE' ; C11 = 'DOMA' MODHYB 'VOLUME' ; CHYB1 = 'DOMA' MODHYB 'SURFACE' ; CHYB2 = 'DOMA' MODHYB 'NORMALE' ; CEGAU = 'DOMA' MODGAU 'CENTRE' ; CEDRO = 'DOMA' MODDRO 'CENTRE' ; CEPUI = 'DOMA' MODPUI 'CENTRE' ; CEHAU = 'DOMA' MODHAU 'CENTRE' ; CEBAS = 'DOMA' MODBAS 'CENTRE' ; * * -------------- * = RESOLUTION = * -------------- * MATI3 = 'MATE' MODHYB 'K' vk ; CND1A = 'MHYB' MODHYB MATI3 ; HND1A = 'MATP' MODHYB CND1A ; * *- Conditions aux limites * BBHAU = 'BLOQ' CEHAU 'TH' ; BBBAS = 'BLOQ' CEBAS 'TH' ; BBGAU = 'BLOQ' CEGAU 'TH' ; BBDRO = 'BLOQ' CEDRO 'TH' ; BBPUI = 'BLOQ' CEPUI 'TH' ; * *- Expression de la charge autour du puits * xx yy = coor chyfac ; rr2 = (xx *xx) + (yy *yy) ; rr = rr2 ** 0.5d0 ; hpui = (qpui / (2.d0 * pi * vk) * (log (rr/lpuit))) ; * *- TH imposée * * *IMPH = 'REDU' hpui CEHAU ; *IMPH = 'NOMC' IMPH 'TH' ; *IMPB = 'REDU' hpui CEBAS ; *IMPB = 'NOMC' IMPB 'TH' ; *IMPG = 'REDU' hpui CEGAU ; *IMPG = 'NOMC' IMPG 'TH' ; IMPG = 'MANU' 'CHPO' CEGAU 1 'TH' hgauche ; *IMPD = 'REDU' hpui CEDRO ; *IMPD = 'NOMC' IMPD 'TH' ; IMPD = 'MANU' 'CHPO' CEDRO 1 'TH' hdroite ; IPUI = 'REDU' hpui CEPUI ; IPUI = 'NOMC' IPUI 'TH' ; *EEHAU = 'DEPI' BBHAU IMPH ; *EEBAS = 'DEPI' BBBAS IMPB ; EEGAU = 'DEPI' BBGAU IMPG ; EEDRO = 'DEPI' BBDRO IMPD ; EEPUI = 'DEPI' BBPUI IPUI ; FLHAU = 'MANU' 'CHPO' CEGAU 1 'FLUX' fhaut 'NATURE' 'DISCRET' ; FLBAS = 'MANU' 'CHPO' CEPUI 1 'FLUX' fbas 'NATURE' 'DISCRET' ; * *- Assemblage et résolution en TH * *CCC1 = HND1A 'ET' BBGAU 'ET' BBDRO 'ET' BBHAU 'ET' BBBAS 'ET' BBPUI ; CCC1 = HND1A 'ET' BBGAU 'ET' BBDRO 'ET' BBPUI ; *FFF1 = EEDRO 'ET' EEGAU 'ET' EEPUI 'ET' EEHAU 'ET' EEBAS ; FFF1 = EEDRO 'ET' EEGAU 'ET' EEPUI 'ET' FLHAU 'ET' FLBAS ; CHTER1 = 'RESO' CCC1 FFF1 ; * *- resolution H (centres), Q (faces), V (centres) * PCEN1 = 'HYBP' MODHYB CND1A CHTER1 ; HDEB1 = 'HDEB' MODHYB CND1A PCEN1 CHTER1 ; HVIT1 = 'HVIT' MODHYB HDEB1 ; *** Convection seule *m1 = 'CER3' 10 ((-.9*lzone) 0) (0 (.9*lzone)) ((.9*lzone) 0) ; *m2 = 'DIFF' m1 ('ELEM' 1 m1) ; *m3 = 'SYMETRIE' m2 'POINT' (0 0) ; *mconv = m2 'ET' m3 ; mconv = 'DROIT' 10 ((-.9*lzone) (-.9*lzone)) ((-.9*lzone) (.9*lzone)) ; LACHER = 'TABLE' ; LACHER.'TEMPS_LACHER' = 'PROG' 0. ; LACHER.'DELTAT_SAUVE' = 0. ; LACHER.'TEMPS_LIMITE' = 'FLOTTANT' TPSMAX ; LACHER. 1 = 'CHANGER' 'POI1' mconv ; MODTRJ CHMTRJ = 'TRAJ' 'CONVECTION_EXPLICITE' hdeb1 modhyb LACHER ; trjcnv = ('EXTR' chmtrj 'MAIL') ; 'TITRE' 'Trajectoires moyennes' ; 'TRACER' (trjcnv 'ET' CONTOT); 'TITRE' 'Trajctoires moyennes et charge' ; 'TRACER' modhyb ('KCHA' pcen1 modhyb 'CHAM') (trjcnv 'ET' contot) ; * * ------------------------------------------ * = Lacher de particules et Trajectoires = * ------------------------------------------ *** creation du champ par element de dispersivite ALPHA = 'MANU' 'CHML' MODHYB 'AL' alphal 'AT' alphat ; *** creation du champ par element de diffusion DZERO = 'MANU' 'CHML' MODHYB 'D0' d0 ; *** pt de lacher Monte-Carlo x = -350. ; y = -100. ; ptdep = x y ; *** lacher type Montecarlo en un seul pt repeter bcl1 nbpart ; i = &bcl1 ; 'SI' (i 'EGA' 1) ; dpart = 'MANUEL' 'POI1' ptdep ; sinon ; dpart = dpart 'ET' ptdep ; 'FINSI' ; fin bcl1; *** caracteristiques lacher convection LACHER = TABLE ; LACHER.TEMPS_LACHER = 'PROG' 0. ; LACHER.TEMPS_LIMITE = 'FLOTTANT' tpsmax ; LACHER.DELTAT_SAUVE = 'FLOTTANT' dtsauv ; LACHER. 1 = dpart ; * Transformation des quantités aux centres en MCHAML constant. CHPP1 = 'KCHA' MODHYB 'CHAM' PCEN1 ; CHPP2 = 'KCHA' MODHYB 'CHAM' HVIT1 ; * Tracé de charge 'TITR' ' la charge' ; 'TRAC' MODHYB CHPP1; * Tracé de vitesse 'TITR' ' la vitesse' ; 'TRAC' MODHYB CHPP2 ; *** trajectoires convectives MODTRJ CHMTRJ = 'TRAJ' 'CONVECTION_DIFFUSION' MODHYB HDEB1 'DIFF' DZERO 'DISP' alpha LACHER ; mailtrj = 'COULEUR' ('EXTR' modtrj 'MAIL') 'ROUGE' ; 'TITR' 'trajectoires (convection seule)' ; 'TRAC' (mailtrj 'ET' CONTOT) ; * * * -------------- * = Conclusion = * -------------- * 'FIN' ;