Download lapq.dgibi

Back to the list

* fichier :  lapq.dgibi
*  Comparaison a la solution analytique en regime permanent
*  de la conduction dans un massif avec source
*  volumique. La temperature de paroi est imposee (Tw)
*  En 2D et 3D
*
*  Lapn T + q = 0.
*
*
*  T - Tw = 1/2 lambda/q (r**2 - x**2)
*
*
opti dime 2 elem QUA4 ;

GRAPH=VRAI ;
GRAPH=FAUX ;
DISCR = LINE ;
NBIT  = 5 ;

hz= 2. ;
r0=1. ;
p0=0 0 ;P1= r0 0 ; p2= r0 1 ; P3= 0 1 ;
n1 = 4 ;
n2 = 2 ;
nz= 2 ;
ab   = p0 d n1 p1 ;
wall = p1 d n2 p2 ;
bc   = p2 d n1 p3 ;
axe  = P3 d n2 p0 ;

mt= daller ab wall bc axe ;
Mmt= chan QUAF mt ;
Mwall = chan QUAF wall ;
elim (Mwall et Mmt) 1.e-5 ;
$wall = mode Mwall 'NAVIER_STOKES' DISCR ;
wall = doma $wall maillage ;
$mt= mode Mmt 'NAVIER_STOKES' DISCR ;
mt= doma $mt maillage ;
Lambda =  3.142 ;
DT=1. ;
SRC= 7.5 ;
tw= 1.46 ;

rt=eqex 'OMEGA' 1.    'NITER' 1  ITMA 1    'FIDT' 1
  'OPTI' 'EF' 'IMPL'
  ZONE  $mt    'OPER'  'LAPN' lambda       'INCO' 'TN'
  ZONE  $mt    'OPER'  'FIMP' src          'INCO' 'TN'
  'OPTI' 'EFM1' 'IMPL' 'CENTREE'
  ZONE  $mt    OPER  DFDT 1.  'TNM' DT  INCO 'TN'
    ;

  RT= eqex RT  CLIM
  TN TIMP wall  tw ;
;

 rt.'METHINV'.TYPINV=1 ;
 rt.'METHINV'.IMPINV=0 ;
 rt.'METHINV'.NITMAX=400;
 rt.'METHINV'.PRECOND=3 ;
 rt.'METHINV'.RESID  =1.e-8 ;
 rt. 'METHINV' . 'FCPRECT'=1   ;
 rt. 'METHINV' . 'FCPRECI'=1   ;

rt.'INCO'=table 'INCO';
rt.inco.'TN'= kcht $mt scal sommet 1. ;
rt.inco.'TNM'= kcht $mt scal sommet 1. ;


xr= coor 1 mt ;
t =tw + (src / lambda / 2. * ((r0*r0) - (xr*xr))) ;
dg=doma $mt 'XXDIAGSI' ;

repeter bloc1 nbit ;
exec rt ;
tn=rt.inco.'TN' ;
ec= t - tn ;
el2= somt (dg * (ec*ec)) ;
mess 'Erreur L2 ' el2 ;
fin bloc1 ;

evb= evol 'CHPO' tn ab;
evh= evol 'CHPO' tn (inve bc);
eva= evol 'CHPO' t ab;

tab1=table ;
tab1.1 = 'MARQ CROI REGU' ;
tab1.2 = 'MARQ TRIA REGU' ;
tab1.3 = 'MARQ LOSA REGU' ;
tab1.'TITRE' = table ;
tab1.'TITRE'. 1 = 'MOT' 'bas ' ;
tab1.'TITRE'. 2 = 'MOT' 'haut' ;
tab1.'TITRE'. 3 = 'MOT' 'Sol analytique' ;

Si GRAPH ;
dess (evh et evb et eva)
LEGE TAB1 DATE MIMA TITR
' Temperature ' ;
Finsi ;

si ( El2 > 1.E-9 ) ; erreur 5 ; finsi ;

opti dime 3 elem cub8 ;

mt0 = mt volu nz 'TRAN' (0 0 hz) ;
mt1= syme mt0 'PLAN' p0 p1 (1 0 hZ) ;
mt = mt1 et mt0 ;
wal = wall et (syme wall 'POINT' p1) ;
wall = wal trans nz (0 0 hz) ;
elim (mt et wall) 1.e-5 ;

Mmt= chan QUAF mt ;
Mwall = chan QUAF wall ;
elim (Mwall et Mmt) 1.e-5 ;
$wall = mode Mwall 'NAVIER_STOKES' DISCR ;
wall = doma $wall maillage ;
$mt= mode Mmt 'NAVIER_STOKES' DISCR ;
mt= doma $mt maillage ;
Lambda =  2. ;
DT=1. ;
SRC= 0.5 ;
tw= 1. ;

rt=eqex 'OMEGA' 1.    'NITER' 1  ITMA 1 'FIDT' 1
  'OPTI' 'EF' 'IMPL'
  ZONE  $mt    'OPER'  'LAPN' Lambda       'INCO' 'TN'
  ZONE  $mt    'OPER'  'FIMP' src          'INCO' 'TN'
  'OPTI' 'EFM1' 'IMPL' 'CENTREE'
  ZONE  $mt    OPER  DFDT 1.  'TNM' DT  INCO 'TN'
    ;

  RT= eqex RT  CLIM
  'TN' TIMP wall  tw ;


 rt.'METHINV'.TYPINV=1 ;
 rt.'METHINV'.IMPINV=0 ;
 rt.'METHINV'.NITMAX=400;
 rt.'METHINV'.PRECOND=3 ;
 rt.'METHINV'.RESID  =1.e-8 ;
 rt. 'METHINV' . 'FCPRECT'=1   ;
 rt. 'METHINV' . 'FCPRECI'=1   ;

rt.'INCO'=table 'INCO';
rt.inco.'TN'= kcht $mt scal sommet 1. ;
rt.inco.'TNM'= kcht $mt scal sommet 1. ;

xr= coor 1 mt ;
t =tw + (src / lambda / 2. * ((r0*r0) - (xr*xr))) ;
dg=doma $mt 'XXDIAGSI' ;

repeter bloc1 nbit ;
exec rt ;
tn=rt.inco.'TN' ;
ec= t - tn ;
el2= somt (dg * (ec*ec)) ;
mess 'Erreur L2 ' el2 ;
fin bloc1 ;

evb= evol 'CHPO' tn ab;
evh= evol 'CHPO' tn (inve bc);
eva= evol 'CHPO' t ab;

tab1=table ;
tab1.1 = 'MARQ CROI REGU' ;
tab1.2 = 'MARQ TRIA REGU' ;
tab1.3 = 'MARQ LOSA REGU' ;
tab1.'TITRE' = table ;
tab1.'TITRE'. 1 = 'MOT' 'bas ' ;
tab1.'TITRE'. 2 = 'MOT' 'haut' ;
tab1.'TITRE'. 3 = 'MOT' 'Sol analytique' ;

Si GRAPH ;
dess (evh et evb et eva)
LEGE TAB1 DATE MIMA TITR
' Temperature ' ;
Finsi ;

si ( El2 > 1.E-9 ) ; erreur 5 ; finsi ;

FIN ;



 

© Cast3M 2003 - All rights reserved.
Disclaimer