Télécharger ccgtau.eso

Retour à la liste

Numérotation des lignes :

  1. C CCGTAU SOURCE GOUNAND 05/12/21 21:16:56 5281
  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. CBEGININCLUDE SMCHAEL
  38. SEGMENT MCHAEL
  39. POINTEUR IMACHE(N1).MELEME
  40. POINTEUR ICHEVA(N1).MCHEVA
  41. ENDSEGMENT
  42. SEGMENT MCHEVA
  43. REAL*8 VELCHE(NBLIG,NBCOL,N2LIG,N2COL,NBPOI,NBELM)
  44. ENDSEGMENT
  45. SEGMENT LCHEVA
  46. POINTEUR LISCHE(NBCHE).MCHEVA
  47. ENDSEGMENT
  48. CENDINCLUDE SMCHAEL
  49. INTEGER NBLIG,NBCOL,N2LIG,N2COL,NBPOI,NBELM,N1
  50. POINTEUR FC.MCHEVA
  51. POINTEUR LCOF.LCHEVA
  52. POINTEUR T1.MCHEVA
  53. POINTEUR T2.MCHEVA
  54. POINTEUR T3.MCHEVA
  55. POINTEUR T4.MCHEVA
  56. POINTEUR T5.MCHEVA
  57. *
  58. INTEGER IMPR,IRET
  59. *
  60. * Executable statements
  61. *
  62. IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans ccgtau'
  63. NLFC=FC.VELCHE(/6)
  64. NPFC=FC.VELCHE(/5)
  65. T1=LCOF.LISCHE(1)
  66. T2=LCOF.LISCHE(2)
  67. T3=LCOF.LISCHE(3)
  68. T4=LCOF.LISCHE(4)
  69. T5=LCOF.LISCHE(5)
  70. NLC1=T1.VELCHE(/6)
  71. NPC1=T1.VELCHE(/5)
  72. NLC2=T2.VELCHE(/6)
  73. NPC2=T2.VELCHE(/5)
  74. NLC3=T3.VELCHE(/6)
  75. NPC3=T3.VELCHE(/5)
  76. NLC4=T4.VELCHE(/6)
  77. NPC4=T4.VELCHE(/5)
  78. NLC5=T5.VELCHE(/6)
  79. NPC5=T5.VELCHE(/5)
  80. DO ILFC=1,NLFC
  81. IF (NLC1.EQ.1) THEN
  82. ILC1=1
  83. ELSE
  84. ILC1=ILFC
  85. ENDIF
  86. IF (NLC2.EQ.1) THEN
  87. ILC2=1
  88. ELSE
  89. ILC2=ILFC
  90. ENDIF
  91. IF (NLC3.EQ.1) THEN
  92. ILC3=1
  93. ELSE
  94. ILC3=ILFC
  95. ENDIF
  96. IF (NLC4.EQ.1) THEN
  97. ILC4=1
  98. ELSE
  99. ILC4=ILFC
  100. ENDIF
  101. IF (NLC5.EQ.1) THEN
  102. ILC5=1
  103. ELSE
  104. ILC5=ILFC
  105. ENDIF
  106. DO IPFC=1,NPFC
  107. IF (NPC1.EQ.1) THEN
  108. IPC1=1
  109. ELSE
  110. IPC1=IPFC
  111. ENDIF
  112. IF (NPC2.EQ.1) THEN
  113. IPC2=1
  114. ELSE
  115. IPC2=IPFC
  116. ENDIF
  117. IF (NPC3.EQ.1) THEN
  118. IPC3=1
  119. ELSE
  120. IPC3=IPFC
  121. ENDIF
  122. IF (NPC4.EQ.1) THEN
  123. IPC4=1
  124. ELSE
  125. IPC4=IPFC
  126. ENDIF
  127. IF (NPC5.EQ.1) THEN
  128. IPC5=1
  129. ELSE
  130. IPC5=IPFC
  131. ENDIF
  132. XT1=T1.VELCHE(1,1,1,1,IPC1,ILC1)
  133. XT2=T2.VELCHE(1,1,1,1,IPC2,ILC2)
  134. XT3=T3.VELCHE(1,1,1,1,IPC3,ILC3)
  135. XT4=T4.VELCHE(1,1,1,1,IPC4,ILC4)
  136. XT5=T5.VELCHE(1,1,1,1,IPC5,ILC5)
  137. IF (IKAS.EQ.1) THEN
  138. H=XT1
  139. CS=XT2
  140. CL=XT3
  141. TM=XT4
  142. XL=XT5
  143. HS=CS*TM
  144. HL=HS+XL
  145. IF (H.LT.HS) THEN
  146. XVAL=H/CS
  147. ELSEIF (H.GT.HL) THEN
  148. XVAL=TM+((H-HS-XL)/CL)
  149. ELSE
  150. XVAL=TM
  151. ENDIF
  152. ELSEIF (IKAS.EQ.2) THEN
  153. T=XT1
  154. CS=XT2
  155. CL=XT3
  156. TM=XT4
  157. XL=XT5
  158. IF (T.LT.TM) THEN
  159. XVAL=T*CS
  160. ELSE
  161. XVAL=(TM*CS)+XL+((T-TM)*CL)
  162. ENDIF
  163. ELSE
  164. WRITE(IOIMP,*) 'Erreur : IKAS=',IKAS
  165. GOTO 9999
  166. ENDIF
  167. FC.VELCHE(1,1,1,1,IPFC,ILFC)=XVAL
  168. ENDDO
  169. ENDDO
  170. *
  171. * Normal termination
  172. *
  173. IRET=0
  174. RETURN
  175. *
  176. * Format handling
  177. *
  178. *
  179. * Error handling
  180. *
  181. 9999 CONTINUE
  182. IRET=1
  183. WRITE(IOIMP,*) 'An error was detected in subroutine ccgtau'
  184. RETURN
  185. *
  186. * End of subroutine CCGTAU
  187. *
  188. END
  189.  
  190.  
  191.  

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