Download dvisi.dgibi

Back to the list

* fichier :  dvisi.dgibi
*$$$ DVISI
*X   DVISI(Jeux de donnees)

**
**   --  DVISI --      Cavite carrée De Vahl Davis RA=1.E6
**                     Algorithme implicite
*                                                                               
*       Teste en IMPLICITE NS TSCA DUDW DFDT LAPN
*                éléments MACRO
*                      et QUADRATIQUE QUA9 et TRI7
*                                                                               
* à noter :  1/ l'initialisation du champ de température se fait
*               sur (doma $mt maillage) et non pas mt lorsqu'on utilise
*               MACRO
*                                                                               
*            2/ Le champ de vitesse (inconnue UN) est défini et
*               calculé sur le domaine fluide $MF uniquement
*
*            3/ Pour amortir les ondes de gravité on utilise DFDT sur U
*               uniquement avec un pas de temps judicieusement calculé
*----------------------------------------------------------------------         

GRAPH = 'N' ;
COMPLET = FAUX ;

SI (COMPLET) ;
NITER = 30 ;
d1=0.02 ; d2= 0.1 ;
d1=0.03 ; d2= 0.2 ;

SINON ;
 d1=0.05 ; d2= 0.3  ;
*d1=0.5  ; d2= 0.5  ;
NITER = 10 ;
FINSI ;

 DEBP CALCUL ;
 ARGU RX*TABLE ;
 rv=rx.'EQEX' ;
 tn=rv.'INCO'.'TN' ;
 un=rv.'INCO'.'UN' ;
 rv.'INCO'.'TF'=kcht $mf scal sommet (redu tn (doma $mf maillage));
 as2 ama1  = 'KOPS' 'MATRIK' ;
 FINPROC as2 ama1 ;

 DEBPROC POST ;
 ARGU RV*TABLE GRAPH*MOT ;
 tn=rv.'INCO'.'TN' ;
 un=rv.'INCO'.'UN' ;
 uref=rv.INCO.'UREF' ;


 srti=RV.'£AA'.'MAILLAGE'        ;
 srth=RV.'£BB'.'MAILLAGE'        ;
 evolV = EVOL 'CHPO' (rv.'INCO'.'UN') UX (srti  ) ;
 evolH = EVOL 'CHPO' (rv.'INCO'.'UN') UY (srth  ) ;
 evx=extr evolV 'ORDO' ;
 evy=extr evolV 'ABSC' ;
 evolV= evol 'MANU' 'Vitesse' evx 'Hauteur' evy ;
 evh=extr evolH 'ORDO' ;
 rv.'EVH'=evh ;

 SI ('EGA' GRAPH 'O' );
 $mt = rv.'$MT' ;
 mt=DOMA $mt MAILLAGE ;
 ung1=vect un uref ux uy jaune ;
 trac ung1 mt ;
 trace tn mt ;

 TAB1=TABLE;
 TAB1.'TITRE'=TABLE ;
 TAB1 . 1 ='MARQ      REGU '     ;
 TAB1.'TITRE' . 1 = mot 'Composante_UX '     ;
 DESS evolV 'TITX' 'R (m)' 'TITY' 'V (m/s)' LEGE  TAB1 ;

 TAB1.'TITRE' . 1 = mot 'Composante_UY '     ;
 DESS evolH 'TITX' 'R (m)' 'TITY' 'V (m/s)' LEGE  TAB1 ;

 FINSI ;

 FINPROC ;

DEBPROC TEST DISCR*MOT KTYP*MOT ;
option dime  2 elem ktyp ;


p1=0 0 ; p15= 0.5 0 ; p2=1 0 ; p25=1 0.5 ; p3=1 1;
p35=0.5 1 ; p4=0 1 ; p45= 0 0.5 ;

nt= 1 ;

bas=p1 d dini d1 dfin d2 p15 d dini d2 dfin d1 p2 ;
cdro=p2 d dini d1 dfin d2 p25 d  dini d2 dfin d1 p3 ;
haut=p3 d dini d1 dfin d2 p35 d  dini d2 dfin d1 p4 ;
cgau=p4 d dini d1 dfin d2 p45 d  dini d2 dfin d1 p1 ;
cnt= bas et cdro et haut et cgau ;
 mdro=cdro trans nt (0.2 0.) ;
 mdro=mdro coul bleu ;
 mgau=cgau trans nt (-0.2 0.) ;
 mgau=mgau coul rouge;
 pdro=cote 3 mdro ;
 pgau=cote 3 mgau ;

 mf= bas cdro haut cgau daller ;
 mt= mf et mgau et mdro ;

*trace mt ;

 mt = chan mt quaf ;
 mf = chan mf quaf ;
*opti donn 5 ;
 mdro = chan mdro quaf ;
 mgau = chan mgau quaf ;
 elim (mt et mf et mdro et mgau) 1.e-3 ;

 $mt= MODE mt 'NAVIER_STOKES' DISCR ;
 $mf= MODE mf 'NAVIER_STOKES' DISCR ;
 $mdro = MODE mdro 'NAVIER_STOKES' DISCR ;
 $mgau = MODE mgau 'NAVIER_STOKES' DISCR ;
