Télécharger prija1.eso

Retour à la liste

Numérotation des lignes :

prija1
  1. C PRIJA1 SOURCE OF166741 24/12/13 21:17:11 12097
  2. SUBROUTINE PRIJA1(MELEMC,MLMCON,MLMPRI,IRN,IVN,IPN,IGAMN,IJACO)
  3. C
  4. C************************************************************************
  5. C
  6. C PROJET : CASTEM 2000
  7. C
  8. C NOM : PRIJA1
  9. C
  10. C DESCRIPTION : Voir PRIJAC
  11. C Cas deux dimensions, gaz "calorically perfect"
  12. C
  13. C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
  14. C
  15. C AUTEUR : A. BECCANTINI, DM2S/SFME/LTMF
  16. C
  17. C************************************************************************
  18. C
  19. C ENTREES
  20. C
  21. C MELEMC : SPG des CHPOINTs
  22. C
  23. C MLMPRI : liste des inconnues primitives (P,v,T)
  24. C
  25. C MLMCON : liste des inconnues conservatives (rho, rhov, rhoet)
  26. C
  27. C IRN : CHPOINT CENTRE contenant la densité
  28. C
  29. C IVN : CHPOINT CENTRE contenant la vitesse
  30. C
  31. C IPN : CHPOINT CENTRE contenant la pression
  32. C
  33. C IGAM : CHPOINT CENTRE contenant le gamma
  34. C
  35. C SORTIES
  36. C
  37. C IJACO : pointeur de la MATRIK jacobienne
  38. C
  39. C************************************************************************
  40. C
  41. C HISTORIQUE (Anomalies et modifications éventuelles)
  42. C
  43. C HISTORIQUE : crée le 29.05.02
  44. C
  45. C************************************************************************
  46. C
  47. C
  48. C N.B.: On suppose qu'on a déjà controllé RO, P > 0
  49. C GAMMA \in (1,3)
  50. C Si non il faut le faire!!!
  51. C
  52. C************************************************************************
  53. C
  54. IMPLICIT INTEGER(I-N)
  55. INTEGER IRN, IVN, IPN, IGAMN, IJACO, IGEOM, ICEN
  56. & , MP, NP, NBEL, NBME, NBSOUS
  57. & , NRIGE, NMATRI, NKID, NKMT
  58. C
  59. REAL*8 RHO,UX, UY, GAMMA
  60. CHARACTER*8 TYPE
  61. C
  62. C**** LES INCLUDES
  63. C
  64.  
  65. -INC PPARAM
  66. -INC CCOPTIO
  67. -INC SMCHPOI
  68. -INC SMELEME
  69. -INC SMLMOTS
  70. -INC SMLENTI
  71. POINTEUR MPVN.MPOVAL, MPRN.MPOVAL, MPGAM.MPOVAL
  72. POINTEUR MELEMC.MELEME
  73. POINTEUR RR.IZAFM, RUX.IZAFM, RUY.IZAFM, RP.IZAFM,
  74. & RUXR.IZAFM, RUXUX.IZAFM, RUXUY.IZAFM, RUXP.IZAFM,
  75. & RUYR.IZAFM, RUYUX.IZAFM, RUYUY.IZAFM, RUYP.IZAFM,
  76. & RETR.IZAFM, RETUX.IZAFM, RETUY.IZAFM, RETP.IZAFM
  77. POINTEUR MLMPRI.MLMOTS, MLMCON.MLMOTS
  78. C
  79. CALL LICHT(IVN,MPVN,TYPE,IGEOM)
  80. CALL LICHT(IRN,MPRN,TYPE,IGEOM)
  81. CALL LICHT(IGAMN,MPGAM,TYPE,IGEOM)
  82. C
  83. C SEGACT MPVN*MOD
  84. C SEGACT MPPN*MOD
  85. C SEGACT MPRN*MOD
  86. C
  87. C**** Maillage des inconnues primales = Maillage des inconnues primales
  88. C = MELEMC
  89. C
  90. C
  91. NRIGE = 7
  92. NMATRI = 1
  93. NKID = 9
  94. NKMT = 7
  95. C
  96. SEGINI MATRIK
  97. IJACO = MATRIK
  98. MATRIK.IRIGEL(1,1) = MELEMC
  99. MATRIK.IRIGEL(2,1) = MELEMC
  100. C
  101. C**** Matrice non symetrique
  102. C
  103. MATRIK.IRIGEL(7,1) = 2
  104. C
  105. NBME = 16
  106. NBSOUS = 1
  107. SEGINI IMATRI
  108. MATRIK.IRIGEL(4,1) = IMATRI
  109. C
  110. SEGACT MLMPRI
  111. IMATRI.LISPRI(1) = MLMPRI.MOTS(1)
  112. IMATRI.LISPRI(2) = MLMPRI.MOTS(2)
  113. IMATRI.LISPRI(3) = MLMPRI.MOTS(3)
  114. IMATRI.LISPRI(4) = MLMPRI.MOTS(4)
  115. IMATRI.LISPRI(5) = MLMPRI.MOTS(1)
  116. IMATRI.LISPRI(6) = MLMPRI.MOTS(2)
  117. IMATRI.LISPRI(7) = MLMPRI.MOTS(3)
  118. IMATRI.LISPRI(8) = MLMPRI.MOTS(4)
  119. IMATRI.LISPRI(9) = MLMPRI.MOTS(1)
  120. IMATRI.LISPRI(10) = MLMPRI.MOTS(2)
  121. IMATRI.LISPRI(11) = MLMPRI.MOTS(3)
  122. IMATRI.LISPRI(12) = MLMPRI.MOTS(4)
  123. IMATRI.LISPRI(13) = MLMPRI.MOTS(1)
  124. IMATRI.LISPRI(14) = MLMPRI.MOTS(2)
  125. IMATRI.LISPRI(15) = MLMPRI.MOTS(3)
  126. IMATRI.LISPRI(16) = MLMPRI.MOTS(4)
  127. SEGDES MLMPRI
  128. C
  129. SEGACT MLMCON
  130. IMATRI.LISDUA(1) = MLMCON.MOTS(1)
  131. IMATRI.LISDUA(2) = MLMCON.MOTS(1)
  132. IMATRI.LISDUA(3) = MLMCON.MOTS(1)
  133. IMATRI.LISDUA(4) = MLMCON.MOTS(1)
  134. IMATRI.LISDUA(5) = MLMCON.MOTS(2)
  135. IMATRI.LISDUA(6) = MLMCON.MOTS(2)
  136. IMATRI.LISDUA(7) = MLMCON.MOTS(2)
  137. IMATRI.LISDUA(8) = MLMCON.MOTS(2)
  138. IMATRI.LISDUA(9) = MLMCON.MOTS(3)
  139. IMATRI.LISDUA(10) = MLMCON.MOTS(3)
  140. IMATRI.LISDUA(11) = MLMCON.MOTS(3)
  141. IMATRI.LISDUA(12) = MLMCON.MOTS(3)
  142. IMATRI.LISDUA(13) = MLMCON.MOTS(4)
  143. IMATRI.LISDUA(14) = MLMCON.MOTS(4)
  144. IMATRI.LISDUA(15) = MLMCON.MOTS(4)
  145. IMATRI.LISDUA(16) = MLMCON.MOTS(4)
  146. SEGDES MLMCON
  147. C
  148. SEGACT MELEMC
  149. NBEL = MELEMC.NUM(/2)
  150. SEGDES MELEMC
  151. NBSOUS = 1
  152. NP = 1
  153. MP = 1
  154. SEGINI RR , RUX , RUY , RP ,
  155. & RUXR , RUXUX , RUXUY , RUXP ,
  156. & RUYR , RUYUX , RUYUY , RUYP ,
  157. & RETR , RETUX , RETUY , RETP
  158. C
  159. C**** Duale = IMATRI.LISDUA(1) = 'RN'
  160. C Primale = IMATRI.LISPRI(4) = 'P'
  161. C -> IMATRI.LIZAFM(1,4) = RP
  162. C
  163. IMATRI.LIZAFM(1,1) = RR
  164. IMATRI.LIZAFM(1,2) = RUX
  165. IMATRI.LIZAFM(1,3) = RUY
  166. IMATRI.LIZAFM(1,4) = RP
  167. IMATRI.LIZAFM(1,5) = RUXR
  168. IMATRI.LIZAFM(1,6) = RUXUX
  169. IMATRI.LIZAFM(1,7) = RUXUY
  170. IMATRI.LIZAFM(1,8) = RUXP
  171. IMATRI.LIZAFM(1,9) = RUYR
  172. IMATRI.LIZAFM(1,10) = RUYUX
  173. IMATRI.LIZAFM(1,11) = RUYUY
  174. IMATRI.LIZAFM(1,12) = RUYP
  175. IMATRI.LIZAFM(1,13) = RETR
  176. IMATRI.LIZAFM(1,14) = RETUX
  177. IMATRI.LIZAFM(1,15) = RETUY
  178. IMATRI.LIZAFM(1,16) = RETP
  179. C
  180. DO ICEN = 1, NBEL, 1
  181. RHO=MPRN.VPOCHA(ICEN,1)
  182. UX=MPVN.VPOCHA(ICEN,1)
  183. UY=MPVN.VPOCHA(ICEN,2)
  184. GAMMA=MPGAM.VPOCHA(ICEN,1)
  185. C
  186. C********AB.AM(IFAC,IPRIM,IDUAL)
  187. C A = nom de l'inconnu duale (Ro,rUX,rUY,RET)
  188. C B = nom de l'inconnu primale (Ro,UX,UY,P)
  189. C
  190. C******* Dual RN
  191. C
  192. RR.AM(ICEN,1,1) = 1.0D0
  193. RUX.AM(ICEN,1,1) = 0.0D0
  194. RUY.AM(ICEN,1,1) = 0.0D0
  195. RP.AM(ICEN,1,1) = 0.0D0
  196. C
  197. C******* Dual RUXN
  198. C
  199. RUXR.AM(ICEN,1,1) = UX
  200. RUXUX.AM(ICEN,1,1) = RHO
  201. RUXUY.AM(ICEN,1,1) = 0.0D0
  202. RUXP.AM(ICEN,1,1) = 0.0D0
  203. C
  204. C******* Dual RUYN
  205. C
  206. RUYR.AM(ICEN,1,1) = UY
  207. RUYUX.AM(ICEN,1,1) = 0.0D0
  208. RUYUY.AM(ICEN,1,1) = RHO
  209. RUYP.AM(ICEN,1,1) = 0.0D0
  210. C
  211. C********Dual RETN
  212. C
  213. RETR.AM(ICEN,1,1) = 0.5D0*((UX*UX)+(UY*UY))
  214. RETUX.AM(ICEN,1,1) = RHO*UX
  215. RETUY.AM(ICEN,1,1) = RHO*UY
  216. RETP.AM(ICEN,1,1) = 1.0D0/(GAMMA - 1.0D0)
  217. C
  218. ENDDO
  219. C
  220. SEGDES MPVN
  221. SEGDES MPRN
  222. SEGDES MPGAM
  223. C
  224. SEGDES MATRIK
  225. SEGDES IMATRI
  226. C
  227. SEGDES RR , RUX , RUY , RP ,
  228. & RUXR , RUXUX , RUXUY , RUXP ,
  229. & RUYR , RUYUX , RUYUY , RUYP ,
  230. & RETR , RETUX , RETUY , RETP
  231. C
  232. RETURN
  233. END
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  

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