* fichier : test-aspH.dgibi * KTEST: changement de phase sur gouttes vers un régime permanent * - pas de gravité * - pas d'injection * - option COMPLET régime permanent * - (rapport de Stage Antoine BOUQUET (voir L. Blumenfeld)) * - repartition homogène au depart *$$$$ VISUP ** PROCEDURE DE VISUALISATION DES RESULTATS 3D DEBPROC VISUP tps*'FLOTTANT' rxt*'TABLE' ; NUPADT = rxt.'TIC'.'NUPADT'; LTPS = rxt.'TIC'.'LTPS'; LOG1=FAUX; 'SI' (EXIST rxt.'TBT'.'TABPERSO' 'CAPT0'); LOG1=rxt.'TBT'.'TABPERSO'.'CAPT0'; 'FINSI'; 'SI' LOG1; TEMPS = rxt.'TBT'.'TABPERSO'.'TEMPS'; NTPS1= DIME TEMPS; FREQ0 = rxt.'TBT'.'TABPERSO'.'FREQ0' ; NULOC0 = (NTPS1+1)*FREQ0 ; 'SI' (NUPADT EGA NULOC0); MESS 'Execution du captage de donnees '; CAPTP rxt; TI1 = EXTR LTPS (NULOC0+1) ; rxt.'TBT'.'TABPERSO'.'TEMPS' = rxt.'TBT'.'TABPERSO'.'TEMPS' et (PROG TI1); 'FINSI'; 'FINSI'; LOG2=FAUX; 'SI' (EXIST rxt.'TBT'.'TABPERSO' 'CH3D0'); LOG2=rxt.'TBT'.'TABPERSO'.'CH3D0'; 'FINSI'; 'SI' LOG2; TPS3D = rxt.'TBT'.'TABPERSO'.'TPS3D'; NTPS2= DIME TPS3D; FREQ3D = rxt.'TBT'.'TABPERSO'.'FREQ3D'; NULOC3D= (NTPS2+1)*FREQ3D ; 'SI' (NUPADT EGA NULOC3D); MESS 'Execution du trace de champ 3D suivant une coupe '; CH3D rxt; TI2 = EXTR LTPS (NULOC3D+1) ; rxt.'TBT'.'TABPERSO'.'TPS3D' = rxt.'TBT'.'TABPERSO'.'TPS3D' et (PROG TI2); 'FINSI'; 'FINSI'; FINPROC ; *$$$$ CAPTP ** Procedure pour capteur de Temp en des points donnes au cours du temps 'DEBPROC' CAPTP rxt*'TABLE'; L1= rxt.'TBT'.'TABPERSO'.'COMP'; N1= DIME L1; PTS =rxt.'TBT'.'TABPERSO'.'LPOINTS'; M1 =rxt.'TBT'.'TABPERSO'.'NPOINTS'; CAPT=rxt.'TBT'.'TABPERSO'.'CAPT' ; vtf=rxt.'GEO'.'vtf'; TEMPS = rxt.'TBT'.'TABPERSO'.'TEMPS'; LTEMPS= DIME TEMPS; * Initialisation des tables 'SI' (LTEMPS EGA 0 ); 'REPETER' BOU1 M1; PT1=PTS 'POIN' &BOU1; CAPI= EXTR CAPT &BOU1; rxt.'TBT'.'TABPERSO'.CAPI=TABLE; 'REPETER' BOU2 N1; MOI = EXTR L1 &BOU2 ; rxt.'TBT'.'TABPERSO'.CAPI.MOI=PROG; 'FIN' BOU2; 'FIN' BOU1; 'FINSI'; 'REPETER' BOU1 M1; PT1=PTS 'POIN' &BOU1; CAPI= EXTR CAPT &BOU1; 'REPETER' BOU2 N1; MOI = EXTR L1 &BOU2 ; 'SI' ('EGA' MOI 'TF'); TF=rxt.'TIC'.'TF'; PT2=vtf 'POINT' 'PROCHE' PT1; TF1=REDU TF PT2; X1 = 'EXTR' TF1 'SCAL' PT2 ; rxt.'TBT'.'TABPERSO'.CAPI.MOI = rxt.'TBT'.'TABPERSO'.CAPI.MOI et ('PROG' X1); 'FINSI'; 'SI' ('EGA' MOI 'XVAP'); YVAP = rxt.'TIC'.'YVAP' ; l29 = yvap*0.029 ; l18 = yvap*0.018 ; lc = 0.018 ; xvap = (l29/(lc+l29-l18)) ; PT2=vtf 'POINT' 'PROCHE' PT1 ; Xvap1=REDU Xvap PT2 ; X1 = 'EXTR' Xvap1 'SCAL' PT2 ; rxt.'TBT'.'TABPERSO'.CAPI.MOI = rxt.'TBT'.'TABPERSO'.CAPI.MOI et ('PROG' X1); 'FINSI'; 'SI' ('EGA' MOI 'XD'); XD=rxt.'TIC'.'XD'; PT2=vtf 'POINT' 'PROCHE' PT1; XD1=REDU XD PT2; X1 = 'EXTR' XD1 'SCAL' PT2 ; rxt.'TBT'.'TABPERSO'.CAPI.MOI = rxt.'TBT'.'TABPERSO'.CAPI.MOI et ('PROG' X1); 'FINSI'; 'SI' ('EGA' MOI 'TD'); TD=rxt.'TIC'.'TD'; PT2=vtf 'POINT' 'PROCHE' PT1; TD1=REDU TD PT2; X1 = 'EXTR' TD1 'SCAL' PT2 ; rxt.'TBT'.'TABPERSO'.CAPI.MOI = rxt.'TBT'.'TABPERSO'.CAPI.MOI et ('PROG' X1); 'FINSI'; 'SI' ('EGA' MOI 'STD2'); STD2= elno $vtf rxt.'TIC'.'STD'; PT2=vtf 'POINT' 'PROCHE' PT1; STD1=REDU STD2 PT2; X1 = 'EXTR' STD1 'SCAL' PT2 ; rxt.'TBT'.'TABPERSO'.CAPI.MOI = rxt.'TBT'.'TABPERSO'.CAPI.MOI et ('PROG' X1); 'FINSI'; 'SI' ('EGA' MOI 'DD'); DD=rxt.'TIC'.'DD'; PT2=vtf 'POINT' 'PROCHE' PT1; DD1=REDU DD PT2; X1 = 'EXTR' DD1 'SCAL' PT2 ; rxt.'TBT'.'TABPERSO'.CAPI.MOI = rxt.'TBT'.'TABPERSO'.CAPI.MOI et ('PROG' X1); 'FINSI'; 'SI' ('EGA' MOI 'UX'); UN=rxt.'TIC'.'UN'; UX=EXCO 'UX' UN; PT2=vtf 'POINT' 'PROCHE' PT1; UX1=REDU UX PT2; X1 = 'EXTR' UX1 'SCAL' PT2 ; rxt.'TBT'.'TABPERSO'.CAPI.MOI = rxt.'TBT'.'TABPERSO'.CAPI.MOI et ('PROG' X1); 'FINSI'; 'SI' ('EGA' MOI 'UY'); UN=rxt.'TIC'.'UN'; UY=EXCO 'UY' UN; PT2=vtf 'POINT' 'PROCHE' PT1; UY1=REDU UY PT2; X1 = 'EXTR' UY1 'SCAL' PT2 ; rxt.'TBT'.'TABPERSO'.CAPI.MOI = rxt.'TBT'.'TABPERSO'.CAPI.MOI et ('PROG' X1); 'FINSI'; IDIM = vale 'DIME'; 'SI' ('EGA' IDIM 3); 'SI' ('EGA' MOI 'UZ'); UN=rxt.'TIC'.'UN'; UZ=EXCO 'UZ' UN; PT2=vtf 'POINT' 'PROCHE' PT1; UZ1=REDU UZ PT2; X1 = 'EXTR' UZ1 'SCAL' PT2 ; rxt.'TBT'.'TABPERSO'.CAPI.MOI = rxt.'TBT'.'TABPERSO'.CAPI.MOI et ('PROG' X1); 'FINSI'; 'FINSI'; 'SI' ('EGA' MOI 'VX'); VN=rxt.'TIC'.'VN'; VX=EXCO 'UX' VN; PT2=vtf 'POINT' 'PROCHE' PT1; VX1=REDU VX PT2; X1 = 'EXTR' VX1 'SCAL' PT2 ; rxt.'TBT'.'TABPERSO'.CAPI.MOI = rxt.'TBT'.'TABPERSO'.CAPI.MOI et ('PROG' X1); 'FINSI'; 'SI' ('EGA' MOI 'VY'); VN=rxt.'TIC'.'VN'; VY=EXCO 'UY' VN; PT2=vtf 'POINT' 'PROCHE' PT1; VY1=REDU VY PT2; X1 = 'EXTR' VY1 'SCAL' PT2 ; rxt.'TBT'.'TABPERSO'.CAPI.MOI = rxt.'TBT'.'TABPERSO'.CAPI.MOI et ('PROG' X1); 'FINSI'; IDIM = vale 'DIME'; 'SI' ('EGA' IDIM 3); 'SI' ('EGA' MOI 'VZ'); VN=rxt.'TIC'.'VN'; VZ=EXCO 'UZ' VN; PT2=vtf 'POINT' 'PROCHE' PT1; VZ1=REDU VZ PT2; X1 = 'EXTR' VZ1 'SCAL' PT2 ; rxt.'TBT'.'TABPERSO'.CAPI.MOI = rxt.'TBT'.'TABPERSO'.CAPI.MOI et ('PROG' X1); 'FINSI'; 'FINSI'; 'FIN' BOU2; 'FIN' BOU1; 'FINPROC' ; opti dime 3 elem cu20 ; COMPLET=VRAI ; COMPLET=FAUX ; GRAPH=VRAI ; GRAPH=FAUX ; opti TRACE 'PSC' ; Si COMPLET ; DT0 = 2.e-2 ; * nbit=20 ; nbit=200 ; n1 = 2 ; n2 = 2 ; n3 = 1 ; * n4 = -1 * 10 ; n4 = 8 ; Sinon ; * nbit=100 ; DT0 = 5.e-2 ; *DT0 = 1.e-1 ; nbit = 10 ; n1 = 1 ; n2 = 2 ; n3 = 1 ; n4 = 4 ; ; Finsi ; ri = 0.75 ; sp = 1.000 ; hc = 4 ; epsi = 1.000e-6 ; ; p0 = 0.000 0.000 0.000 ; px = -1000.000 0.000 0.000 ; py = 0.000 -1000.000 0.000 ; pz = 0.000 0.000 1000.000 ; cd = 0.000 0.000 -20.000 ; ph0 = 0.000 0.000 hc ; phx = ri 0.000 hc ; phy = 0.000 ri hc ; p1 = (ri*0.6) 0.000 0.000 ; p2 = (ri*0.6) (ri*0.6) 0.000 ; p3 = 0.000 (ri*0.6) 0.000 ; p4 = ri 0.000 0.000 ; p5 = 0.000 ri 0.000 ; p6 = (ri+sp) 0.000 0.000 ; p7 = 0.000 (ri+sp) 0.000 ; l1 = droi p0 p1 n1 ; l2 = droi p1 p2 n1 ; l3 = droi p2 p3 n1 ; l4 = droi p3 p0 n1 ; l5 = cerc p4 p0 p5 (2*n1) 'DINI' 0.4 'DFIN' 0.01 ; l6 = cerc p6 p0 p7 (2*n1) ; basf = dall l1 l2 l3 l4 ; basf = basf et (regl (l2 et l3) l5 n2) ; elim basf epsi ; basf = basf et (syme basf droi p0 p3) ; elim basf epsi ; basf = basf et (syme basf droi p0 p1) ; elim basf epsi ; l44 = (l4 et (p3 d n2 p5) ) ; l44 = l44 et (syme l44 droi p0 p1) ; elim l44 epsi ; l44 = l44 coul rouge ; l55 = l44 tour 90. p0 (p0 plus (0 0 100)) ; basm = regl l5 l6 n3 ; basm = basm et (syme basm droi p0 p3) ; elim basm epsi ; basm = basm et (syme basm droi p0 p1) ; elim basm epsi ; domf = basf proj cyli pz sphe cd phx ; domm = basm proj cyli pz plan ph0 phx phy ; l44s= l44 proj cyli pz sphe cd phx ; l55s= l55 proj cyli pz sphe cd phx ; p44 = regle n4 l44 l44s ; p55 = regle n4 l55 l55s ; p0s= p0 proj cyli pz sphe cd phx ; axe = droit n4 p0 p0s 'DINI' 0.4 'DFIN' 0.05 ; elim (axe et p55) epsi ; *opti donn 5; aria = volu basf domf n4 'DINI' 0.4 'DFIN' 0.05 ; muro = (volu basm domm n4 'DINI' 0.4 'DFIN' 0.05) coul roug ; elim (aria et muro) epsi ; elim (aria et p44 et p55 ) epsi ; pjg = poin basf proc (0.000 0.000 0.000) ; *pjg = poin basf proc ((ri/2.0) 0.000 0.000) ; jg = (elem basf 'APPUIE' 'LARGEMENT' pjg) coul vert ; pjd = poin domf proc (0.000 ri hc) ; *pjd = poin domf proc ((ri/2.0) 0.000 hc) ; jd = (elem domf 'APPUIE' 'LARGEMENT' pjd) coul vert ; mesjd = MESU jd ; 'MESS' mesjd ; enva = enve aria ; enva = orie enva point (0.0 0.0 (hc/2.0)) ; envm = enve muro ; * pare = inte enva envm ; mesaria = MESU aria ; 'MESS' mesaria ; * trac aria; * opti donn 5; * DT0 = 1e-1 ; rxt = table ; rxt.'vtf' = aria ; rxt.'epsi' = epsi ; rxt.'pi' = (0.0 0.0 1.1) ; rxt.'GRAPH' = GRAPH ; rxt.'FRPREC' = 3 ; * rxt.'VAPEUR' = VRAI ; rxt.'ASPER' = VRAI ; *-- Conditions initiales dans l'enceinte de test rxt.'TF0' = 120.0 ; rxt.'PT0' = 2.50e5 ; rxt.'Yvap0' = 0.01 ; rxt.'scenasp' = table ; rxt.'scenasp'.'t' = PROG 0.000 1000.000 ; ASPER = rxt.'ASPER' ; si ASPER ; rxt.'aspinj' = jd ; rxt.'toitf' = domf ; rxt.'rod' = 1.000e+3 ; rxt.'Cpd' = 4.180e+3 ; rxt.'scenasp'.'vzinj' = prog 0. 0. ; rxt.'scenasp'.'xdinj' = prog 0. 0. ; rxt.'scenasp'.'tdinj' = prog 9.50e+1 9.50e+1 ; rxt.'scenasp'.'ddinj' = prog 1.400e-3 1.400e-3 ; finsi ; * rxt.'DT0' = DT0 ; *-- On impose la viscosite turbulente (m2/s) rxt.'MODTURB'='NUTURB' ; * nut/nuf=330 ; rxt.'NUT' = 5.e-3 ; rxt.'IMPR' =1 ; ********************************************** *-- Definition des capteurs de mesures dans l"enceinte R00 = 0. 0. 1.0 ; R01 = 0. 0. 1.5 ; R02 = 0. 0. 2.0 ; PERSO=TABLE ; PERSO.CAPT0 = VRAI ; PERSO.TITRE = 'Tableperso' ; PERSO.TEMPS = 'PROG' ; PERSO.FREQ0 = 1 ; PERSO.LPOINTS= R00 et R01 et R02 ; PERSO.NPOINTS= 3 ; PERSO.CAPT='MOTS' 'CAP1' 'CAP2' 'CAP3' ; PERSO.COMP= MOTS 'TD' 'UY' 'UX' 'XVAP' 'VY' 'VX' 'DD' 'XD' 'TF' 'STD2' ; ************************************* ** Procedure PERSO pour ** ** et suivi en ligne des capteurs ** ************************************* rxt.'PERSO' = VRAI ; rxt.'PRCPERSO'= 'VISUP' ; rxt.'TABPERSO'= PERSO ; EXECRXT 0 rxt ; xdd = 'KCHT' (rxt.'GEO'.'$vtf') 'SCAL' 'SOMMET' 10.e-4 ; rxt.'TIC'.'XD' = xdd ; rxt.'TIC'.'XDM' = xdd ; dd = 'KCHT' (rxt.'GEO'.'$vtf') 'SCAL' 'SOMMET' 1.4e-3 ; rxt.'TIC'.'DD' = dd ; rxt.'TIC'.'DDM' = xdd ; td = 'KCHT' (rxt.'GEO'.'$vtf') 'SCAL' 'SOMMET' 95.00 ; rxt.'TIC'.'TD' = td ; rxt.'TIC'.'TDM' = td ; EXECRXT nbit rxt ; *opti sauv 'asptest1.save'; *sauv ; Maxe = chan axe QUAF; $vtf= rxt.'GEO'.'$vtf'; vtf = doma $vtf maillage ; elim (Maxe et vtf) epsi ; discr=rxt.'TBT'.'discr' ; $axe=mode Maxe 'NAVIER_STOKES' discr ; axe = doma $axe maillage ; un=rxt.'TIC'.'UN'; vn=rxt.'TIC'.'VN'; rho=rxt.'TIC'.'RHO'; rvp=rxt.'TIC'.'RVP'; tf=rxt.'TIC'.'TF' ; rvp=rxt.'TIC'.'RVP'; td=rxt.'TIC'.'TD' ; dd=rxt.'TIC'.'DD' ; xd=rxt.'TIC'.'XD' ; *std=rxt.'TIC'.'STD' ; Si (NON COMPLET); an= psca vn vn (mots ux uy uz)(mots ux uy uz) ; an= an **0.5 ; mess ' Norme de VN ' (mini an) (maxi an) ; test = abs ((maxi an) - 2.888 ) /4.; Si (test '>' 1.e-2) ; erreur 5 ; Finsi ; list rxt.'TIC'.'Tfm' ; list rxt.'TIC'.'Tdmi' ; list rxt.'TIC'.'Tdma' ; list rxt.'TIC'.'PT' ; list rxt.'TIC'.'Qaspe'; list rxt.'TIC'.'Mrest'; list rxt.'TIC'.'LMAXU'; * ltfm = prog 120.00 120.00 120.00 121.96 121.70 120.98 119.86 118.53 117.06 115.54 114.01 ; lTdmi = prog 95.000 95.000 88.091 81.368 75.990 71.975 68.992 66.787 65.169 63.986 63.121 ; lPT =prog 2.50000E+05 2.50000E+05 2.49707E+05 2.50941E+05 2.55018E+05 2.56890E+05 2.57212E+05 2.57414E+05 2.57543E+05 2.57358E+05 2.56956E+05 ; lqaspe=prog 0.0000 0.0000 1.7050 1.6427 1.3717 1.0922 0.87426 0.70782 0.57932 0.48023 0.40350 ; lmrest=prog 0.15186 0.15186 0.23711 0.31924 0.38783 0.44244 0.48615 0.52154 0.55051 0.57452 0.59469 ; lmaxu=prog 0.0000 0.0000 2.39376E-03 4.95409E-03 6.15447E-03 7.89729E-03 9.04730E-03 9.61976E-03 9.69710E-03 9.39846E-03 8.85122E-03 ; tic=rxt.'TIC' ; **************** ERtf=resu( abs (ltfm - tic.'Tfm') )/ 80. ; ERPT=resu( abs (lPT - tic.'PT' ) ) /1.e5 ; ERQA=resu( abs (lqaspe - tic.'Qaspe' ) ) /3. ; ERMR=resu( abs (lmrest - tic.'Mrest' ) ) /6. ; ERum=resu( abs (Lmaxu - tic.'LMAXU' ) ) ; Mess ' ERtf=' ERtf ' ERPT=' ERPT ' ERQasp=' ERQA 'ERum=' ERum ; Mess ' ERMR=' ERmr ; Si (ERtf '>' 1.e-2) ; erreur 5 ; Finsi ; Si (ERPT '>' 1.e-2) ; erreur 5 ; Finsi ; Si (ERQA '>' 1.e-2) ; erreur 5 ; Finsi ; Si (ERMR '>' 1.e-2) ; erreur 5 ; Finsi ; Si (ERum '>' 1.e-2) ; erreur 5 ; Finsi ; finsi ; ************************************************ SI GRAPH ; evuz= evol 'CHPO' (exco un uz) axe ; dess evuz 'TITRE' ' UZ axe '; MESS 'COUCOU'; opti donn 5; evvz= evol 'CHPO' (exco vn uz) axe ; dess evvz 'TITRE' ' VZ axe '; evr= evol 'CHPO' rho axe ; dess evr 'TITRE' ' Rho axe '; evrv= evol 'CHPO' rvp axe ; dess evrv 'TITRE' ' Rho vap axe '; evtf= evol 'CHPO' tf axe ; dess evtf 'TITRE' ' Tf axe '; evtd= evol 'CHPO' td axe ; dess evtd 'TITRE' ' Td axe '; evxd= evol 'CHPO' xd axe ; dess evxd 'TITRE' ' Xd axe '; evdd= evol 'CHPO' dd axe ; dess evdd 'TITRE' ' DD axe '; Mpco = chan (p44 et p55) QUAF ; $pco = mode Mpco 'NAVIER_STOKES' MACRO ; pco = doma $pco maillage ; elim (vtf et pco) epsi ; ixd=masq xd 'SUPERIEUR' 1.e-7 ; vn = ixd * vn ; un1=redu un pco ; vn1=redu vn pco ; ung= vect un1 0.1 ux uy uz jaune ; vng= vect vn1 0.05 ux uy uz vert ; *trace ung pco (cont pco) ; *trace vng pco (cont pco) ; *trace (ung et vng) pco (cont pco) ; trace rvp pco TITR ' RVP ' ; trace tf pco TITR ' TF ' ; trace td pco TITR ' TD ' ; trace xd pco TITR ' XD ' ; ******************************************************************* *---------------------------------------------------------------* * Trace de l'evolution de la temperature TD sur 1 capteurs * *---------------------------------------------------------------* TPS=rxt.TBT.TABPERSO.TEMPS; TD1=rxt.TBT.TABPERSO.CAP1.'TD'; EV1TD=EVOL MANU TPS TD1; *list ev1TD ; TAB1=TABLE; TAB1.'TITRE'=TABLE; TAB1.'TITRE'. 1= MOT 'Td z=1.0m'; DESS (EV1TD) LEGE TAB1; ******************************************************************* *---------------------------------------------------------------* * Trace de l'evolution de la temperature du gaz TF sur les 4 capteurs * *---------------------------------------------------------------* TF1=rxt.TBT.TABPERSO.CAP1.'TF'; EV1TF=EVOL MANU TPS TF1; *list ev1TF ; TAB1=TABLE; TAB1.'TITRE'=TABLE; TAB1.'TITRE'. 1= MOT 'Tf z=1.0m'; DESS (EV1TF ) LEGE TAB1; ******************************************************************* *---------------------------------------------------------------* * Trace de l'evolution de la fraction volumique XD sur les 4 capteurs * *---------------------------------------------------------------* XD1=rxt.TBT.TABPERSO.CAP1.'XD'; EV1XD=EVOL MANU TPS XD1; *list ev1xd ; TAB1=TABLE; TAB1.'TITRE'=TABLE; TAB1.'TITRE'. 1= MOT 'Xd z=1.0m'; DESS (EV1XD ) LEGE TAB1; ******************************************************************* *---------------------------------------------------------------* * Trace de l'evolution de la fraction volumique DD sur les 4 capteurs * *---------------------------------------------------------------* DD1=rxt.TBT.TABPERSO.CAP1.'DD'; EV1DD=EVOL MANU TPS DD1; *list ev1dd ; TAB1=TABLE; TAB1.'TITRE'=TABLE; TAB1.'TITRE'. 1= MOT 'Dd z=1.0m'; DESS (EV1DD) LEGE TAB1; ******************************************************************* *---------------------------------------------------------------* * Trace de l'evolution de STD sur les 4 capteurs * *---------------------------------------------------------------* STD1 = rxt.TBT.TABPERSO.CAP1.'STD2'; EV1STD = EVOL MANU TPS STD1 ; *list ev1std ; TAB1=TABLE; TAB1.'TITRE'=TABLE; TAB1.'TITRE'. 1= MOT 'STD z=1.0m'; DESS (EV1STD) LEGE TAB1; *OPTI DONN 5 ; FINSI ; 'FIN' ;