*doma $mt 'IMPR' ;
*doma $mf 'IMPR' ;

 AA=cdro moin (0.5 0.) ;
 BB=bas plus (0. 0.5) ;
 elim (AA et BB et mt) 1.e-3 ;
 $AA=mode AA 'NAVIER_STOKES' DISCR ;
 $BB=mode BB 'NAVIER_STOKES' DISCR ;
 £AA = DOMA $AA 'TABLE' ;
 £BB = DOMA $BB 'TABLE' ;

 C1 = KCHT $mf SCAL SOMMET 1. ;
 NU =.7     ;
 ALF=NU     ;
 ALFP=1.e3   ;
 Ra = 1.E6 ;
 uref= 0.5/(Ra**0.5) ;
 gb = 0. (-1.*(Ra)) ;
 t0 = 0. ;
 EPSS=1.E-8 ;
 DT=0.1/(Ra**0.5) ;
 KPRESS=MOT 'CENTREP1' ;

RV=EQEX 'OMEGA' 1. 'NITER' NITER
 'OPTI' 'EF'  IMPL 'CENTREE' 'NODIV'
 'ZONE' $MF 'OPER' 'CALCUL'
 'ZONE' $MF 'OPER'  'DFDT' C1   'UN' DT        'INCO'  'UN'
 'ZONE' $MF 'OPER'  'NS' 1. 'UN' NU GB 'TF' T0 'INCO'  'UN'
 'OPTI' 'IMPL'  KPRESS
 'ZONE' $MF 'OPER'    'DUDW' EPSS      'INCO' 'UN'
;

RV=EQEX RV
 'OPTI' 'EF' 'IMPL'     'CENTREE' 'DIV2'
 'ZONE' $MF 'OPER'    'TSCA' 1. 'UN' ALF 0.    'INCO'  'TN'
 'ZONE' $MGAU 'OPER'  'LAPN' ALFP    'INCO'  'TN'
 'ZONE' $MDRO 'OPER'  'LAPN' ALFP    'INCO'  'TN'
 ;

RV = EQEX RV
 'CLIM'
        'UN' 'UIMP' (bas et cgau et cdro et haut) 0.
        'UN' 'VIMP' (bas et cgau et cdro et haut) 0.
        'TN' 'TIMP' pgau    1. 'TN' 'TIMP' pdro   0.
  ;

  RV.INCO=TABLE INCO ;
  RV.INCO.'UN'=kcht $MF VECT SOMMET (0. 0.);
  RV.INCO.'UF'=kcht $MF VECT SOMMET (0. 0.);
  corx= coor 1 (doma $mt maillage) ;
  RV.INCO.'TN'=kcht $MT SCAL SOMMET  ((6./7.) -(10./14.*corx))     ;
  RV.INCO.'UREF'= uref ;

 EXEC RV ;

 RV.'£AA'=£aa ;
 RV.'£BB'=£bb ;
 RV.'$MT'=$MT ;

 FINPROC RV ;



 DISCR='QUAF' ;
 rv = test DISCR 'QUA8' ;

 POST rv graph ;

 si (non COMPLET ) ;
 evh=abs (rv.'EVH') ;
 list evh ;
 levh=prog
 +1.28705E-28   190.48       169.84       73.736       8.8625
 +4.6032      +6.6793      +7.3036       22.072      +3.4506
 15.628       4.1952      +22.973      +75.193      +167.79
 +185.76     +5.01314E-28;
 ER=resu( (((abs (levh - evh))*0.0625)**2.) / 200. ) ;
 mess ' Ecart sur profil de vitesse ' er ;
 si ( ER > 5.e-2 ) ; erreur 5 ; finsi ;
 FINSI ;


 DISCR='MACRO';
 rv = test DISCR 'QUA8' ;

 POST rv graph ;

 si (non COMPLET ) ;
 evh=abs (rv.'EVH') ;
 list evh ;
 levh=prog
 +1.08113E-27   199.41       180.27       74.817       10.442
 +7.2698      +9.7538      +6.5028       12.026      +3.4137
 12.737       7.0361      +18.851      +75.526      +178.49
      +195.70     +3.56690E-28;

 ER=resu( (((abs (levh - evh))*0.0625)**2.) / 200. ) ;
 mess ' Ecart sur profil de vitesse ' er ;
 si ( ER > 1.e-2) ; erreur 5 ; finsi ;
 FINSI ;


 DISCR='QUAF';
 rv = test DISCR 'TRI6' ;

 POST rv graph ;

 si (non COMPLET ) ;
 evh=abs (rv.'EVH') ;
 list evh ;
 levh=prog
 +4.52120E-28   195.09       164.52       75.608       18.322
 +4.2786      +12.250      +5.8335       9.3695       2.1938
  2.3476       4.2553      +10.490      +74.205      +165.31
      +183.44     +3.22803E-28;

 ER=resu( (((abs (levh - evh))*0.0625)**2.) / 200. ) ;
 mess ' Ecart sur profil de vitesse ' er ;
 si ( ER > 5.e-3 ) ; erreur 5 ; finsi ;
 FINSI ;
 FIN ;
 

 

 

 

 

 

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer