* fichier : burgerpsi.dgibi ************************************************************************ ************************************************************************ NX = 30 ; NY = 30 ; NITER = 200 ; GRAPH = 'N' ; *********************************************************** * EQUATION DE CONVECTION NON-LINEAIRE Ut + div (F(U)) = 0 * * RESOLUE SOUS FORME NON-CONSERVATIVE * * dU/dt + lambda . nabla U = 0 avec lambda = dF/dU * * AVEC L'OPTION PSI (POSITIVE STREAMWISE INVARIANT) * *********************************************************** ******************************** * PROCEDURE POUR TRACER COUPES * ******************************** DEBPROC TRCE ; i=2 ; itma = nb-2 ; repeter bloc1 itma ; i=i+1 ; fin bloc1 ; FINPROC R ; *********************************************** * PROCEDURE POUR CALCULER CHAMP DE VITESSE ET * * TESTER LA CONVERGENCE * *********************************************** DEBPROC CALCUL ; CN = RV.INCO.'CN' ; DD = RV.PASDETPS.'NUPASDT' ; NN = DD/5 ; LO = (DD-(5*NN)) EGA 0 ; SI ( LO ) ; ELI = (LOG (ELI + 1.0E-20))/(LOG 10.) ; MESSAGE 'ITER ' RV.PASDETPS.'NUPASDT' ' ERREUR LINF ' ELI ; RV.INCO.'IT' = (RV.INCO.'IT') ET IT ; RV.INCO.'ER' = (RV.INCO.'ER') ET ER ; FINSI ; (VX ET VY) ; RV.INCO.'VITESSE' = VV ; FINPROC as2 ama1 ; **************************************************** titre 'Equation de Burger' ; ************* * DIFFUSION * ************* DIF = 1.0E-10 ; ************ * MAILLAGE * ************ A1 = 0.0 0.0 ; A2 = 1.0 0.0 ; A3 = 1.0 1.0 ; A4 = 0.0 1.0 ; ********************************* * CREATION MODELE NAVIER-STOKES * ********************************* ************************************** * INITIALISATION DU CHAMP DE VITESSE * ************************************** ************************************ * PROFIL DE LA SOLUTION A L'ENTREE * ************************************ SOLUTION = 1.5 - (2.0*XBAS) ; *********************** * TABLE DE RESOLUTION * *********************** 'ZONE' $DOMTOT 'OPER' CALCUL 'OPTI' 'PSI' 'OPER' TSCAL DIF 'VITESSE' 0.0 'INCO' 'CN' 'OPTI' 'CENTREE' 'OPER' 'DFDT' 1. 'CN' 'DELTAT' 'INCO' 'CN' 'CLIM' 'CN' 'TIMP' FBAS CHP1 'CLIM' 'CN' 'TIMP' FGAU 1.5 'CLIM' 'CN' 'TIMP' FDRO (-0.5) 'CLIM' 'CN' 'TIMP' MA1 (-1.5) 'CLIM' 'CN' 'TIMP' MA2 (0.5) ; RV.INCO = TABLE 'INCO' ; RV.INCO.'VITESSE'= CHVIT ; EXEC RV ; ************************* * ANALYSE DES RESULTATS * ************************* ERREUR 5 ; FINSI ; ERREUR 5 ; FINSI ; ERREUR 5 ; FINSI ; SI ( 'EGA' graph 'O') ; TRAC DOMTOT ; LI12 = TRCE P1P2 ; (RV.INCO.'ER') ; FINSI ; **************************************************** ********************************* * CREATION MODELE NAVIER-STOKES * ********************************* ************************************ * PROFIL DE LA SOLUTION A L'ENTREE * ************************************ SOLUTION = 1.5 - (2.0*XBAS) ; *********************** * TABLE DE RESOLUTION * *********************** 'ZONE' $DOMTOT 'OPER' CALCUL 'OPTI' 'PSI' 'OPER' TSCAL DIF 'VITESSE' 0.0 'INCO' 'CN' 'OPTI' 'CENTREE' 'OPER' 'DFDT' 1. 'CN' 'DELTAT' 'INCO' 'CN' 'CLIM' 'CN' 'TIMP' FBAS CHP1 'CLIM' 'CN' 'TIMP' FGAU 1.5 'CLIM' 'CN' 'TIMP' FDRO (-0.5) 'CLIM' 'CN' 'TIMP' MA1 (-1.5) 'CLIM' 'CN' 'TIMP' MA2 (0.5) ; RV.INCO = TABLE 'INCO' ; RV.INCO.'VITESSE'= CHVIT ; EXEC RV ; ************************* * ANALYSE DES RESULTATS * ************************* ERREUR 5 ; FINSI ; ERREUR 5 ; FINSI ; ERREUR 5 ; FINSI ; *********************** * TRACE DES RESULTATS * *********************** SI ( 'EGA' graph 'O') ; D1 = Y1 - (0.5*X1/0.75) ; D2 = Y1 - (2.0*(1.0-X1)) ; D3 = Y1 - 1.0 - (2.0*(X1-1.0)) ; BO1 = ( D1 > 0.) ; BO2 = ( D2 > 0.) ; BO3 = ( D3 > 0.) ; SI ( BO1 ET BO3 ) ; U1 = 1.5 ; SINON ; SI ( (NON BO1) ET (NON BO2) ); U1 = (1.5-(2.0*X1))/(1.-(2.0*Y1)) ; SINON ; U1 = -0.5 ; FINSI ; FINSI ; UEXACT = (UEXACT ET C2) ; FIN BLOC1 ; TRACE DOMTOT ; LI12 = TRCE P1P2 ; TAB1 = TABLE ; TAB1.2 = 'MARQ CARR' ; TAB1.'TITRE' = TABLE ; (RV.INCO.'ER') ; LEGE TAB1 ; FINSI ; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales