1 : C FLUPVL SOURCE CHAT 05/01/13 00:04:37 5004 2 : SUBROUTINE FLUPVL(NESP,GAMG,ROG,MG,AG,UTG,HTG,Y,FLUX) 3 : C************************************************************************ 4 : C 5 : C PROJET : CASTEM 2000 6 : C 7 : C NOM : FLUPVL 8 : C 9 : C DESCRIPTION : Voir FLUXVL 10 : C 11 : C Onde de Gauche à Droite 12 : C 13 : C LANGUAGE : FORTRAN 77 14 : C 15 : C AUTEUR : A. BECCANTINI DRN/DMT/SEMT/TTMF 16 : C 17 : C************************************************************************ 18 : C 19 : C APPELES : aucun 20 : C 21 : C************************************************************************ 22 : C 23 : C**** Entrées: 24 : C 25 : C NESP = nombre d'especes in FRAMAS 26 : C 27 : C GAMG = le "gamma" (à gauche) 28 : C 29 : C ROG = la densité 30 : C 31 : C MG = nombre de Mach (normale) 32 : C 33 : C AG = vitesse du son 34 : C 35 : C UTG = vitesse tangentielle 36 : C 37 : C Y = table des fractiones massiques 38 : C 39 : C**** Sorties: 40 : C 41 : C FLUX = table du flux "gauche -> droite" a 42 : C l'interface 43 : C 44 : C************************************************************************ 45 : C 46 : C HISTORIQUE (Anomalies et modifications éventuelles) 47 : C 48 : C HISTORIQUE : Créé le 6.1.98 49 : C 50 : C************************************************************************ 51 : C 52 : C N.B.: Toutes les variables sont declarées explicitement 53 : C 54 : C 55 : C 56 : IMPLICIT INTEGER(I-N) 57 : INTEGER I1, NESP 58 : REAL*8 GAMG,ROG,MG,AG,UTG,HTG 59 : & ,GM1G,MPLUS, CELL, CELLM 60 : & ,Y(*),FLUX(*),CELL1,CELLH 61 : C 62 : 63 : C**** N.B. : 64 : C 65 : C FLUX(2) = MPLUS * AG * ROG * UNG + PPLUS * PG 66 : C 67 : C PG = ROG * AG * AG / GAMG 68 : C 69 : C ABS(MG) < 1 -> PPLUS = MPLUS * (2 - MG) 70 : C 71 : C ABS(MG) > 1 -> PPLUS = MPLUS / MG 72 : C 73 : C CELLH = 0.5D0* 74 : C & (UTG * UTG + 75 : C & ((GAMG -1)*UNG + 2 AG)**2/(GAMG**2-1)) 76 : C 77 : C 78 : GM1G = GAMG - 1.0D0 79 : IF(ABS(MG) .LE. 1.0D0)THEN 80 : MPLUS = 0.5D0 * (MG + 1.0D0) 81 : MPLUS = MPLUS * MPLUS 82 : CELL = (GM1G * MG + 2.0D0)*AG/GAMG 83 : CELL1 = GM1G*MG+2.0D0 84 : CELLH = AG * AG * CELL1 * CELL1 / (GAMG * GAMG - 1.0D0) 85 : CELLH = 0.5D0 * (UTG * UTG + CELLH) 86 : ELSE 87 : MPLUS = 0.5D0 * (MG + ABS(MG)) 88 : CELL = (MG + 1.0D0/GAMG/MG)*AG 89 : CELLH = HTG 90 : ENDIF 91 : CELLM = MPLUS * AG * ROG 92 : C 93 : FLUX(1) = CELLM 94 : FLUX(2) = CELLM * CELL 95 : FLUX(3) = CELLM * UTG 96 : FLUX(4) = CELLM * CELLH 97 : C 98 : C**** N.B. NESP = 0 -> no boucle 99 : C 100 : DO I1 = 1, NESP 101 : FLUX(4+I1) = CELLM * Y(I1) 102 : ENDDO 103 : C 104 : C 105 : RETURN 106 : END 107 : 108 : 109 :
© Cast3M 2003 - All rights reserved.
Disclaimer