* fichier : pq1-lref.dgibi *--------------------------------------------------------- * Cas test de non régression basé sur pq1 *--------------------------------------------------------- * Pressurisation d'une enceinte type Phébus * * On ajoute LREF pour prise en compte convection forcée * Pour lref = 0. on doit retrouver pq1 * Pour lref = 0.1 cela doit bouger * * revisite Mars 2001 *-------------------------------------------------------- COMPLET = FAUX ; *COMPLET = VRAI ; GRAPH = VRAI ; GRAPH = FAUX ; 'OPTI' 'TRAC' 'X' ; *'OPTI' 'TRAC' 'PSC' ; 'SI' COMPLET ; nbit=100; DT0 = 1. ; n1 = 1 ; n2 = 4 ; n3 = 4 ; n4 = 8 ; nn = 2 ; 'SINON' ; nbit= 5 ; DT0 = 10. ; n1 = 1 ; n2 = 2 ; n3 = 4 ; n4 = 4 ; nn = 1 ; 'FINSI' ; *-------------------------------------------------------- * Definition du maillage de l'enceinte cylindrique * 'OPTI' 'DIME' 3 'ELEM' 'CU20' ; ri = 1.052 ; sp = 0.10 ; hc = 4.163 ; epsi = 1.000e-2 ; ; 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 ; fg1 = 0.25 ; fg2 = fg1 * (2.0 ** 0.5) / 2. ; p1 = (ri*fg1) 0.000 0.000 ; p2 = (ri*fg2) (ri*fg2) 0.000 ; p3 = 0.000 (ri*fg1) 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 ; * Hauteur de l'enceinte h1 = 4.163 ; * Vecteur de translation v1 = 0. 0. h1 ; 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) ; l6 = 'CERC' p6 p0 p7 (2*n1) ; basf0= 'DALL' l1 l2 l3 l4 'PLAN' ; basf1=('REGL' (l2 'ET' l3) l5 n2) ; l44= cote 2 basf1; ax4= (inve l4) et l44 ; l11= cote 4 basf1; ax1= l11 et (inve l1) ; basf = basf0 'ET' ('REGL' (l2 'ET' l3) l5 n2) ; 'ELIM' basf epsi ; basf = basf 'ET' ('SYME' basf 'DROI' p0 p3) ; ax11 = ('SYME' ax1 'DROI' p0 p3) 'ET' (inve ax1) ; 'ELIM' basf epsi ; basf = basf 'ET' ('SYME' basf 'DROI' p0 p1) ; ax44 = (inve ax4) 'ET' ('SYME' ax4 'DROI' p0 p4) ; 'ELIM' basf epsi ; 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 ; * Creation du volume dx = ri / 2. ; nz1 = ('ENTIER' ( h1 / dx ))*nn ; bas = basf 'VOLU' nz1 'TRAN' v1 ; mbas = basm 'VOLU' nz1 'TRAN' v1 ; mbas = mbas 'COUL' 'ROUG' ; plan1 = ax11 'TRAN' nz1 v1 ; plan4 = ax44 'TRAN' nz1 v1 ; 'ELIM' (bas et plan1 et plan4) epsi ; mt = bas ; wall = mbas ; elim (mt et wall) epsi ; * Localisation d'une brèche éventuelle au bas de l'enceinte pjg = 'POIN' basf 'PROC' (0.000 0.000 0.000) ; jg = ('ELEM' basf 'APPUIE' 'LARGEMENT' pjg) 'COUL' 'VERT' ; *-------------------------------------------------------------------- * Fin de la définition du maillage *-------------------------------------------------------------------- *-------------------------------------------------------------------- * Début de l'initialisation de la procédure ENCEINTE : table RXT *-------------------------------------------------------------------- rxt = 'TABLE' ; rxt . 'VERSION' = 'V0' ; *-- Nom du volume fluide rxt . 'vtf' = mt ; rxt . 'epsi' = epsi ; *-- Definition des murs de l'enceinte : ici un seul mur *-- en ACIER dont on traitera la thermique dans l'épaisseur *-- et que l'on initialise a 40oC *-- On definit d'abord le matériau ACIER avec sa conductivite *-- thermique LAMBDA (W/m/K) et le produit ro*Cp (J/m3/K) rxt . 'THERMP' = VRAI ; rxt . 'vtp' = wall ; rxt . 'LAMBDA' = 15. ; rxt . 'ROCP' = 3.9E6 ; rxt . 'Tp0' = 60. ; rxt . 'ECHAN' = 10. ; *-- On definit un point interne au maillage pour imposer la valeur de *-- la pression rxt . 'pi' = (0.0 0.0 0.5) ; *-- On indique que le calcul comporte de la vapeur d'eau rxt . 'VAPEUR' = VRAI ; rxt . 'Yvap0' = 0.0023 ; *-- Conditions initiales dans l'enceinte de test rxt . 'TF0' = 40.0 ; rxt . 'PT0' = 1.00000e5 ; *-- Definition du scenario à la breche rxt . 'Breches' = 'TABLE' ; rxt . 'Breches' . 'A' = 'TABLE' ; rxt . 'Breches' . 'A' . 'Maillage' = jg ; rxt . 'Breches' . 'A' . 'diru' = (0. 0. 1.) ; rxt . 'Breches' . 'A' . 'scenario' = 'TABLE' ; rxt . 'Breches' . 'A' . 'scenario' . 't' = PROG 0.0 1000. ; rxt . 'Breches' . 'A' . 'scenario' . 'qair' = PROG 0.0 0.0 ; rxt . 'Breches' . 'A' . 'scenario' . 'qeau' = PROG 0.05 0.05 ; rxt . 'Breches' . 'A' . 'scenario' . 'tinj' = PROG 150. 150. ; *-- On impose la viscosite turbulente (m2/s) rxt . 'MODTURB' = 'NUTURB' ; rxt . 'NUT' = 1.e-2 ; *-- On impose le pas de temps (s) rxt . 'DT0' = DT0 ; *-- On active le recalcul automatique du préconditionnement *-- toutes les 5 itérations rxt . 'FRPREC' = 5 ; rxt . 'DETMAT' = VRAI ; *rxt.'TRTF' = FAUX ; Si VRAI; *-- On lance le calcul sur 20 itérations d'une seconde rxt . 'GRAPH' = GRAPH ; EXECRXT 2 rxt ; cont1 = 'ENVE' rxt . 'GEO' . 'vtf' ; rxt . 'TIC' . 'LREF' = 'MANU' 'CHPO' cont1 0. 'SCAL' ; EXECRXT (nbit - 2) rxt ; list rxt.'TIC'.'Tfm' ; list rxt.'TIC'.'PT' ; list rxt.'TIC'.'Qc' ; list rxt.'TIC'.'LMAXU'; ltfm = 'PROG' 40.000 65.434 73.712 81.158 86.809 90.721 ; lPT = 'PROG' 1.00000E+05 1.06009E+05 1.21199E+05 1.29592E+05 1.36461E+05 1.43987E+05 ; Lqc = 'PROG' 0.0000 0.0000 0.0000 4.06133E-04 2.65247E-03 4.88852E-03 ; Lmaxu = 'PROG' 0.0000 0.81320 2.0813 2.6901 2.2350 2.5277 ; tic=rxt.'TIC' ; ERtf=somm( abs (ltfm - tic.'Tfm') )/ 80. ; ERPT=somm( abs (lPT - tic.'PT' ) ) /1.e5 ; ERQc=somm( abs (lqc - tic.'Qc' ) ) ; ERum=somm( abs (Lmaxu - tic.'LMAXU' ) )/2. ; Mess 'ERtf=' ERtf 'ERPT=' ERPT 'ERQc=' ERQc 'ERum=' ERum ; ierr = 0 ; Si (ERtf '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ; Si (ERPT '>' 1.e-3) ; ierr = ierr '+' 1 ; Finsi ; Si (ERQc '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ; Si (ERum '>' 1.e-2) ; ierr = ierr '+' 1 ; Finsi ; ****************************************************************** rxt = enlev rxt 'GEO'; rxt = enlev rxt 'TBT'; rxt = enlev rxt 'TIC'; EXECRXT 2 rxt ; cont1 = 'ENVE' rxt . 'GEO' . 'vtf' ; rxt . 'TIC' . 'LREF' = 'MANU' 'CHPO' cont1 1. 'SCAL' ; EXECRXT (nbit - 2) rxt ; list rxt.'TIC'.'Tfm' ; list rxt.'TIC'.'PT' ; list rxt.'TIC'.'Qc' ; list rxt.'TIC'.'LMAXU'; ltfm = 'PROG' *40.000 65.434 73.712 81.158 86.809 90.721 ; 40.000 65.434 73.712 81.158 86.787 90.532 ; lPT = 'PROG' *1.00000E+05 1.06009E+05 1.21199E+05 1.29592E+05 1.36461E+05 1.43987E+05; 1.00000E+05 1.06009E+05 1.21199E+05 1.29592E+05 1.36453E+05 1.43899E+05; Lqc = 'PROG' *0.0000 0.0000 0.0000 4.06133E-04 2.65247E-03 4.88852E-03 ; 0.0000 0.0000 0.0000 4.98153E-04 3.47975E-03 5.32965E-03 ; Lmaxu = 'PROG' *0.0000 0.81320 2.0813 2.6901 2.2350 2.5277 ; 0.0000 0.81320 2.0813 2.6901 2.2350 2.5277 ; tic=rxt.'TIC' ; ERtf=somm( abs (ltfm - tic.'Tfm') )/ 80. ; ERPT=somm( abs (lPT - tic.'PT' ) ) /1.e5 ; ERQc=somm( abs (lqc - tic.'Qc' ) ) ; ERum=somm( abs (Lmaxu - tic.'LMAXU' ) )/2. ; Mess 'ERtf=' ERtf 'ERPT=' ERPT 'ERQc=' ERQc 'ERum=' ERum ; ierr = 0 ; Si (ERtf '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ; Si (ERPT '>' 1.e-3) ; ierr = ierr '+' 1 ; Finsi ; Si (ERQc '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ; Si (ERum '>' 1.e-2) ; ierr = ierr '+' 1 ; Finsi ; ****************************************************************** rxt.'vtf' = (chan 'MACRO' mt) ; rxt.'vtp' = (chan 'MACRO' wall) ; rxt . 'Breches' . 'A' . 'Maillage' = (chan 'MACRO' jg) ; rxt = enlev rxt 'GEO'; rxt = enlev rxt 'TBT'; rxt = enlev rxt 'TIC'; EXECRXT 2 rxt ; cont1 = 'ENVE' rxt . 'GEO' . 'vtf' ; rxt . 'TIC' . 'LREF' = 'MANU' 'CHPO' cont1 1. 'SCAL' ; EXECRXT (nbit - 2) rxt ; list rxt.'TIC'.'Tfm' ; list rxt.'TIC'.'PT' ; list rxt.'TIC'.'Qc' ; list rxt.'TIC'.'LMAXU'; tic=rxt.'TIC' ; ERtf=somm( abs (ltfm - tic.'Tfm') )/ 80. ; ERPT=somm( abs (lPT - tic.'PT' ) ) /1.e5 ; ERQc=somm( abs (lqc - tic.'Qc' ) ) ; ERum=somm( abs (Lmaxu - tic.'LMAXU' ) )/2. ; Mess 'ERtf=' ERtf 'ERPT=' ERPT 'ERQc=' ERQc 'ERum=' ERum ; Si (ERtf '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ; Si (ERPT '>' 1.e-3) ; ierr = ierr '+' 1 ; Finsi ; Si (ERQc '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ; Si (ERum '>' 1.e-2) ; ierr = ierr '+' 1 ; Finsi ; ****************************************************************** rxt.'vtf' = (chan 'QUAF' mt) ; rxt.'vtp' = (chan 'QUAF' wall) ; rxt . 'Breches' . 'A' . 'Maillage' = (chan 'QUAF' jg) ; rxt = enlev rxt 'GEO'; rxt = enlev rxt 'TBT'; rxt = enlev rxt 'TIC'; EXECRXT 2 rxt ; cont1 = 'ENVE' rxt . 'GEO' . 'vtf' ; rxt . 'TIC' . 'LREF' = 'MANU' 'CHPO' cont1 1. 'SCAL' ; EXECRXT (nbit - 2) rxt ; list rxt.'TIC'.'Tfm' ; list rxt.'TIC'.'PT' ; list rxt.'TIC'.'Qc' ; list rxt.'TIC'.'LMAXU'; tic=rxt.'TIC' ; ERtf=somm( abs (ltfm - tic.'Tfm') )/ 80. ; ERPT=somm( abs (lPT - tic.'PT' ) ) /1.e5 ; ERQc=somm( abs (lqc - tic.'Qc' ) ) ; ERum=somm( abs (Lmaxu - tic.'LMAXU' ) )/2. ; Mess 'ERtf=' ERtf 'ERPT=' ERPT 'ERQc=' ERQc 'ERum=' ERum ; Si (ERtf '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ; Si (ERPT '>' 1.e-3) ; ierr = ierr '+' 1 ; Finsi ; Si (ERQc '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ; Si (ERum '>' 1.e-2) ; ierr = ierr '+' 1 ; Finsi ; finsi; ****************************************************************** rxt.'vtf' = (chan 'LINE' mt) ; rxt.'vtp' = (chan 'LINE' wall) ; rxt . 'Breches' . 'A' . 'Maillage' = (chan 'LINE' jg) ; rxt = enlev rxt 'GEO'; rxt = enlev rxt 'TBT'; rxt = enlev rxt 'TIC'; EXECRXT 2 rxt ; cont1 = 'ENVE' rxt . 'GEO' . 'vtf' ; rxt . 'TIC' . 'LREF' = 'MANU' 'CHPO' cont1 1. 'SCAL' ; EXECRXT (nbit - 2) rxt ; list rxt.'TIC'.'Tfm' ; list rxt.'TIC'.'PT' ; list rxt.'TIC'.'Qc' ; list rxt.'TIC'.'LMAXU'; ltfm = 'PROG' *40.000 67.363 75.733 83.257 88.699 92.375 ; 40.000 67.363 75.733 83.257 88.644 92.093 ; lPT = 'PROG' *1.00000E+05 1.06452E+05 1.22785E+05 1.31710E+05 1.39047E+05 1.46818E+05; 1.00000E+05 1.06452E+05 1.22785E+05 1.31710E+05 1.39028E+05 1.46663E+05; Lqc = 'PROG' *0.0000 0.0000 0.0000 1.04818E-03 3.74210E-03 6.39247E-03 ; 0.0000 0.0000 0.0000 1.26761E-03 4.89033E-03 6.99583E-03 ; Lmaxu = 'PROG' *0.0000 0.81320 2.0604 2.5919 2.1446 2.4526 ; 0.0000 0.81320 2.0604 2.5919 2.1446 2.4526 ; tic=rxt.'TIC' ; ERtf=somm( abs (ltfm - tic.'Tfm') )/ 80. ; ERPT=somm( abs (lPT - tic.'PT' ) ) /1.e5 ; ERQc=somm( abs (lqc - tic.'Qc' ) ) ; ERum=somm( abs (Lmaxu - tic.'LMAXU' ) )/2. ; Mess 'ERtf=' ERtf 'ERPT=' ERPT 'ERQc=' ERQc 'ERum=' ERum ; Si (ERtf '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ; Si (ERPT '>' 1.e-3) ; ierr = ierr '+' 1 ; Finsi ; Si (ERQc '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ; Si (ERum '>' 1.e-2) ; ierr = ierr '+' 1 ; Finsi ; Si GRAPH ; $vtf=rxt.'GEO'.'$vtf' ; mt =doma $vtf maillage ; Mpl1=chan 'QUAF' plan1 ; Mpl4=chan 'QUAF' plan4 ; ELIM (mt et Mpl1 et Mpl4) epsi ; $mpl1= mode Mpl1 'NAVIER_STOKES' MACRO ; $mpl4= mode Mpl4 'NAVIER_STOKES' MACRO ; plan1= doma $mpl1 maillage ; plan4= doma $mpl4 maillage ; plan=plan1 et plan4 ; paroif = rxt.'GEO'.'paroif'; rho=rxt.'TIC'.'RHO'; rvp=rxt.'TIC'.'RVP'; tf=rxt.'TIC'.'TF'; un=rxt.'TIC'.'UN' ; un1=redu un plan ; ung= vect un1 1. ux uy uz jaune ; trace ung plan ; opti isov suli ; trace rho plan 'TITRE'' Rho' ; trace rvp plan 'TITRE'' Rvp' ; trace tf plan 'TITRE'' Tf ' ; trace rho paroif 'TITRE'' Rho' ; trace rvp paroif 'TITRE'' Rvp' ; trace Tf paroif 'TITRE'' Tf ' ; Fcond = tic.'Fcondw'; trace Fcond paroif 'TITRE' ' Flux de condensation Kg / m**2 ' ; axe = p0 d nz1 (p0 plus v1) ; axe = chan axe 'QUAF' ; elim (axe et mt) epsi ; evr= evol 'CHPO' rho axe ; dess evr 'TITRE' ' Rho axe '; evt = evol 'CHPO' Tf axe ; dess evt 'TITRE' ' Température axe '; evvp= evol 'CHPO' rvp axe ; dess evvp 'TITRE' ' rvp axe '; 'FINSI' ; 'SI' (IERR '>' 0) ; 'MESS' 'Il y a des problemes !!!' ; 'ERRE' 5 ; 'SINO'; 'MESS' 'Tout s est bien passe!' ; 'FINS' ; 'FIN' ;