Télécharger fvdi.eso

Retour à la liste

Numérotation des lignes :

fvdi
  1. C FVDI SOURCE STRU 08/12/22 21:15:24 6246
  2. c Sous-Programme du module MISTRAL0
  3. C --------------------------------------------------------------------------
  4. SUBROUTINE FVDI (PSI,TT, ID, PAR, V,DVDPSI,DVDTT)
  5. C --------------------------------------------------------------------------
  6. C Calcul de V, et de ses derivees DVDPSI et DVDTT si ID = 1,
  7. C en fonction de PSI, TT et des parametres transmis dans PAR.
  8. C --------------------------------------------------------------------------
  9. IMPLICIT INTEGER (I-N)
  10. IMPLICIT REAL*8 (A-H, O-Z)
  11. DIMENSION PAR(1:*)
  12. c (NPPSIM = 6)
  13. L = NINT(PAR(1))
  14. IP = 1
  15. IF (L.EQ.1) THEN
  16. V = LOG(1.+PAR(IP+1)*PSI)
  17. IF (ID.EQ.1) THEN
  18. DVDPSI = PAR(IP+1)/(1.+PAR(IP+1)*PSI)
  19. DVDTT = 0.
  20. END IF
  21. ELSE IF (L.EQ.2) THEN
  22. V = 1.-EXP(-PAR(IP+1)*PSI)
  23. IF (ID.EQ.1) THEN
  24. DVDPSI = PAR(IP+1)*EXP(-PAR(IP+1)*PSI)
  25. DVDTT = 0.
  26. END IF
  27. ELSE IF (L.EQ.3) THEN
  28. V = EXP(PAR(IP+1)*PSI**PAR(IP+2))
  29. IF (ID.EQ.1) THEN
  30. DVDPSI = PAR(IP+1)*PAR(IP+2)*PSI**(PAR(IP+2)-1.)*V
  31. DVDTT = 0.
  32. END IF
  33. ELSE IF (L.EQ.4) THEN
  34. VP = PAR(IP+1)*PSI**PAR(IP+2)
  35. VPT = PAR(IP+3)*EXP(PAR(IP+4)*PSI**PAR(IP+5))/TT
  36. V = EXP(VP+VPT)
  37. IF (ID.EQ.1) THEN
  38. DVPDP = PAR(IP+1)*PAR(IP+2)*PSI**(PAR(IP+2)-1.)
  39. DVPTDP = PAR(IP+4)*PAR(IP+5)*PSI**(PAR(IP+5)-1.)*VPT
  40. DVDPSI = (DVPDP+DVPTDP)*V
  41. DVDTT = -VPT/TT*V
  42. END IF
  43. END IF
  44. RETURN
  45. END
  46.  
  47.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales