• Aucun résultat trouvé

Formulation El´ements Finis Explicite Conservative

1.3 Equation de conservation lin´eaire

1.3.1 Formulation El´ements Finis Explicite Conservative

Op´erateurs utilis´es TSCAL

M´ethodes num´eriques EFM1, approximation P1 ou Q1, sch´ema SUPG

Nature du probl`eme Transport d’un scalaire dans un champ de vitesse `a di-vergence non-nulle.

Classification 2D plan, convection, stationnaire Jeu de donn´ees /u2/castem/dgibi/consmasse.dgibi

Description du probl`eme :

On s’int´eresse `a la solution stationnaire du probl`eme de conservation lin´eaire sur le domaine Ω ={(x, y)∈[0,2]×[0,1]} :

∂φ

∂t +∇ ·(u

¯φ) = 0 ∀x

¯∈Ω, avecu

¯ le champ de vitesse `a divergence non-nulle d´efini par : u¯ =

αx+βy+γ 0

, ∇ ·u

¯ =α 6= 0 et la condition aux limites en entr´ee,φ= 1 sur x= 0.

Ce probl`eme admet pour solution stationnaire la fonction suivante : φex(x, y) = βy+γ

αx+βy+γ

qui v´erifie ´evidemment la condition de conservation sur le flux : I(x) = I(0) = β

2 +γ, ∀x,0≤x≤2

o`u I(x) est le flux `a travers une section du domaine d’abscisse x et de normale unitaire 1

¯x,

I(x) = Z 1

0

u¯(x, y) φ(x, y)·1

¯x dy

SOLUTION EXACTE

VAL − ISO

> 3.33E−01

< 1.00E+00 .34 .37 .40 .43 .46 .49 .53 .56 .59 .62 .65 .68 .71 .74 .78 .81 .84 .87 .90 .93 .96 .99

Fig. 1.3.1 – Solution exacteφex(x, y) Mod´elisation :

On s’int´eresse au probl`eme d´efini par les param`etresα = 1, β = 2 et γ = 1. On r´esoud ce probl`eme `a l’aide de l’op´erateur de convection TSCAL, avec l’option CONS (Conservatif) et l’option de d´ecentrement SUPG. On effectue 2 calculs, l’un sur un maillage de quadrangles contenant 40×20 ´el´ements, l’un sur triangles contenant le double d’´el´ements (subdivision de chaque quadrangle en deux).

Synth`ese des r´esultats :

On s’int´eresse `a deux indicateurs d’erreur de conservation : L’erreur relative entre le flux entrant et le flux sortant, ∆I/I, et l’erreur relative sur tout le domaine et

´evalu´ee en normeL discr`ete entre la solution num´erique φet la solution exacte φex.

maillage ∆I/I k∆φ/φkL

1.4×105 % 0.7 %

∆ 1.0×10−4 % 0.2 %

