Télécharger consistence1_Godunov.dgibi
* fichier : consistence1_Godunov.dgibi *********************************************************** **** APPROCHE VF "Cell-Centred Formulation" pour la **** **** solution des **** **** Equations d'Euler pour un gaz parfait **** **** **** **** Gaz monoespece "calorically perfect" **** **** Consistence, methode GODUNOV **** **** **** **** A. BECCANTINI DRN/DMT/SEMT/TTMF NOVEMBRE 1998 **** *********************************************************** 'OPTION' 'ELEM' 'QUA4' ; 'OPTION' 'ISOV' 'SULI' ; 'OPTION' 'ECHO' 0 ; 'OPTION' 'TRAC' 'X'; GRAPH = FAUX ; * GRAPH = VRAI ; * *** Methodes possibles : * * 'GODUNOV' * 'VANLEER' * 'VLH' * 'HUSVL' * 'HUSVLH' * METO = 'GODUNOV' ; ************ * MAILLAGE * ************ NX = 5 ; NY = 1 ; L = 1.0D0 ; DX = L/NX/2.0D0 ; H = DX ; xD = 0.5D0*L ; xG = -1.0D0*xD ; yH = 0.5D0*H ; yB = -1.0D0*yH ; A1 = xG yB ; A2 = 0.0D0 yB ; A3 = xD yB ; A4 = xD yH ; A5 = 0.0D0 yH ; A6 = xG yH ; VECTG = XG 0.0D0 ; VECTD = XD 0.0D0 ; xBG = xG-DX ; XBD = xD+DX ; B1 = xBG yB ; B2 = xBG yH ; B3 = xBD yB ; B4 = xBD yH ; DOM1 = LAT12 'TRANSLATION' NX VECTG ; DOM2 = LAT12 'TRANSLATION' NX VECTD ; VECTFG = (-1.0D0*DX) 0.0D0; VECTFD = DX 0.0D0; VECTBH = 0.0D0 (yH '-' yB); VECTHB = 0.0D0 (yB '-' yH); FRONTG1 = LAT1 'TRANSLATION' 1 VECTFG ; DCEL1 = FRONTG1 'ET' DOM1; FRONTG = (FRONTG1 'ET' FRONTG2 'ET' FRONTG3) 'COULEUR' 'ROUG'; 'ELIMINATION' 0.0001 FRONTG ; FRONTD1 = LAT2 'TRANSLATION' 1 VECTFD; DCEL2 = FRONTD1 'ET' DOM2; FRONTD = (FRONTD1 'ET' FRONTD2 'ET' FRONTD3) 'COULEUR' 'VERT'; 'ELIMINATION' 0.0001 FRONTD ; * *** Rotation * ANGLE = 30.0D0; ORIG = 0.0D0 0.0D0; 'MESSAGE' ; 'MESSAGE' ('CHAINE' 'ANGLE = ' ANGLE); 'MESSAGE' ; DOM1 = DOM1 'TOURNER' ANGLE ORIG; DOM2 = DOM2 'TOURNER' ANGLE ORIG; FRONTG = FRONTG 'TOURNER' ANGLE ORIG; FRONTD = FRONTD 'TOURNER' ANGLE ORIG; DOMINT = DOM1 'ET' DOM2 ; 'ELIMINATION' DOMINT 1D-6 ; FRONT = FRONTG ET FRONTD ; 'ELIMINATION' FRONT 1D-6 ; DOMTOT = DOMINT ET FRONT ; 'ELIMINATION' DOMTOT 1D-6 ; 'SI' GRAPH; 'TRACER' DOMTOT 'TITRE' 'Maillage' ; 'FINSI' ; MDOMTOT = TDOMTOT . 'QUAF' ; MDOM1 = TDOM1 . 'QUAF' ; MDOM2 = TDOM2 . 'QUAF' ; MDOMINT = TDOMINT . 'QUAF' ; MFRONTG = TFRONTG . 'QUAF' ; MFRONTD = TFRONTD . 'QUAF' ; MFRONT = TFRONT . 'QUAF' ; 'ET' MFRONTD 'ET' MFRONT) 1.E-5 ; ************************************************************ * CONDITIONS INITIALES ET LIMITES. * ************************************************************ gamgd = 1.4D0; * *** Etat gauche * rog = 1.11; ung = 21.3; utg = 11.0; pg = 1234.7; rouxg = ((ung '*' ('COS' ANGLE)) '-' (utg '*' ('SIN' ANGLE))) '*' rog ; rouyg = ((ung '*' ('SIN' ANGLE)) '+' (utg '*' ('COS' ANGLE))) '*' rog; recing = 0.5D0 '*' rog '*' ((ung '*' ung) '+' (utg '*' utg)); retg = (pg '/' (gamgd '-' 1.0)) '+' recing; * *** Etat droite * rod = 1.11; und = 21.3; utd = 11.0; pd = 1234.7; rouxd = ((und '*' ('COS' ANGLE)) '-' (utd '*' ('SIN' ANGLE))) '*' rod; rouyd = ((und '*' ('SIN' ANGLE)) '+' (utd '*' ('COS' ANGLE))) '*' rod; recind = 0.5D0 '*' rod '*' ((und '*' und) '+' (utd '*' utd)); retd = (pd '/' (gamgd '-' 1.0)) '+' recind; * *** gamma * * *** ro * * *** ro u, ro v * * *** ro e * ******************************************************** *** CREATION DE 'MODE' POUR GRAPHIQUER LE CHAMELEM *** ******************************************************** * *** GRAPHIQUE DES C.I. * 'SI' GRAPH; * *** CREATION DE CHAMELEM * 'FINSI' ; TFINAL = 100. ; NITER = 50 ; SAFFAC = 0.5 ; * RN0 = 'COPIER' RN ; GN0 = 'COPIER' GN ; RETN0 = 'COPIER' RETN ; * TPS = 0. ; 'REPETER' BL1 NITER ; * **** Primitive variables * $DOMTOT RN VN PN GAMMA; ROF VITF PF GAMF ; DT_CON = SAFFAC '*' DELTAT ; * **** The time step linked to tps * * **** Total time step * * **** Increment of the variables (convection) * RESIDU = DTMIN '*' RESIDU ; * * TPS = TPS '+' DTMIN ; RN = RN '+' DRN ; GN = GN '+' DGN ; RETN = RETN '+' DRETN ; * 'SI' (((&BL1 '/' 20) '*' 20) 'EGA' &BL1) ; 'MESSAGE' ('CHAINE' 'ITER =' &BL1 ' TPS =' TPS) ; 'FINSI' ; 'SI' (TPS > TFINAL) ; 'QUITTER' BL1 ; 'FINSI' ; 'FIN' BL1 ; * *** GRAPHIQUE DES SOLUTIONS * 'SI' (GRAPH); * *** CREATION DE CHAMELEM * 'FINSI' ; * *** Critere de control * ERRO = 'MAXIMUM' (RN '-' RN0) 'ABS' ; 'SI' (ERRO '>' 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales