1 : C MPFUNT SOURCE CHAT 05/01/13 01:52:26 5004 2 : SUBROUTINE MPFUNT(MACH,MNUM,DERMNU,PNUM,DERPNU) 3 : C 4 : C************************************************************************ 5 : C 6 : C PROJET : CASTEM 2000 7 : C 8 : C NOM : MPFUNT 9 : C 10 : C DESCRIPTION : Voir VLHJ1 11 : C (fonction M+, P+ pour le calcul de flux dans 12 : C van Leer-Hanel) 13 : C 14 : C LANGUAGE : FORTRAN 77 15 : C 16 : C AUTEUR : A. BECCANTINI DRN/DMT/SEMT/LTMF 17 : C 18 : C************************************************************************ 19 : C 20 : C APPELES : aucun 21 : C 22 : C************************************************************************ 23 : C 24 : C**** Entrées: 25 : C 26 : C MACH = nombre de Mach (normale) 27 : C 28 : C**** Sorties: 29 : C 30 : C MNUM = M+(MACH) 31 : C 32 : C DERMNU = dM+(MACH)/dMACH 33 : C 34 : C PNUM = PNUM(MACH) 35 : C 36 : C DERPNUM = dPNUM(MACH)/dMACH 37 : C 38 : C************************************************************************ 39 : C 40 : C HISTORIQUE (Anomalies et modifications éventuelles) 41 : C 42 : C HISTORIQUE : Créé le 31.08.00 43 : C 44 : C************************************************************************ 45 : C 46 : C N.B.: Toutes les variables sont declarées explicitement 47 : C 48 : IMPLICIT INTEGER(I-N) 49 : REAL*8 MACH,MNUM,DERMNU,PNUM,DERPNU,MP1 50 : C 51 : IF(ABS(MACH) .LT. 1.0D0)THEN 52 : MP1=MACH + 1.0D0 53 : MNUM=0.25D0*MP1*MP1 54 : DERMNU=0.5D0*MP1 55 : PNUM=MNUM*(2.0D0 - MACH) 56 : DERPNU=0.75D0*MP1*(1.0D0-MACH) 57 : ELSE 58 : MNUM=0.5D0*(MACH+ABS(MACH)) 59 : DERMNU=0.5D0*(1.0D0+SIGN(1.0D0,MACH)) 60 : PNUM=DERMNU 61 : DERPNU=0.0D0 62 : ENDIF 63 : RETURN 64 : END 65 : 66 : 67 :
© Cast3M 2003 - All rights reserved.
Disclaimer