Télécharger cli191.eso

Retour à la liste

Numérotation des lignes :

cli191
  1. C CLI191 SOURCE CB215821 20/11/25 13:20:27 10792
  2. SUBROUTINE CLI191(MELEMF,MELEMC,MELECB,MELEFC,INORM,ICHPVO,ICHPSU,
  3. & IROC,IVITC,IPC,IGAMC,ICHLIM,ICHRES,ICHRLI)
  4. C************************************************************************
  5. C
  6. C PROJET : CASTEM 2000
  7. C
  8. C NOM : CLI191
  9. C
  10. C DESCRIPTION : Subroutine appellée par CLIM11
  11. C
  12. C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
  13. C
  14. C AUTEUR : S. KUDRIAKOV, DRN/DMT/SEMT/LTMF
  15. C
  16. C************************************************************************
  17. C
  18. C APPELES (Calcul) :
  19. C
  20. C************************************************************************
  21. C
  22. C HISTORIQUE (Anomalies et modifications éventuelles)
  23. C
  24. C HISTORIQUE :
  25. C
  26. C************************************************************************
  27. C
  28. IMPLICIT INTEGER(I-N)
  29. IMPLICIT REAL*8(A-H,O-Z)
  30.  
  31. -INC PPARAM
  32. -INC CCOPTIO
  33. -INC SMLMOTS
  34. -INC SMELEME
  35. POINTEUR MELEFC.MELEME
  36. -INC SMLENTI
  37. POINTEUR MLEMC.MLENTI, MLEMCB.MLENTI,MLEMF.MLENTI
  38. -INC SMCHPOI
  39. POINTEUR MPNORM.MPOVAL, MPVOL.MPOVAL, MPSURF.MPOVAL, MPRC.MPOVAL,
  40. & MPVC.MPOVAL, MPPC.MPOVAL, MPGAMC.MPOVAL, MPLIM.MPOVAL,
  41. & MPRES.MPOVAL, MPRLI.MPOVAL
  42. C
  43. C**** Variables de COOPTIO
  44. C
  45. C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
  46. C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ
  47. C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES
  48. C & ,IECHO, IIMPI, IOSPI
  49. C & ,IDIM, IFICLE, IPREFI
  50. C & ,MCOORD
  51. C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
  52. C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
  53. C & ,NORINC,NORVAL,NORIND,NORVAD
  54. C & ,NUCROU, IPSAUV
  55. C
  56. INTEGER MELEMF,MELEMC,MELECB,INORM,ICHPVO,ICHPSU, IROC,IVITC,IPC
  57. & ,IGAMC,ICHLIM,ICHRES,ICHRLI,ICEL,NFAC,IFAC
  58. & ,NGF,NGC,NLF,NLC,NLCB
  59. REAL*8 VOLU,SURF,GAMC,CNX,CNY,CNZ,CTX,CTY,CTZ,GM1,USGM1
  60. & ,CT2X,CT2Y,CT2Z,UTF,UT2F
  61. & ,PC,PF,TF,ECIN,P,RHO,UN,UT,UT2,UX,UY,UZ
  62. & ,RHOC,UXC,UYC,UZC,UNC,RAIR,SF
  63.  
  64. CHARACTER*(8) TYPE
  65. C
  66. C
  67. C**** KRIPAD pour la correspondance global/local
  68. C
  69. CALL KRIPAD(MELEMC,MLEMC)
  70. C SEGINI MLEMC
  71. CALL KRIPAD(MELECB,MLEMCB)
  72. C SEGINI MLEMCB
  73. CALL KRIPAD(MELEMF,MLEMF)
  74. C SEGINI MLEMF
  75. C
  76. C**** CHPOINTs de la table DOMAINE
  77. C
  78. CALL LICHT(INORM,MPNORM,TYPE,ICEL)
  79. CALL LICHT(ICHPVO,MPVOL,TYPE,ICEL)
  80. CALL LICHT(ICHPSU,MPSURF,TYPE,ICEL)
  81. C
  82. C**** LICHT active les MPOVALs en *MOD
  83. C
  84. C SEGACT MPNORM*MOD
  85. C SEGACT MPOVSU*MOD
  86. C SEGACT MPOVOL*MOD
  87. C
  88. C
  89. C**** CHPOINTs des variables
  90. C
  91. CALL LICHT(IROC,MPRC,TYPE,ICEL)
  92. CALL LICHT(IVITC,MPVC,TYPE,ICEL)
  93. CALL LICHT(IPC,MPPC,TYPE,ICEL)
  94. CALL LICHT(IGAMC,MPGAMC,TYPE,ICEL)
  95. CALL LICHT(ICHLIM,MPLIM,TYPE,ICEL)
  96. CALL LICHT(ICHRES,MPRES,TYPE,ICEL)
  97. CALL LICHT(ICHRLI,MPRLI,TYPE,ICEL)
  98. C
  99. C SEGACT *MOD
  100. C SEGACT *MOD
  101. C SEGACT *MOD
  102. C SEGACT *MOD
  103. C SEGACT *MOD
  104. C SEGACT *MOD
  105. C SEGACT *MOD
  106. C
  107. C
  108. C**** Boucle sur le face pour le calcul des invariants de
  109. C Riemann et du flux
  110. C
  111. SEGACT MELEFC
  112. NFAC=MELEFC.NUM(/2)
  113. CNZ=0.0D0
  114. CTZ=0.0D0
  115. CT2X=0.0D0
  116. CT2Y=0.0D0
  117. CT2Z=0.0D0
  118. UZC=0.0D0
  119. DO IFAC=1,NFAC,1
  120. NGF=MELEFC.NUM(1,IFAC)
  121. NGC=MELEFC.NUM(2,IFAC)
  122. NLF=MLEMF.LECT(NGF)
  123. NLC=MLEMC.LECT(NGC)
  124. NLCB=MLEMCB.LECT(NGF)
  125. VOLU=MPVOL.VPOCHA(NLC,1)
  126. SURF=MPSURF.VPOCHA(NLF,1)
  127. C In CASTEM les normales sont sortantes
  128. CNX=-1*MPNORM.VPOCHA(NLF,1)
  129. CNY=-1*MPNORM.VPOCHA(NLF,2)
  130. IF(IDIM.EQ.2)THEN
  131. CTX=-1.0D0*CNY
  132. CTY=CNX
  133. ELSE
  134. CNZ=-1*MPNORM.VPOCHA(NLF,3)
  135. CTX=-1*MPNORM.VPOCHA(NLF,4)
  136. CTY=-1*MPNORM.VPOCHA(NLF,5)
  137. CTZ=-1*MPNORM.VPOCHA(NLF,6)
  138. CT2X=-1*MPNORM.VPOCHA(NLF,7)
  139. CT2Y=-1*MPNORM.VPOCHA(NLF,8)
  140. CT2Z=-1*MPNORM.VPOCHA(NLF,9)
  141. ENDIF
  142. GAMC=MPGAMC.VPOCHA(NLC,1)
  143. GM1=GAMC-1.0D0
  144. USGM1=1.0D0/GM1
  145. C Variables au centre
  146. PC=MPPC.VPOCHA(NLC,1)
  147. RHOC=MPRC.VPOCHA(NLC,1)
  148. UXC=MPVC.VPOCHA(NLC,1)
  149. UYC=MPVC.VPOCHA(NLC,2)
  150. IF(IDIM.EQ.3) UZC=MPVC.VPOCHA(NLC,3)
  151. UNC=(UXC*CNX)+(UYC*CNY)+(UZC*CNZ)
  152. C Variables in the tank (stagnation values)
  153. PF=MPLIM.VPOCHA(NLCB,1)
  154. RF=MPLIM.VPOCHA(NLCB,2)
  155. UTF=0.0D0
  156. UT2F=0.0D0
  157. C
  158. C******* Variables à l'interface
  159. C
  160. c!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  161. C******* entropy in the tank
  162. SF = PF/(RF**GAMC)
  163. c!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  164. RHO=((2.0/(GAMC + 1.0))**USGM1)*RF
  165. P = SF * (RHO**GAMC)
  166. UN=(GAMC*P/RHO)**0.5
  167. UT=UTF
  168. UT2=UT2F
  169. C
  170. C******* On calcule U
  171. C
  172. UX=UN*CNX+UT*CTX+UT2*CT2X
  173. UY=UN*CNY+UT*CTY+UT2*CT2Y
  174. UZ=UN*CNZ+UT*CTZ+UT2*CT2Z
  175. C
  176. ECIN=0.5D0*((UX*UX)+(UY*UY)+(UZ*UZ))
  177. C
  178. C******* Densite, vitesse, pression sur le bord
  179. C
  180. MPRLI.VPOCHA(NLCB,1)=RHO
  181. MPRLI.VPOCHA(NLCB,2)=UX
  182. MPRLI.VPOCHA(NLCB,3)=UY
  183. IF(IDIM.EQ.3) MPRLI.VPOCHA(NLCB,4)=UZ
  184. MPRLI.VPOCHA(NLCB,IDIM+2)=P
  185. C
  186. C
  187. C******* Residuum (son SPG a le meme ordre que MELEFC)
  188. C
  189. MPRES.VPOCHA(IFAC,1)=RHO*UN*SURF/VOLU
  190. MPRES.VPOCHA(IFAC,2)=((RHO*UN*UX)+(P*CNX))*SURF/VOLU
  191. MPRES.VPOCHA(IFAC,3)=((RHO*UN*UY)+(P*CNY))*SURF/VOLU
  192. IF(IDIM.EQ.3)MPRES.VPOCHA(IFAC,4)=((RHO*UN*UZ)+
  193. & (P*CNZ))*SURF/VOLU
  194. MPRES.VPOCHA(IFAC,IDIM+2)=(RHO*UN*((GAMC*USGM1*P/RHO)+ECIN))
  195. & *SURF/VOLU
  196. ENDDO
  197. C
  198. SEGDES MELEFC
  199. C
  200. SEGSUP MLEMC
  201. SEGSUP MLEMCB
  202. SEGSUP MLEMF
  203. C
  204. SEGDES MPNORM
  205. SEGDES MPVOL
  206. SEGDES MPSURF
  207. SEGDES MPRC
  208. SEGDES MPPC
  209. SEGDES MPVC
  210. SEGDES MPGAMC
  211. SEGDES MPLIM
  212. SEGDES MPRES
  213. SEGDES MPRLI
  214. C
  215. 9999 CONTINUE
  216. RETURN
  217. END
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  

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