1 : C FLMVLH SOURCE CHAT 05/01/13 00:03:55 5004 2 : SUBROUTINE FLMVLH(NESP,GAMD,ROD,MD,AD,UTD,HTD,Y,FLUX) 3 : C************************************************************************ 4 : C 5 : C PROJET : CASTEM 2000 6 : C 7 : C NOM : FLMVLH 8 : C 9 : C DESCRIPTION : Voir FLUVLH 10 : C 11 : C Onde de Droite à Gauche 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 GAMD = le "gamma" (à droite) 28 : C 29 : C ROD = la densité 30 : C 31 : C MD = nombre de Mach (normale) 32 : C 33 : C AD = vitesse du son 34 : C 35 : C UTD = vitesse tangentielle 36 : C 37 : C Y = table des fractiones massiques 38 : C 39 : C**** Sorties: 40 : C 41 : C FLUX = table du flux "droite -> gauche" à 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 : CC 55 : IMPLICIT INTEGER(I-N) 56 : INTEGER I1, NESP 57 : REAL*8 GAMD,ROD,MD,AD,UTD,HTD 58 : & ,GM1D,MMINUS, CELL, CELLM 59 : & ,Y(*),FLUX(*) 60 : C 61 : C**** N.B. : 62 : C 63 : C FLUX(2) = MMINUS * AD * ROD * UND + PMINUS * PD 64 : C 65 : C PD = ROD * AD * AD / GAMD 66 : C 67 : C ABS(MD) < 1 -> PMINUS = - MMINUS * (2 + MD) 68 : C 69 : C ABS(MD) > 1 -> PMINUS = - MMINUS / MD 70 : C 71 : GM1D = GAMD - 1.0D0 72 : IF(ABS(MD) .LE. 1.0D0)THEN 73 : MMINUS = 0.5D0 * (MD - 1.0D0) 74 : MMINUS = -1.0D0 * MMINUS * MMINUS 75 : CELL = (GM1D * MD - 2.0D0)*AD/GAMD 76 : ELSE 77 : MMINUS = 0.5D0 * (MD - ABS(MD)) 78 : CELL = (MD + 1.0D0/GAMD/MD)*AD 79 : ENDIF 80 : C 81 : CELLM = MMINUS * AD * ROD 82 : FLUX(1) = CELLM 83 : FLUX(2) = CELLM * CELL 84 : FLUX(3) = CELLM * UTD 85 : FLUX(4) = CELLM * HTD 86 : C 87 : C**** N.B. NESP = 0 -> no boucle 88 : C 89 : DO I1 = 1, NESP 90 : FLUX(4+I1) = CELLM * Y(I1) 91 : ENDDO 92 : C 93 : RETURN 94 : END 95 : 96 : 97 :
© Cast3M 2003 - All rights reserved.
Disclaimer