Ces r´esultats montrent que les erreurs de conservation de l’op´erateur El´ements Finis TSCAL (avec les options CONS et SUPG) sont tr`es faibles, que ce soit avec des maillages de quadrangles ou de triangles.

Jeu de donn´ees : COMPLET = FAUX ; SI ( COMPLET ) ;

NX = 40 ; NY = 20 ; NITER = 800 ;

CFL = 0.9 ; TOLCONV = -5.0 ; TOLDEBI = 8.0E-4 ; TOLSOLU = 0.8 ; SINON ;

NX = 8 ; NY = 4 ; NITER = 200 ; CFL = 0.9 ; TOLCONV = -4.0 ; TOLDEBI = 3.0E-3 ; TOLSOLU = 1.7 ; FINSI ;

GRAPH = ’N’ ;

******************************************************************

* TESTE LA CONSERVATION DE LA MASSE POUR L’EQUATION SOUS FORME *

* CONSERVATIVE : dC/dt + div ( U C ) = 0 AVEC U CHAMP DE VITESSE *

* A DIVERGENCE NON NULLE *

* COMPARAISON AVEC SOLUTION ANALYTIQUE EXACTE *

* ON TESTE SUCCESSIVEMENT MAILLAGE QUA4 ET MAILLAGE TRI3 *

******************************************************************

DEBPROC CALCUL ; ARGU RVX*’TABLE’ ; RV = RVX.’EQEX’ ; CN = RV.INCO.’CN’ ;

DD = RV.PASDETPS.’NUPASDT’ ; NN = DD/5 ;

LO = (DD-(5*NN)) EGA 0 ; SI ( LO ) ;

ERR = KOPS (RV.INCO.’CN’) - (RV.INCO.’CNM1’) ; ELI = MAXI ERR ’ABS’ ;

ELI = (LOG (ELI + 1.0E-20))/(LOG 10.) ;

MESSAGE ’ITER ’ RV.PASDETPS.’NUPASDT’ ’ ERREUR LINF ’ ELI ; IT = PROG RV.PASDETPS.’NUPASDT’ ;

ER = PROG ELI ;

RV.INCO.’IT’ = (RV.INCO.’IT’) ET IT ; RV.INCO.’ER’ = (RV.INCO.’ER’) ET ER ; FINSI ;

RV.INCO.’CNM1’ = KCHT $DOMTOT ’SCAL’ ’SOMMET’ (RV.INCO.’CN’) ; as2 ama1 = ’KOPS’ ’MATRIK’ ;

FINPROC as2 ama1 ;

opti dime 2 ; opti elem qua4 ; opti isov suli ;

titre ’Conservation de la masse’ ;

*************

* DIFFUSION *

*************

DIF = 1.0E-20 ;

************

* MAILLAGE *

************

A1 = 0.0 0.0 ; A2 = 2.0 0.0 ; A3 = 2.0 1.0 ; A4 = 0.0 1.0 ;

FBAS = A1 ’DROI’ NX A2 ; FDRO = A2 ’DROI’ NY A3 ; FHAU = A3 ’DROI’ NX A4 ; FGAU = A4 ’DROI’ NY A1 ; PA1 = FBAS POIN ’PROC’ A1 ; PA2 = FBAS POIN ’PROC’ A2 ; P12 = CHAN POI1 FBAS ;

MA1 = P12 ELEM ’CONTENANT’ PA1 ; MA2 = P12 ELEM ’CONTENANT’ PA2 ;

DOMTOT = ’DALL’ FBAS FDRO FHAU FGAU ’PLAN’ ;

************************************

* CREATION DU MODELE NAVIER_STOKES *

************************************

MDOMTOT = CHAN DOMTOT QUAF ;

$DOMTOT = MODE MDOMTOT ’NAVIER_STOKES’ LINE ; DOMA $DOMTOT ’IMPR’ ; DOMTOT = DOMA $DOMTOT MAILLAGE ;

CNT = ’CONT’ DOMTOT ; FDRO = CHAN FDRO QUAF ; FGAU = CHAN FGAU QUAF ;

ELIM (MDOMTOT ET FDRO ET FGAU ) 1.E-3 ;

$FDRO = MODE FDRO ’NAVIER_STOKES’ LINE ;

$FGAU = MODE FGAU ’NAVIER_STOKES’ LINE ; FDRO = DOMA $FDRO ’MAILLAGE’ ;

FGAU = DOMA $FGAU ’MAILLAGE’ ;

**************************************

* INITIALISATION DU CHAMP DE VITESSE *

**************************************

alpha = 1. ; beta = 2. ; gamma = 1. ;

XX = COOR 1 (DOMA $DOMTOT MAILLAGE) ; YY = COOR 2 (DOMA $DOMTOT MAILLAGE) ; XX = KCHT $DOMTOT ’SCAL’ ’SOMMET’ XX ; YY = KCHT $DOMTOT ’SCAL’ ’SOMMET’ YY ; U1 = KOPS XX ’*’ alpha ;

U2 = KOPS YY ’*’ beta ; U3 = gamma ;

U = KOPS ( KOPS U1 ’+’ U2) ’+’ U3 ; CEXACT = KOPS ( KOPS U2 ’+’ U3 ) ’/’ U ; U = NOMC ’UX’ U ’NATU’ ’DISCRET’ ;

VX = KCHT $DOMTOT ’SCAL’ ’SOMMET’ ’COMP’ ’UX’ U ; VY = KCHT $DOMTOT ’SCAL’ ’SOMMET’ ’COMP’ ’UY’ 0.0 ;

CHVIT=KCHT $DOMTOT ’VECT’ ’SOMMET’ ’COMP’ (MOTS ’UX’ ’UY’) (VX ET VY);

**********************************************

* TABLE EQEX CONTENANT L’EQUATION A RESOUDRE *

**********************************************

RV = EQEX $DOMTOT ’ITMA’ NITER ’ALFA’ CFL

’ZONE’ $DOMTOT

’OPER’ CALCUL

’OPTI’ ’CONS’ ’SUPG’

’OPER’ TSCAL DIF ’VITESSE’ 0.0 ’CN’ ’INCO’ ’CN’

’OPTI’ ’CENTREE’

’OPER’ DFDT 1. ’CN’ ’DELTAT’ ’INCO’ ’CN’

’CLIM’ ’CN’ ’TIMP’ FGAU 1.0 ; RV.INCO = TABLE ’INCO’ ;

RV.INCO.’CN’ = KCHT $DOMTOT ’SCAL’ ’SOMMET’ 0. ; RV.INCO.’VITESSE’= CHVIT ;

RV.INCO.’CNM1’ = KCHT $DOMTOT ’SCAL’ ’SOMMET’ 1. ; RV.INCO.’IT’ = PROG 1 ;

RV.INCO.’ER’ = PROG 0. ; RV.INCO.’NBIT’ = 0 ; EXEC RV ;

*************************************************************

* ANALYSE DES RESULTATS : *

* ON TESTE SUR LA CONVERGENCE VERS LA SOLUTION STATIONNAIRE *

* SUR LA PRECISION ENTRE DEBITS ENTRANT/SORTANT *

* SUR LA PRECISION SOLUTIONS NUMERIQUE/EXACTE *

*************************************************************

GX = KOPS VX ’*’ RV.INCO.’CN’ ; GY = KOPS VY ’*’ RV.INCO.’CN’ ; GX = NOMC ’UX’ GX ’NATU’ ’DISCRET’ ;

GY = NOMC ’UY’ GY ’NATU’ ’DISCRET’ ; G = KCHT $DOMTOT VECT SOMMET (GX ET GY) ; QENTREE = DBIT G $FGAU ;

QSORTIE = DBIT G $FDRO ;

ERQ = (QENTREE+QSORTIE)/QENTREE ; ERQ = ABS(ERQ)*100. ;

MESSAGE ’ERREUR RELATIVE ENTRE DEBIT ENTRANT ET SORTANT ’ ERQ ;

ERR = KOPS CEXACT ’-’ RV.INCO.’CN’ ; ERR = KOPS ERR ’/’ CEXACT ;

ERR = KOPS ERR ’*’ 100. ; ERR = ABS ERR ;

MESSAGE ’ERREUR RELATIVE ENTRE SOL. NUMERIQUE ET EXACTE’

(MAXI ERR) ;

SI ( (MINI RV.INCO.’ER’) > TOLCONV ) ; ERREUR 5 ;

FINSI ;

SI ( ERQ > TOLDEBI ) ; ERREUR 5 ; FINSI ;

SI ( (MAXI ERR) > TOLSOLU ) ; ERREUR 5 ;

FINSI ;

***********************

* TRACE DES RESULTATS *

***********************

SI ( ’EGA’ graph ’O’) ;

VV = VECT RV.INCO.’VITESSE’ 0.1 UX UY JAUNE ; TRACE DOMTOT ’TITR’ ’MAILLAGE’ ;

TRACE VV DOMTOT CNT ’TITR’ ’CHAMP DE VITESSE’ ; TRAC DOMTOT CEXACT CNT ’TITR’ ’SOLUTION EXACTE’ ;

TRAC DOMTOT (RV.INCO.’CN’) CNT ’TITR’ ’SOLUTION NUMERIQUE’ ; LISO = PROG 0. 2. 4. 6. 8. 10. 12. 14. 16. 20. ;

TRACE ERR DOMTOT (CONT DOMTOT) LISO ’TITR’ ’ERREUR RELATIVE’ ; EVOL4 = EVOL ’MANU’ ’ITERATIONS’ (RV.INCO.’IT’) ’LOG|E|inf’

(RV.INCO.’ER’) ;

DESS EVOL4 ’XBOR’ 0. 2000. ’YBOR’ -12.0 0.0

’TITR’ ’HISTOIRE DE CONVERGENCE’ ; FINSI ;

************************************

* ON TESTE MAINTENANT SUR DES TRI3 *

************************************

opti elem tri3 ;

DOMTOT = ’DALL’ FBAS FDRO FHAU FGAU ’PLAN’ ;

************************************

* CREATION DU MODELE NAVIER_STOKES *

************************************

MDOMTOT = CHAN DOMTOT QUAF ;

$DOMTOT = MODE MDOMTOT ’NAVIER_STOKES’ LINE ; DOMA $DOMTOT ’IMPR’ ; DOMTOT = DOMA $DOMTOT MAILLAGE ;

CNT = ’CONT’ DOMTOT ; FDRO = CHAN FDRO QUAF ; FGAU = CHAN FGAU QUAF ;

ELIM (MDOMTOT ET FDRO ET FGAU ) 1.E-3 ;

$FDRO = MODE FDRO ’NAVIER_STOKES’ LINE ;

$FGAU = MODE FGAU ’NAVIER_STOKES’ LINE ; FDRO = DOMA $FDRO ’MAILLAGE’ ;

FGAU = DOMA $FGAU ’MAILLAGE’ ;

**************************************

* INITIALISATION DU CHAMP DE VITESSE *

**************************************

alpha = 1. ; beta = 2. ; gamma = 1. ;

XX = COOR 1 (DOMA $DOMTOT MAILLAGE) ; YY = COOR 2 (DOMA $DOMTOT MAILLAGE) ; XX = KCHT $DOMTOT ’SCAL’ ’SOMMET’ XX ; YY = KCHT $DOMTOT ’SCAL’ ’SOMMET’ YY ; U1 = KOPS XX ’*’ alpha ;

U2 = KOPS YY ’*’ beta ; U3 = gamma ;

U = KOPS ( KOPS U1 ’+’ U2) ’+’ U3 ; CEXACT = KOPS ( KOPS U2 ’+’ U3 ) ’/’ U ; U = NOMC ’UX’ U ’NATU’ ’DISCRET’ ;

VX = KCHT $DOMTOT ’SCAL’ ’SOMMET’ ’COMP’ ’UX’ U ; VY = KCHT $DOMTOT ’SCAL’ ’SOMMET’ ’COMP’ ’UY’ 0.0 ;

CHVIT=KCHT $DOMTOT ’VECT’ ’SOMMET’ ’COMP’ (MOTS ’UX’ ’UY’) (VX ET VY);

**********************************************

* TABLE EQEX CONTENANT L’EQUATION A RESOUDRE *

**********************************************

RV = EQEX $DOMTOT ’ITMA’ NITER ’ALFA’ CFL

’ZONE’ $DOMTOT

’OPER’ CALCUL

’OPTI’ ’CONS’ ’SUPG’

’OPER’ TSCAL DIF ’VITESSE’ 0.0 ’CN’ ’INCO’ ’CN’

’OPTI’ ’CENTREE’

’OPER’ DFDT 1. ’CN’ ’DELTAT’ ’INCO’ ’CN’

’CLIM’ ’CN’ ’TIMP’ FGAU 1.0 ; RV.INCO = TABLE ’INCO’ ;

RV.INCO.’CN’ = KCHT $DOMTOT ’SCAL’ ’SOMMET’ 0. ; RV.INCO.’VITESSE’= CHVIT ;

RV.INCO.’CNM1’ = KCHT $DOMTOT ’SCAL’ ’SOMMET’ 1. ; RV.INCO.’IT’ = PROG 1 ;

RV.INCO.’ER’ = PROG 0. ; RV.INCO.’NBIT’ = 0 ; EXEC RV ;

*************************************************************

* ANALYSE DES RESULTATS : *

* ON TESTE SUR LA CONVERGENCE VERS LA SOLUTION STATIONNAIRE *

* SUR LA PRECISION ENTRE DEBITS ENTRANT/SORTANT *

* SUR LA PRECISION SOLUTIONS NUMERIQUE/EXACTE *

*************************************************************

GX = KOPS VX ’*’ RV.INCO.’CN’ ; GY = KOPS VY ’*’ RV.INCO.’CN’ ; GX = NOMC ’UX’ GX ’NATU’ ’DISCRET’ ; GY = NOMC ’UY’ GY ’NATU’ ’DISCRET’ ; G = KCHT $DOMTOT VECT SOMMET (GX ET GY) ; QENTREE = DBIT G $FGAU ;

QSORTIE = DBIT G $FDRO ;

ERQ = (QENTREE+QSORTIE)/QENTREE ; ERQ = ABS(ERQ)*100. ;

MESSAGE ’ERREUR RELATIVE ENTRE DEBIT ENTRANT ET SORTANT ’ ERQ ;

ERR = KOPS CEXACT ’-’ RV.INCO.’CN’ ; ERR = KOPS ERR ’/’ CEXACT ;

ERR = KOPS ERR ’*’ 100. ; ERR = ABS ERR ;

MESSAGE ’ERREUR RELATIVE ENTRE SOL. NUMERIQUE ET EXACTE’

(MAXI ERR) ;

SI ( (MINI RV.INCO.’ER’) > TOLCONV ) ; ERREUR 5 ;

FINSI ;

SI ( ERQ > TOLDEBI ) ; ERREUR 5 ; FINSI ;

SI ( (MAXI ERR) > TOLSOLU ) ; ERREUR 5 ;

FINSI ;

***********************

* TRACE DES RESULTATS *

***********************

SI ( ’EGA’ graph ’O’) ;

VV = VECT RV.INCO.’VITESSE’ 0.1 UX UY JAUNE ; TRACE DOMTOT ’TITR’ ’MAILLAGE’ ;

TRACE VV DOMTOT CNT ’TITR’ ’CHAMP DE VITESSE’ ; TRAC DOMTOT CEXACT CNT ’TITR’ ’SOLUTION EXACTE’ ;

TRAC DOMTOT (RV.INCO.’CN’) CNT ’TITR’ ’SOLUTION NUMERIQUE’ ; LISO = PROG 0. 2. 4. 6. 8. 10. 12. 14. 16. 20. ;

TRACE ERR DOMTOT (CONT DOMTOT) LISO ’TITR’ ’ERREUR RELATIVE’ ; EVOL4 = EVOL ’MANU’ ’ITERATIONS’ (RV.INCO.’IT’) ’LOG|E|inf’

(RV.INCO.’ER’) ;

DESS EVOL4 ’XBOR’ 0. 2000. ’YBOR’ -12.0 0.0

’TITR’ ’HISTOIRE DE CONVERGENCE’ ; FINSI ;

FIN ;

1.4 Equation de conservation non-lin´ eaire : cas