* fichier : convnonlin1.dgibi ************************************************************************ ************************************************************************ COMPLET = FAUX ; GRAPH = FAUX ; NX = 10 ; NY = 10 ; 'SI' ( COMPLET ) ; TFIN = 10. ; 'SINON' ; TFIN = 1. ; 'FINSI' ; *********************************************************** * EQUATION DE CONVECTION NON-LINEAIRE Ut + div (F(U)) = 0 * * AVEC F(U) = U*U/2 1_x + ln U 1_y U > 0 * * RESOLUE SOUS FORME NON-CONSERVATIVE * * dU/dt + U dU/dx + 1/U dU/dy = 0 * * AVEC OPTION SUPGDC (par défaut) * * SOLUTION ANALYTIQUE Uex(x,y,t) = (x-t)/(y-t) * * Probleme hyperbolique avec conditions aux limites * * variant dans le temps * * H. PAILLERE AVRIL 1997 * *********************************************************** ******************************************************************* * PROCEDURE POUR CALCULER CHAMP DE VITESSE, METTRE A JOUR LES C.L * * TESTER LA CONVERGENCE VERS L'ETAT STATIONNAIRE ET L'ERREUR * * ENTRE SOLUTION NUMERIQUE ET SOLUTION ANALYTIQUE * ******************************************************************* 'DEBPROC' CALCUL ; CN = RV.INCO.'CN' ; * calcul du champ de vitesse VX1 = CN ; (VX1 'ET' VY1) ; RV.INCO.'VITESSE' = VV ; * mise a jour des conditions aux limites RV.'CLIM' = 0.D0 * CL_CN + CL_NOUV ; * calcul de l'erreur de convergence vers l'etat stationnaire * et de l'erreur entre solution numerique et solution analytique DD = RV.PASDETPS.'NUPASDT' ; NN = DD/5 ; LO = (DD-(5*NN)) 'EGA' 0 ; 'SI' ( LO ) ; ELI = ('LOG' (ELI + 1.0E-20))/(LOG 10.) ; 'MESSAGE' 'TEMPS = ' RV.PASDETPS.'TPS' 'ITER ' RV.PASDETPS.'NUPASDT' ' ERREUR LINF (dUdt) ' ELI ; RV.INCO.'IT' = (RV.INCO.'IT') 'ET' IT ; RV.INCO.'ERCONV' = (RV.INCO.'ERCONV') 'ET' ER ; ERR2 = 0. ; ERR2 = ERR2 + ERR1 ; 'FIN' BLOC1 ; ERR2 = ERR2 ** 0.5 ; RV.INCO.'ERSOLU' = (RV.INCO.'ERSOLU') 'ET' ER ; 'MESSAGE' 'ERREUR |Uex(x,y,t) - Unum(x,y,t)| EN NORME L2 = ' ERR2 ; 'FINSI' ; FINPROC as2 ama1 ; ************* * DIFFUSION * ************* DIF = 1.0E-10 ; ************ * MAILLAGE * ************ A1 = -2.0 -2.0 ; A2 = -1.0 -2.0 ; A3 = -1.0 -1.0 ; A4 = -2.0 -1.0 ; ************************************ * CREATION DU MODELE NAVIER_STOKES * ************************************ GEOCL = FBAS 'ET' FGAU ; ********************* * SOLUTION INITIALE * ********************* *********************** * TABLE DE RESOLUTION * *********************** 'ZONE' $DOMTOT 'OPER' CALCUL 'OPTI' 'SUPGDC' 'OPER' TSCAL DIF 'VITESSE' 0.0 'INCO' 'CN' 'OPTI' 'CENTREE' 'OPER' DFDT 1. 'CN' 'DELTAT' 'INCO' 'CN' 'CLIM' 'CN' 'TIMP' GEOCL SOLCL ; RV.INCO = 'TABLE' 'INCO' ; RV.INCO.'VITESSE'= CHVIT ; * ON EXECTUTE JUSQU'A TFIN/2. * EXEC RV ; * ON TESTE L'OPTION SUPG (IDCEN=3) DE TFIN/2. A TFIN * RV.'2TSCAL'.'KOPT'.'IDCEN' = 3 ; RV.'TFINAL' = TFIN ; EXEC RV ; 'SI' ( GRAPH ) ; (RV.INCO.'ERCONV') ; 'FINSI' ; 'ERREUR' 5 ; 'FINSI' ; 'ERREUR' 5 ; 'FINSI' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales