1 : C FSMVLH SOURCE CHAT 05/01/13 00:10:22 5004 2 : SUBROUTINE FSMVLH(NESP,NSCA,GAMD,ROD,MD,AD,UTD,HTD,Y,S,FLUX) 3 : C************************************************************************ 4 : C 5 : C PROJET : CASTEM 2000 6 : C 7 : C NOM : FSMVLH 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 NSCA = nombre de scalaires passifs a transporter 28 : C 29 : C GAMD = le "gamma" (à droite) 30 : C 31 : C ROD = la densité 32 : C 33 : C MD = nombre de Mach (normale) 34 : C 35 : C AD = vitesse du son 36 : C 37 : C UTD = vitesse tangentielle 38 : C 39 : C Y = table des fractiones massiques 40 : C 41 : C S = table des scalaires passifs 42 : C 43 : C**** Sorties: 44 : C 45 : C FLUX = table du flux "droite -> gauche" à 46 : C l'interface 47 : C 48 : C************************************************************************ 49 : C 50 : C HISTORIQUE (Anomalies et modifications éventuelles) 51 : C 52 : C HISTORIQUE : Créé le 21.02.00 53 : C 54 : C************************************************************************ 55 : C 56 : C N.B.: Toutes les variables sont declarées explicitement 57 : C 58 : CC 59 : IMPLICIT INTEGER(I-N) 60 : INTEGER I1, NESP, NSCA 61 : REAL*8 GAMD,ROD,MD,AD,UTD,HTD 62 : & ,GM1D,MMINUS, CELL, CELLM 63 : & ,Y(*),FLUX(*),S(*) 64 : C 65 : C**** N.B. : 66 : C 67 : C FLUX(2) = MMINUS * AD * ROD * UND + PMINUS * PD 68 : C 69 : C PD = ROD * AD * AD / GAMD 70 : C 71 : C ABS(MD) < 1 -> PMINUS = - MMINUS * (2 + MD) 72 : C 73 : C ABS(MD) > 1 -> PMINUS = - MMINUS / MD 74 : C 75 : GM1D = GAMD - 1.0D0 76 : IF(ABS(MD) .LE. 1.0D0)THEN 77 : MMINUS = 0.5D0 * (MD - 1.0D0) 78 : MMINUS = -1.0D0 * MMINUS * MMINUS 79 : CELL = (GM1D * MD - 2.0D0)*AD/GAMD 80 : ELSE 81 : MMINUS = 0.5D0 * (MD - ABS(MD)) 82 : CELL = (MD + 1.0D0/GAMD/MD)*AD 83 : ENDIF 84 : C 85 : CELLM = MMINUS * AD * ROD 86 : FLUX(1) = CELLM 87 : FLUX(2) = CELLM * CELL 88 : FLUX(3) = CELLM * UTD 89 : FLUX(4) = CELLM * HTD 90 : C 91 : C**** N.B. NESP = 0 -> no boucle 92 : C 93 : DO I1 = 1, NESP, 1 94 : FLUX(4+I1) = CELLM * Y(I1) 95 : ENDDO 96 : C 97 : C**** N.B. NSCA = 0 -> no boucle 98 : C 99 : DO I1 = 1, NSCA, 1 100 : FLUX(4+I1+NESP) = CELLM * S(I1) 101 : ENDDO 102 : C 103 : RETURN 104 : END 105 : 106 : 107 : 108 : 109 : 110 : 111 : 112 :
© Cast3M 2003 - All rights reserved.
Disclaimer