**************************************************************** * cas_test "chicaneimp" : inclusion d'une chicane un domaine * * rectangulaire. Tous les bords sont impermeables sauf le bord * * gauche et le bord droit. * **************************************************************** * * * *********************** * * PARAMETRES GENERAUX * * *********************** * *** environnement Castem GRAPH = 'O' ; 'OPTI' 'DIME' 2 'ELEM' 'QUA4' ; 'OPTI' 'ISOV' 'SURF' ; 'OPTI' 'ECHO' 1 ; 'OPTI' 'TRAC' PSC ; *** paramètres du problème k = 1 ; alphal = 0.04 ; alphat = 0.07 ; d0 = 0.001 ; dtsauv = 50 ; tpsmax = 1.E+20 ; nbpart = 50 ; ptdep = -90. 0. ; * * ************** * * MAILLAGE * * ************** * *- Dimensions caractéristiques du domaine de calcul * L0 = 100.D0 ; L1 = 50.D0 ; R0 = 5.D0 ; R1 = 48.D0 ; R2 = 15.D0 ; ML0 = -1.D0*L0 ; ML1 = -1.D0*L1 ; MR0 = -1.D0*R0 ; MR1 = -1.D0*R1 ; MR2 = -1.D0*R2 ; ELI0 = R0 / 20000.D0 ; * *- Définition des points du maillage * P0 = ML0 ML1 ; P1 = MR2 ML1 ; P2 = MR0 ML1 ; P3 = L0 ML1 ; P4 = L0 L1 ; P5 = R2 L1 ; P6 = R0 L1 ; P7 = ML0 L1 ; P8 = MR2 R1 ; P9 = MR0 R1 ; P10 = R2 MR1 ; P11 = R0 MR1 ; P12 = R0 ML1 ; P13 = R2 ML1 ; P14 = MR0 L1 ; P15 = MR2 L1 ; P16 = R0 R1 ; P17 = MR0 MR1 ; P18 = R0 0. ; P19 = MR0 0. ; * *- Définition des droites * n0n1 = 46 ; n1n8 = 40 ; n8n15 = 30 ; n8n9 = 70 ; n2n12 = 60 ; n9n19 = 50 ; n0n7 = n1n8 + n8n15 ; P0P1 = 'DROIT' P0 P1 (-1*n0n1) 'DINI' 10. 'DFIN' 1. ; P4P5 = 'DROIT' P4 P5 (-1*n0n1) 'DINI' 10. 'DFIN' 1. ; P13P3 = 'DROIT' P13 P3 (-1*n0n1) 'DINI' 1. 'DFIN' 10. ; P15P7 = 'DROIT' P15 P7 (-1*n0n1) 'DINI' 1. 'DFIN' 10. ; P7P0 = 'DROIT' P7 P0 (-1*n0n7) 'DINI' 1. 'DFIN' 10. ; P3P4 = 'DROIT' P3 P4 (-1*n0n7) 'DINI' 1. 'DFIN' 10. ; P15P8 = 'DROIT' P15 P8 n8n15 ; P8P15 = 'INVERSE' P15P8 ; P9P14 = 'DROIT' P9 P14 n8n15 ; P14P9 = 'INVERSE' P9P14 ; P11P12 = 'DROIT' P11 P12 n8n15 ; P12P11 = 'INVERSE' P11P12 ; P13P10 = 'DROIT' P13 P10 n8n15 ; P10P13 = 'INVERSE' P13P10 ; P1P8 = 'DROIT' P1 P8 (-1*n1n8) 'DINI' 15. 'DFIN' 1. ; P5P10 = 'DROIT' P5 P10 (-1*n1n8) 'DINI' 15. 'DFIN' 1. ; P8P9 = 'DROIT' P8 P9 n8n9 ; P14P15 = 'DROIT' P14 P15 n8n9 ; P10P11 = 'DROIT' P10 P11 n8n9 ; P12P13 = 'DROIT' P12 P13 n8n9 ; P17P2 = 'DROIT' P17 P2 n8n15 ; P16P6 = 'DROIT' P16 P6 n8n15 ; P11P18 = 'DROIT' P11 P18 (-1*n9n19) 'DINI' 1. 'DFIN' 5. ; P18P16 = 'DROIT' P18 P16 (-1*n9n19) 'DINI' 5. 'DFIN' 1. ; P9P19 = 'DROIT' P9 P19 (-1*n9n19) 'DINI' 1. 'DFIN' 5. ; P19P17 = 'DROIT' P19 P17 (-1*n9n19) 'DINI' 5. 'DFIN' 1. ; P9P16 = 'DROIT' P9 P16 n2n12 ; P16P9 = 'INVERSE' P9P16 ; P11P17 = 'DROIT' P11 P17 n2n12 ; P17P11 = 'INVERSE' P11P17 ; P6P14 = 'DROIT' P6 P14 n2n12 ; P2P12 = 'DROIT' P2 P12 n2n12 ; P2P3 = P2P12 'ET' P12P13 'ET' P13P3 ; P6P7 = P6P14 'ET' P14P15 'ET' P15P7 ; P9P2 = P9P19 'ET' P19P17 'ET' P17P2 ; P11P6 = P11P18 'ET' P18P16 'ET' P16P6 ; * *- Definition du maillage * *zong = 'SURFACE' (P0P1 'ET' P1P8 'ET' P8P15 'ET' P15P7 'ET' P7P0) ; zong = 'DALLER' P0P1 (P1P8 'ET' P8P15) P15P7 P7P0 ; *zond = 'SURFACE' (P13P3 'ET' P3P4 'ET' P4P5 'ET' P5P10 'ET' P10P13) zond = 'DALLER' P13P3 P3P4 P4P5 (P5P10 'ET' P10P13) ; chic = ('DALLER' P8P9 P9P14 P14P15 P15P8) 'ET' ('DALLER' P2P12 P12P11 P11P17 P17P2) 'ET' ('DALLER' (P11P18 'ET' P18P16) P16P9 (P9P19 'ET' P19P17) P17P11) 'ET' ('DALLER' P9P16 P16P6 P6P14 P14P9) 'ET' ('DALLER' P10P11 P11P12 P12P13 P13P10) ; ZONE = zong 'ET' chic 'ET' zond ; cont0 = 'CONTOUR' zone ; 'TITRE' 'maillage du domaine (' (@ARR ('NBEL' zone) 0) ' elts)' ; 'TRACER' ZONE ; * * ************************************** * * CREATION DES MAILLAGES QUAF * * * associées aux différentes zones * * ************************************** * QFZONE = 'CHANGER' ZONE QUAF ; QFCONT = 'CHANGER' CONT0 QUAF ; QFP0P1 = 'CHANGER' P0P1 QUAF ; QFP1P8 = 'CHANGER' P1P8 QUAF ; QFP8P9 = 'CHANGER' P8P9 QUAF ; QFP9P2 = 'CHANGER' P9P2 QUAF ; QFP2P3 = 'CHANGER' P2P3 QUAF ; QFP3P4 = 'CHANGER' P3P4 QUAF ; QFP4P5 = 'CHANGER' P4P5 QUAF ; QFP5P10 = 'CHANGER' P5P10 QUAF ; QFP10P11 = 'CHANGER' P10P11 QUAF ; QFP11P6 = 'CHANGER' P11P6 QUAF ; QFP6P7 = 'CHANGER' P6P7 QUAF ; QFP7P0 = 'CHANGER' P7P0 QUAF ; ELIM ELI0 ( QFZONE 'ET' QFCONT 'ET' QFP0P1 'ET' QFP1P8 'ET' QFP8P9 'ET' QFP9P2 'ET' QFP2P3 'ET' QFP3P4 'ET' QFP4P5 'ET' QFP5P10 'ET' QFP10P11 'ET' QFP11P6 'ET' QFP6P7 'ET' QFP7P0) ; * * ************************************ * * CREATIONS DES MODELES ASSOCIEES * * * AUX DIFFERENTES ZONES * * ************************************ * MODHYB = 'MODELISER' QFZONE 'DARCY' 'ISOTROPE' ; MCONT = 'MODELISER' QFCONT 'DARCY' 'ISOTROPE' ; MP0P1 = 'MODELISER' QFP0P1 'DARCY' 'ISOTROPE' ; MP1P8 = 'MODELISER' QFP1P8 'DARCY' 'ISOTROPE' ; MP8P9 = 'MODELISER' QFP8P9 'DARCY' 'ISOTROPE' ; MP9P2 = 'MODELISER' QFP9P2 'DARCY' 'ISOTROPE' ; MP2P3 = 'MODELISER' QFP2P3 'DARCY' 'ISOTROPE' ; MP3P4 = 'MODELISER' QFP3P4 'DARCY' 'ISOTROPE' ; MP4P5 = 'MODELISER' QFP4P5 'DARCY' 'ISOTROPE' ; MP5P10 = 'MODELISER' QFP5P10 'DARCY' 'ISOTROPE' ; MP10P11 = 'MODELISER' QFP10P11 'DARCY' 'ISOTROPE' ; MP11P6 = 'MODELISER' QFP11P6 'DARCY' 'ISOTROPE' ; MP6P7 = 'MODELISER' QFP6P7 'DARCY' 'ISOTROPE' ; MP7P0 = 'MODELISER' QFP7P0 'DARCY' 'ISOTROPE' ; * * ***************************************** * * Tables domaines associées aux modeles * * ***************************************** * *** Elemts des tables domaine associés au modele 'MODHYB' HYVOL = 'DOMA' MODHYB 'VOLUME' ; HYSUR = 'DOMA' MODHYB 'SURFACE'; HYNOR = 'DOMA' MODHYB 'NORMALE'; HYCEN = 'DOMA' MODHYB 'CENTRE' ; HYFAC = 'DOMA' MODHYB 'FACE' ; HYSOM = 'DOMA' MODHYB 'SOMMET' ; MCHYB = 'DOMA' MODHYB 'ORIENTAT' ; *** Elements des tables domaine associés aux autres modeles HYCEGA = 'DOMA' MP7P0 'CENTRE' ; HYCEDR = 'DOMA' MP3P4 'CENTRE' ; HYP0P1 = 'DOMA' MP0P1 'CENTRE' ; HYP1P8 = 'DOMA' MP1P8 'CENTRE' ; HYP8P9 = 'DOMA' MP8P9 'CENTRE' ; HYP9P2 = 'DOMA' MP9P2 'CENTRE' ; HYP2P3 = 'DOMA' MP2P3 'CENTRE' ; HYP4P5 = 'DOMA' MP4P5 'CENTRE' ; HYP5P10= 'DOMA' MP5P10 'CENTRE' ; HYP10P11 = 'DOMA' MP10P11 'CENTRE' ; HYP11P6 = 'DOMA' MP11P6 'CENTRE' ; HYP6P7 = 'DOMA' MP6P7 'CENTRE' ; * * * ***************** * * RESOLUTION * * ***************** * * *- Matrices élémentaires * MATE1 = 'MATE' MODHYB 'K' K ; MHYB1 = 'MHYB' MODHYB MATE1 ; MATP1 = 'MATP' MODHYB MHYB1 ; * *- Conditions aux limites * * Flux nul sur les faces FMX et FMY (CL naturelle) * Charge imposée sur les autres faces * * charge imposee en entree. * CHFin = 'MANU' 'CHPO' HYCEGA 1 'TH' 10. ; BLOQ1 = 'BLOQ' HYCEGA 'TH' ; HIMP1 = 'REDU' CHFin HYCEGA ; HIMP1 = 'NOMC' 'TH' HIMP1 ; DEPI1 = 'DEPI' BLOQ1 HIMP1 ; * * charge imposee en sortie. * CHFout = 'MANU' 'CHPO' HYCEDR 1 'TH' 5. ; BLOQ2 = 'BLOQ' HYCEDR 'TH' ; HIMP2 = 'REDU' CHFout HYCEDR ; HIMP2 = 'NOMC' 'TH' HIMP2 ; DEPI2 = 'DEPI' BLOQ2 HIMP2 ; * *- Assemblage matrices élémentaire et conditions aux limites * LHS1 = MATP1 'ET' BLOQ1 'ET' BLOQ2 ; RHS1 = DEPI1 'ET' DEPI2 ; * *- Résolution * HCAL1 = 'RESOU' LHS1 RHS1 ; * *- Post-traitement * HYBP1 = 'HYBP' MODHYB MHYB1 HCAL1 ; HDEB1 = 'HDEB' MODHYB MHYB1 HYBP1 HCAL1 ; HVIT1 = 'HVIT' MODHYB HDEB1 ; NRMU = ( (('EXCO' hvit1 'VX' 'SCAL')**2) + (('EXCO' hvit1 'VY' 'SCAL')**2) ) ** .5 ; * Champ de charge et de vitesse 'TITRE' 'Charge et vitesse de Darcy' ; *'TRACER' modhyb ('KCHA' hybp1 modhyb 'CHAM') * ('VECTEUR' hvit1 'VX' 'VY' 'BLANC') zone cont0 ; * * ****************************** * * TRAJECTOIRES DE PARTICULES * * ****************************** * *** CREATION DU CHAMP PAR ELEMENT DE DISPERSION ALPHA = 'MANU' 'CHML' MODHYB 'AL' ALPHAL 'AT' ALPHAT ; *** CREATION DU CHAMP PAR ELEMENT DE DIFFUSION DZERO = 'MANU' 'CHML' MODHYB 'D0' D0 ; *** CREATION DU MAILLAGE (POI1) FACES IMPERMEABLES IMPER = HYP1P8 'ET' HYP8P9 'ET' HYP9P2 'ET' HYP2P3 'ET' HYP4P5 'ET' HYP5P10 'ET' HYP10P11 'ET' HYP11P6 'ET' HYP6P7 ; *** Convection seule mconv = 'DROIT' 10 ((.95*ml0) (.9*ml1)) ((.95*ml0) (.9*l1)) ; LACHER = 'TABLE' ; LACHER.'TEMPS_LACHER' = 'PROG' 0. ; LACHER.'DELTAT_SAUVE' = 0. ; LACHER.'TEMPS_LIMITE' = 'FLOTTANT' TPSMAX ; *LACHER.'CFL' = 0.001 ; LACHER.1 = 'CHANGER' 'POI1' mconv ; MODTRJ CHMTRJ = 'TRAJ' 'CONVECTION_EXPLICITE' hdeb1 Modhyb LACHER ; trjcnv = ('EXTR' chmtrj 'MAIL') ; 'TITRE' 'Trajectoires moyennes dans la chicane' ; 'TRACER' (trjcnv 'ET' CONT0); 'TITRE' 'Trajctoires moyennes et log norme de la vitesse' ; 'TRACER' modhyb ('KCHA' ('LOG' nrmu) modhyb 'CHAM') (trjcnv 'ET' cont0) ; stop ; *** CARACTERISTIQUES DU LACHER DE PARTICULES LACHER = 'TABLE' ; LACHER.'TEMPS_LACHER' = 'PROG' 0. ; LACHER.'DISPERSIVITE' = ALPHA ; LACHER.'DIFFUSION_EFFECTIVE' = DZERO ; LACHER.'IMPERMEABLE' = IMPER ; LACHER.'DELTAT_SAUVE' = 0. ; LACHER.'TEMPS_LIMITE' = TPSMAX ; *** pt de lacher repeter bcl1 nbpart ; i = &bcl1 ; 'SI' (i 'EGA' 1) ; dpart = 'MANUEL' 'POI1' ptdep ; sinon ; dpart = dpart 'ET' ptdep ; 'FINSI' ; fin bcl1; LACHER.1 = dpart ; *** trajectoires MODTRJ CHMTRJ = 'TRAJ' 'CONVECTION_DIFFUSION' MODHYB HDEB1 'DIFF' DZERO 'DISP' alpha LACHER ; trjdif = 'COULEUR' ('EXTR' chmtrj 'MAIL') 'ROUGE' ; 'TITRE' 'Trajectoires diffusives dans la chicane' ; 'TRACER' (trjdif 'ET' CONT0); FIN ;