***************************************************** * fichier : vortex.dgibi * ** modifie le 15/06/2014 passage EQPR -> EQEX * ***************************************************** COMPLET = FAUX ; SI ( COMPLET ) ; NX = 20 ; NITER = 2000 ; SINON ; NX = 5 ; NITER = 250 ; FINSI ; GRAPH = 'N' ; KPRESS = 'CENTRE'; BETA=1. ; * pour triangles: * BETA = 1000. ; ********************************************************************* * SIMULATION D'UN TOURBILLON - COMPARAISON AVEC SOLUTION ANALYTIQUE * * DES EQUATIONS DE NAVIER-STOKES * * OPERATEUR NS - OPTION SUPG * * H. Paillere - Avril 1997 * ********************************************************************* ****************************************************************** * PROCEDURE POUR ESTIMER LA CONVERGENCE VERS L'ETAT STATIONNAIRE * ****************************************************************** DEBPROC CALCUL ; UN = RV.INCO.'UN' ; UNM1 = RV.INCO.'UNM1' ; DD = RV.PASDETPS.'NUPASDT' ; NN = DD/5 ; LO = (DD-(5*NN)) EGA 0 ; SI ( LO ) ; ELIX = (LOG (ELIX + 1.0E-20))/(LOG 20.) ; ELIY = (LOG (ELIY + 1.0E-20))/(LOG 20.) ; DP = PMAX - PMIN ; MESSAGE 'ITER ' RV.PASDETPS.'NUPASDT' ' ERREUR LINF ' ELIY 'PMAX = ' PMAX 'PMIN = ' PMIN 'DP = ' DP ; RV.INCO.'IT' = (RV.INCO.'IT') ET IT ; RV.INCO.'ER' = (RV.INCO.'ER') ET ER ; FINSI; FINPROC as2 ama1 ; ************************** * DEFINITION DU MAILLAGE * ************************** P1 = 0.0 (0.5*(-1.)) ; p2 = 1.0 (0.5*(-1.)) ; p3 = 1.0 0.5 ; p4 = 0.0 0.5 ; NY = NX ; bas = p1 d NX p2 ; cdro = p2 d NY p3 ; haut = p3 d NX p4 ; cgau = p4 d NY p1 ; cnt = bas et cdro et haut et cgau ; mt = bas cdro haut cgau daller ; tass MT ; orienter mt ; mt2 = mt ; *********************** * SOLUTION ANALYTIQUE * *********************** PI = 3.141592654 ; B = 10. ; NU = 1.0/B ; ALPHA = -1.0 ; B1 = B * CY ; B2 = B * SX ; *************************** * TABLES EQEX ET PRESSION * *************************** 'ZONE' $MT 'OPER' CALCUL 'OPTI' 'SUPG' 'MMPG' 'ZONE' $MT 'OPER' 'NS' NU SS 'INCO' 'UN' 'OPTI' 'CENTREE' EFM1 ZONE $MT 'OPER' 'DFDT' 1. 'UN' 'DELTAT' INCO 'UN' ; RV = EQEX RV 'CLIM' 'UN' 'UIMP' cgau 0. 'UN' 'VIMP' cgau B1 'UN' 'UIMP' cdro 0. 'UN' 'VIMP' cdro (B1*(-1.)) 'UN' 'UIMP' bas (B2*(-1.)) 'UN' 'VIMP' bas 0. 'UN' 'UIMP' haut B2 'UN' 'VIMP' haut 0. ; 'CLIM' 'PRES' 'TIMP' MPI 0. ; rvp.'METHINV'.TYPINV=1 ; rvp.'METHINV'.IMPINV=0 ; rvp.'METHINV'.NITMAX=300; rvp.'METHINV'.PRECOND=3 ; rvp.'METHINV'.RESID =1.e-8 ; rvp.'METHINV' . 'FCPRECT'=100 ; rvp.'METHINV' . 'FCPRECI'=100 ; ************** * TABLE INCO * ************** RV.INCO=TABLE INCO ; EXEC RV ; SI ( 'EGA' graph 'O') ; (RV.INCO.'ER') ; TRACE UNCH MT CNT ; FINSI ; un = RV.INCO.'UN' ; ERR2 = 0. ; REPETER BLOC1 NPTD ; ERR2 = ERR2 + ERR1 ; FIN BLOC1 ; ERR2 = ERR2/NPTD ; ERR2 = ERR2 ** 0.5 ; MESSAGE 'ERREUR VITESSE UX EN NORME L2 = ' ERR2 ; SI ( ERR2 > 6.0E-2 ) ; ERREUR 5 ; FINSI ; ERR2 = 0. ; REPETER BLOC1 NELD ; ERR2 = ERR2 + ERR1 ; FIN BLOC1 ; ERR2 = ERR2/NELD ; ERR2 = ERR2 ** 0.5 ; MESSAGE 'ERREUR PRESSION EN NORME L2 = ' ERR2 ; SI ( ERR2 > 0.80 ) ; ERREUR 5 ; FINSI ; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales