Télécharger muliq.eso

Retour à la liste

Numérotation des lignes :

  1. C MULIQ SOURCE SERRE 16/07/20 21:15:06 9017
  2. SUBROUTINE MULIQ
  3. C
  4. C--------------------------------------------------------------------
  5. C Viscosité dynamique de l'eau en fonction de T (issue de CATHARE)
  6. C--------------------------------------------------------------------
  7. C Les données d'entrée sont des CHPOINT, des FLOTTANT ou des LISTREEL
  8. C Le résultat est du meme type que les input.
  9. C--------------------------------------------------------------------
  10. C
  11. C---------------------------
  12. C Phrase d'appel (GIBIANE) :
  13. C---------------------------
  14. C
  15. C OBJ3 = MULIQ OBJ1 ;
  16. C
  17. C------------------------
  18. C Opérandes et résultat :
  19. C------------------------
  20. C
  21. C OBJ1 : Temperature (en K)
  22. C OBJ3 : Viscosité dynamique de l'eau (en kg/m/s)
  23. C
  24. C-----------------------------------------------------------------------
  25. C
  26. C Langage : ESOPE + FORTRAN77
  27. C Auteurs : F.DABBENE 2016/05
  28. C
  29. C-----------------------------------------------------------------------
  30. IMPLICIT INTEGER(I-N)
  31. IMPLICIT REAL*8 (A-H,O-Z)
  32. REAL*8 MULIQ0
  33. CHARACTER*8 TYPE
  34. CHARACTER*4 NOMTOT(1)
  35. C
  36. -INC SMCHPOI
  37. -INC SMLREEL
  38. C
  39. IFLAG = 0
  40. C
  41. C- Lecture et controles des données d'entrée,
  42. C- Création de la structure chapeau pour la donnée de sortie
  43. C
  44. C- Gestion des ERREURS
  45. C 21 -> Données incompatibles
  46. C 19 -> Option indisponible
  47. C
  48. C CHPOINT
  49. C
  50. TYPE = 'CHPOINT '
  51. CALL LIROBJ(TYPE,MCHPO1,0,IRETOU)
  52. IF (IRETOU.EQ.0) GOTO 10
  53. C
  54. SEGACT MCHPO1
  55. NSOUP1 = MCHPO1.IPCHP(/1)
  56. MSOUP1 = MCHPO1.IPCHP(1)
  57. SEGACT MSOUP1
  58. NC1 = MSOUP1.NOHARM(/1)
  59. C
  60. IF (NSOUP1.NE.1) IFLAG=2
  61. IF (NC1.NE.1) IFLAG=4
  62. IF (IFLAG.NE.0) THEN
  63. CALL ERREUR(21)
  64. RETURN
  65. ENDIF
  66. C
  67. MPOVA1 = MSOUP1.IPOVAL
  68. SEGACT MPOVA1
  69. SEGINI, MCHPO3=MCHPO1
  70. SEGINI, MSOUP3=MSOUP1
  71. SEGINI, MPOVA3=MPOVA1
  72. MCHPO3.IPCHP(1) = MSOUP3
  73. MSOUP3.IPOVAL = MPOVA3
  74. SEGDES MCHPO1,MCHPO3,MSOUP1,MSOUP3
  75. CALL MULIQ1(MPOVA1,MPOVA3)
  76. SEGDES MPOVA1,MPOVA3
  77. CALL ECROBJ(TYPE,MCHPO3)
  78. RETURN
  79. C
  80. C FLOTTANT
  81. C
  82. 10 CONTINUE
  83. CALL LIRREE(X1,0,IRETOU)
  84. IF (IRETOU.EQ.0) GOTO 20
  85. X3 = MULIQ0(X1)
  86. CALL ECRREE(X3)
  87. RETURN
  88. C
  89. C LISTREEL
  90. C
  91. 20 CONTINUE
  92. TYPE = 'LISTREEL'
  93. CALL LIROBJ(TYPE,MLREE1,0,IRETOU)
  94. IF (IRETOU.EQ.0) GOTO 30
  95. SEGACT MLREE1
  96. SEGINI, MLREE3=MLREE1
  97. CALL MULIQ3(MLREE1,MLREE3)
  98. SEGDES MLREE1,MLREE3
  99. CALL ECROBJ(TYPE,MLREE3)
  100. RETURN
  101. C
  102. C Autres
  103. C
  104. 30 CONTINUE
  105. CALL ERREUR(19)
  106. RETURN
  107. END
  108.  
  109.  
  110.  
  111.  

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