1 : C FLPVLH SOURCE CHAT 05/01/13 00:04:04 5004 2 : SUBROUTINE FLPVLH(NESP,GAMG,ROG,MG,AG,UTG,HTG,Y,FLUX) 3 : C************************************************************************ 4 : C 5 : C PROJET : CASTEM 2000 6 : C 7 : C NOM : FLPVLH 8 : C 9 : C DESCRIPTION : Voir FLUVLH 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(*) 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 : 74 : C 75 : GM1G = GAMG - 1.0D0 76 : IF(ABS(MG) .LE. 1.0D0)THEN 77 : MPLUS = 0.5D0 * (MG + 1.0D0) 78 : MPLUS = MPLUS * MPLUS 79 : CELL = (GM1G * MG+2.0D0)*AG/GAMG 80 : ELSE 81 : MPLUS = 0.5D0 * (MG + ABS(MG)) 82 : CELL = (MG + 1.0D0/GAMG/MG)*AG 83 : ENDIF 84 : CELLM = MPLUS * AG * ROG 85 : C 86 : FLUX(1) = CELLM 87 : FLUX(2) = CELLM * CELL 88 : FLUX(3) = CELLM * UTG 89 : FLUX(4) = CELLM * HTG 90 : C 91 : C**** N.B. NESP = 0 -> no boucle 92 : C 93 : DO I1 = 1, NESP 94 : FLUX(4+I1) = CELLM * Y(I1) 95 : ENDDO 96 : C 97 : C 98 : RETURN 99 : END 100 : 101 : 102 :
© Cast3M 2003 - All rights reserved.
Disclaimer