Download Hasp.dgibi

Back to the list

* fichier : Hasp.dgibi

 opti dime 3 elem cu20                                        ;
*
 COMPLET=VRAI                                                 ;
 COMPLET=FAUX                                                 ;
 GRAPH=VRAI                                                   ;
 GRAPH=FAUX                                                   ;
 opti TRACE 'PSC' ;

 Si COMPLET                                                   ;
 nbit=25                                                      ;
 DT0 = 5.e-1                                                  ;
 n1   =  1          ; n2   =  2          ; n3   =  1          ;
 n4   =  8          ;                                         ;
 Sinon                                                        ;
 DT0 = 1.e+0                                                  ;
 nbit=5                                                       ;
 n1   =  1          ; n2   =  2          ; n3   =  1          ;
 n4   =  4          ;                                         ;
 Finsi                                                        ;

 ri   = 10.000      ; sp   =  1.000      ; hc   = 20.000      ;
 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         ;

 p1   =  (ri*0.4)             0.000                0.000      ;
 p2   =  (ri*0.3)             (ri*0.3)             0.000      ;
 p3   =  0.000                (ri*0.4)             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)                                 ;
 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 = p0 d  n4 p0s ;
 elim (axe et p55) epsi ;


 aria =  volu basf domf n4                                    ;
 muro = (volu basm domm n4) 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 0.000    hc)                   ;
*pjd  =  poin domf proc ((ri/2.0) 0.000    hc)                ;
 jd   = (elem domf 'APPUIE' 'LARGEMENT' pjd) coul vert        ;

 enva = enve aria                                             ;
 enva = orie enva point (0.0 0.0 (hc/2.0))                    ;
 envm = enve muro                                             ;
 pare = inte enva envm                                        ;


* DT0          =  1.0e+0                                       ;
 rxt          =  table                                        ;
 rxt.'vtf'    =   aria                                        ;
 rxt.'epsi'   =   epsi                                        ;
 rxt.'pi'     =  (0.0 0.0 4.1)                                ;
 rxt.'GRAPH'     =  GRAPH                                     ;
 rxt.'FRPREC'    = 3                                          ;
*
 rxt.'VAPEUR'    =  VRAI                                      ;
 rxt.'ASPER'     =  VRAI                                      ;

*-- Conditions initiales dans l'enceinte de test
 rxt.'TF0'    =      100.0                                   ;
 rxt.'PT0'    =        2.079000e5                             ;
 rxt.'Yvap0'  =        0.00                                   ;

 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  -1.000e-1  -1.000e-1         ;
  rxt.'scenasp'.'xdinj'  = prog   1.000e-4   1.000e-4         ;
  rxt.'scenasp'.'tdinj'  = prog   5.000e+1   5.000e+1         ;
  rxt.'scenasp'.'ddinj'  = prog   1.000e-3   1.000e-3         ;
 finsi                                                        ;
*

 rxt.'DT0'    =  DT0                                          ;

*-- On impose la viscosite turbulente (m2/s)
 rxt.'MODTURB'='NUTURB'                                       ;
 rxt.'NUT'    =  5.e-3                                        ;

 rxt.'IMPR' =1                   ;

 EXECRXT nbit  rxt ;

 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' ;
xd=rxt.'TIC'.'XD' ;
dd=rxt.'TIC'.'DD' ;
*opti donn 5;
Si (NON COMPLET);


* modif 2004                                                  ;
*  MTHEO   = 4.5527                                           ;
 MTHEO    = 5.1859                                            ; 
 Diag    = 'DOMA' rxt.'GEO'.'$vtf'    'XXDIAGSI'              ;
 mvapeur = 'SOMT' (Diag '*' rxt.'TIC'.'RVP')                  ;
 'MESS' '==> Masse de vapeur = ' mvapeur 'kg'                 ;
 'MESS' '==> Masse Theorique = ' MTHEO 'kg'                   ;
 TEST= ('ABS' ( MTHEO '-' mvapeur ) '/' MTHEO)                ;
 'SI' ( TEST '>'  0.1 ); 
 erreur 5              ; 
'FINSI'                ;

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) - 3.89  ) /4.;
Si (test '>' 1.e-2) ; 
erreur 5 ;

Finsi ;
*list test  ;
*opti donn 5;

list rxt.TIC.'Tfm' ;
list rxt.TIC.'PT'  ;
list rxt.TIC.'Qaspe';
list rxt.TIC.'Mrest';
list rxt.TIC.'LMAXU';

ltfm=prog  
 100.00  100.00   100.000   99.754  99.441  98.975;

lPT =prog
2.0790E+05  2.0790E+05  2.07776E+05 
 2.07767E+05  2.07597E+05  2.07392E+05;


lqaspe = prog 
0.000   0.000    1.160   1.739   2.287       2.763 ;


lmrest=prog
0.000       0.000       1.160       2.899       5.186      7.949  ;
 

*0.000       0.000      0.3411      0.5021      0.6861      0.9536 ;
* Après correction Gounand 2012/12/20
lmaxu='PROG'
0.0000       0.0000      0.31987      0.45662      0.63362      0.93876;


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 ';

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-5 ;
vn = ixd *  vn ;
un1=redu un pco ;
vn1=redu vn pco ;
ung= vect un1 5. ux uy uz jaune ;
vng= vect vn1 0.5 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 ' ;
Finsi ;



  'FIN' ;
 

 

 

 

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer