Télécharger ccgtau.eso

Retour à la liste

Numérotation des lignes :

ccgtau
  1. C CCGTAU SOURCE GOUNAND 21/06/02 21:15:22 11022
  2. SUBROUTINE CCGTAU(LCOF,
  3. $ FC,IKAS,
  4. $ IMPR,IRET)
  5. IMPLICIT REAL*8 (A-H,O-Z)
  6. IMPLICIT INTEGER (I-N)
  7. C***********************************************************************
  8. C NOM : CCGTAU
  9. C DESCRIPTION : Calcul de la loi de comportement aux points de Gauss :
  10. C T(H) (enthalpie(temperature)+ chaleur latente
  11. C
  12. C
  13. C LANGAGE : ESOPE
  14. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  15. C mél : gounand@semt2.smts.cea.fr
  16. C***********************************************************************
  17. C APPELES :
  18. C APPELE PAR :
  19. C***********************************************************************
  20. C ENTREES :
  21. C ENTREES/SORTIES :
  22. C SORTIES : -
  23. C TRAVAIL :
  24. C***********************************************************************
  25. C VERSION : v1, 02/12/04, version initiale
  26. C HISTORIQUE : v1, 02/12/04, création
  27. C HISTORIQUE :
  28. C HISTORIQUE :
  29. C***********************************************************************
  30. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  31. C en cas de modification de ce sous-programme afin de faciliter
  32. C la maintenance !
  33. C***********************************************************************
  34.  
  35. -INC PPARAM
  36. -INC CCOPTIO
  37. -INC TNLIN
  38. *-INC SMCHAEL
  39. INTEGER NBLIG,NBCOL,N2LIG,N2COL,NBPOI,NBELM,N1
  40. POINTEUR FC.MCHEVA
  41. POINTEUR LCOF.LCHEVA
  42. POINTEUR T1.MCHEVA
  43. POINTEUR T2.MCHEVA
  44. POINTEUR T3.MCHEVA
  45. POINTEUR T4.MCHEVA
  46. POINTEUR T5.MCHEVA
  47. *
  48. INTEGER IMPR,IRET
  49. *
  50. * Executable statements
  51. *
  52. IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans ccgtau'
  53. NLFC=FC.WELCHE(/6)
  54. NPFC=FC.WELCHE(/5)
  55. T1=LCOF.LISCHE(1)
  56. T2=LCOF.LISCHE(2)
  57. T3=LCOF.LISCHE(3)
  58. T4=LCOF.LISCHE(4)
  59. T5=LCOF.LISCHE(5)
  60. NLC1=T1.WELCHE(/6)
  61. NPC1=T1.WELCHE(/5)
  62. NLC2=T2.WELCHE(/6)
  63. NPC2=T2.WELCHE(/5)
  64. NLC3=T3.WELCHE(/6)
  65. NPC3=T3.WELCHE(/5)
  66. NLC4=T4.WELCHE(/6)
  67. NPC4=T4.WELCHE(/5)
  68. NLC5=T5.WELCHE(/6)
  69. NPC5=T5.WELCHE(/5)
  70. DO ILFC=1,NLFC
  71. IF (NLC1.EQ.1) THEN
  72. ILC1=1
  73. ELSE
  74. ILC1=ILFC
  75. ENDIF
  76. IF (NLC2.EQ.1) THEN
  77. ILC2=1
  78. ELSE
  79. ILC2=ILFC
  80. ENDIF
  81. IF (NLC3.EQ.1) THEN
  82. ILC3=1
  83. ELSE
  84. ILC3=ILFC
  85. ENDIF
  86. IF (NLC4.EQ.1) THEN
  87. ILC4=1
  88. ELSE
  89. ILC4=ILFC
  90. ENDIF
  91. IF (NLC5.EQ.1) THEN
  92. ILC5=1
  93. ELSE
  94. ILC5=ILFC
  95. ENDIF
  96. DO IPFC=1,NPFC
  97. IF (NPC1.EQ.1) THEN
  98. IPC1=1
  99. ELSE
  100. IPC1=IPFC
  101. ENDIF
  102. IF (NPC2.EQ.1) THEN
  103. IPC2=1
  104. ELSE
  105. IPC2=IPFC
  106. ENDIF
  107. IF (NPC3.EQ.1) THEN
  108. IPC3=1
  109. ELSE
  110. IPC3=IPFC
  111. ENDIF
  112. IF (NPC4.EQ.1) THEN
  113. IPC4=1
  114. ELSE
  115. IPC4=IPFC
  116. ENDIF
  117. IF (NPC5.EQ.1) THEN
  118. IPC5=1
  119. ELSE
  120. IPC5=IPFC
  121. ENDIF
  122. XT1=T1.WELCHE(1,1,1,1,IPC1,ILC1)
  123. XT2=T2.WELCHE(1,1,1,1,IPC2,ILC2)
  124. XT3=T3.WELCHE(1,1,1,1,IPC3,ILC3)
  125. XT4=T4.WELCHE(1,1,1,1,IPC4,ILC4)
  126. XT5=T5.WELCHE(1,1,1,1,IPC5,ILC5)
  127. IF (IKAS.EQ.1) THEN
  128. H=XT1
  129. CS=XT2
  130. CL=XT3
  131. TM=XT4
  132. XL=XT5
  133. HS=CS*TM
  134. HL=HS+XL
  135. IF (H.LT.HS) THEN
  136. XVAL=H/CS
  137. ELSEIF (H.GT.HL) THEN
  138. XVAL=TM+((H-HS-XL)/CL)
  139. ELSE
  140. XVAL=TM
  141. ENDIF
  142. ELSEIF (IKAS.EQ.2) THEN
  143. T=XT1
  144. CS=XT2
  145. CL=XT3
  146. TM=XT4
  147. XL=XT5
  148. IF (T.LT.TM) THEN
  149. XVAL=T*CS
  150. ELSE
  151. XVAL=(TM*CS)+XL+((T-TM)*CL)
  152. ENDIF
  153. ELSE
  154. WRITE(IOIMP,*) 'Erreur : IKAS=',IKAS
  155. GOTO 9999
  156. ENDIF
  157. FC.WELCHE(1,1,1,1,IPFC,ILFC)=XVAL
  158. ENDDO
  159. ENDDO
  160. *
  161. * Normal termination
  162. *
  163. IRET=0
  164. RETURN
  165. *
  166. * Format handling
  167. *
  168. *
  169. * Error handling
  170. *
  171. 9999 CONTINUE
  172. IRET=1
  173. WRITE(IOIMP,*) 'An error was detected in subroutine ccgtau'
  174. RETURN
  175. *
  176. * End of subroutine CCGTAU
  177. *
  178. END
  179.  
  180.  
  181.  
  182.  

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