* fichier : burgerNC.dgibi ************************************************************************ ************************************************************************ COMPLET = FAUX ; SI ( COMPLET ) ; NX = 30 ; NY = 30 ; NITER = 500 ; SINON ; NX = 10 ; NY = 10 ; NITER = 180 ; FINSI ; 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 OPTION SUPGDC (par défaut) * *********************************************************** ******************************** * 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 ; SI ( COMPLET ) ; * maillage regulier SINON ; * maillage non-structuré FINSI ; *********************************** * CREATION MODELES NAVIERS_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 '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 ; SI ( COMPLET ) ; LI12 = TRCE P1P2 ; TAB1 = TABLE ; TAB1.1 = 'MARQ LOSA' ; FINSI ; (RV.INCO.'ER') ; FINSI ; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales