Télécharger chalim.eso

Retour à la liste

Numérotation des lignes :

  1. C CHALIM SOURCE CHAT 05/01/12 21:54:33 5004
  2. SUBROUTINE CHALIM(EPS,R,XMAT,TET,ICOD,A1,C1,A2,C2,R0,RM,B,
  3. .PHI,PSI,OME,ICENT2,IDIAM,NUMCHA)
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8(A-H,O-Z)
  6. DIMENSION XMAT(*),LMOT(5)
  7. DATA LMOT/5,7,7,9,1/
  8. LLMOT=LMOT(NUMCHA)
  9. NTET=0
  10. IF(NTET.NE.0) GO TO 20
  11. GO TO (11,12,13,14,15),NUMCHA
  12. 11 R=XMAT(7)
  13. PSI=XMAT(8)
  14. OME=XMAT(9)
  15. IF(PSI.EQ.0.D0.AND.OME.EQ.0.D0) PSI=1.D0
  16. IF(ICOD.EQ.1) GO TO 500
  17. ICENT2=0
  18. IDIAM=0
  19. GO TO 16
  20. 12 R0=XMAT(7)
  21. PSI=XMAT(8)
  22. OME=XMAT(9)
  23. RM=XMAT(10)
  24. B=XMAT(11)
  25. IF(PSI.EQ.0.D0.AND.OME.EQ.0.D0) PSI=1.D0
  26. IF(ICOD.EQ.1) GO TO 100
  27. ICENT2=0
  28. IDIAM=1
  29. GO TO 16
  30. 13 R=XMAT(9)
  31. PSI=XMAT(10)
  32. OME=XMAT(11)
  33. IF(PSI.EQ.0.D0.AND.OME.EQ.0.D0) PSI=1.D0
  34. IF(ICOD.EQ.1) GO TO 500
  35. A2=XMAT(7)
  36. C2=XMAT(8)
  37. ICENT2=1
  38. IDIAM=0
  39. GO TO 16
  40. 14 R0=XMAT(9)
  41. PSI=XMAT(10)
  42. OME=XMAT(11)
  43. RM=XMAT(12)
  44. B=XMAT(13)
  45. IF(PSI.EQ.0.D0.AND.OME.EQ.0.D0) PSI=1.D0
  46. IF(ICOD.EQ.1) GO TO 100
  47. A2=XMAT(7)
  48. C2=XMAT(8)
  49. ICENT2=1
  50. IDIAM=1
  51. GO TO 16
  52. 15 CONTINUE
  53. 16 A1=XMAT(5)
  54. C1=XMAT(6)
  55. RETURN
  56. 20 T1=XMAT(3)
  57. T2=XMAT(4)
  58. IT1=1
  59. IT2=2
  60. C
  61. C LES TEMPERATURES SONT SUPPOSEES RENTREES DANS L'ORDRE CROISSANT
  62. C
  63. IF(NTET.EQ.2) GO TO 250
  64. IF(TET.LE.T2) GO TO 250
  65. T1=XMAT(4)
  66. T2=XMAT(5)
  67. IT1=2
  68. IT2=3
  69. 250 DT=T2-T1
  70. XX=(TET-T1)/DT
  71. XY=1.-XX
  72. IT1=5+LLMOT*(IT1-1)
  73. IT2=5+LLMOT*(IT2-1)
  74. GO TO (261,262,263,264,265),NUMCHA
  75. 261 R=XMAT(IT1+3)*XY+XMAT(IT2+3)*XX
  76. PSI=XMAT(IT1+4)*XY+XMAT(IT2+4)*XX
  77. OME=XMAT(IT1+5)*XY+XMAT(IT2+5)*XX
  78. IF(ICOD.EQ.1) GO TO 500
  79. ICENT2=0
  80. IDIAM=0
  81. GO TO 266
  82. 262 R0=XMAT(IT1+3)*XY+XMAT(IT2+3)*XX
  83. RM=XMAT(IT1+4)*XY+XMAT(IT2+4)*XX
  84. B= XMAT(IT1+5)*XY+XMAT(IT2+5)*XX
  85. PSI=XMAT(IT1+6)*XY+XMAT(IT2+6)*XX
  86. OME=XMAT(IT1+7)*XY+XMAT(IT2+7)*XX
  87. IF(ICOD.EQ.1) GO TO 100
  88. ICENT2=0
  89. IDIAM=1
  90. GO TO 266
  91. 263 R= XMAT(IT1+5)*XY+XMAT(IT2+5)*XX
  92. PSI=XMAT(IT1+6)*XY+XMAT(IT2+6)*XX
  93. OME=XMAT(IT1+7)*XY+XMAT(IT2+7)*XX
  94. IF(ICOD.EQ.1) GO TO 500
  95. A2=XMAT(IT1+3)*XY+XMAT(IT2+3)*XX
  96. C2=XMAT(IT1+4)*XY+XMAT(IT2+4)*XX
  97. ICENT2=1
  98. IDIAM=0
  99. GO TO 266
  100. 264 R0=XMAT(IT1+5)*XY+XMAT(IT2+5)*XX
  101. RM=XMAT(IT1+6)*XY+XMAT(IT2+6)*XX
  102. B= XMAT(IT1+7)*XY+XMAT(IT2+7)*XX
  103. PSI=XMAT(IT1+8)*XY+XMAT(IT2+8)*XX
  104. OME=XMAT(IT1+9)*XY+XMAT(IT2+9)*XX
  105. IF(ICOD.EQ.1) GO TO 100
  106. A2=XMAT(IT1+3)*XY+XMAT(IT2+3)*XX
  107. C2=XMAT(IT1+4)*XY+XMAT(IT2+4)*XX
  108. ICENT2=1
  109. IDIAM=1
  110. GO TO 266
  111. 265 CONTINUE
  112. 266 A1=XMAT(IT1+1)*XY+XMAT(IT2+1)*XX
  113. C1=XMAT(IT1+2)*XY+XMAT(IT2+2)*XX
  114. RETURN
  115. 100 R=RM-(RM-R0)*EXP(-B*EPS)
  116. 500 CONTINUE
  117. PHI=1.D00
  118. IF(PSI.NE.1.D00)
  119. . PHI=1.D00+(PSI-1.D00)*EXP(-OME*EPS)
  120. RETURN
  121. END
  122.  
  123.  

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