Télécharger fimvf3.eso

Retour à la liste

Numérotation des lignes :

fimvf3
  1. C FIMVF3 SOURCE OF166741 24/12/13 21:15:49 12097
  2. SUBROUTINE FIMVF3(ILIINC,ICEN,IGRAV,IJAC)
  3. C************************************************************************
  4. C
  5. C PROJET : CASTEM 2000
  6. C
  7. C NOM : FIMVF3
  8. C
  9. C DESCRIPTION : VOIR FIMVF1
  10. C
  11. C Gaz ideal mono-espece:
  12. C jacobienne lié à la gravité.
  13. C
  14. C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec extensions CISI)
  15. C
  16. C AUTEUR : A. BECCANTINI, DEN/DM2S/SFME/LTMF
  17. C
  18. C************************************************************************
  19. C
  20. C ENTREES :
  21. C
  22. C ILIINC : LISTMOTS, noms des inconnues
  23. C
  24. C ICEN : SPG geometrique
  25. C
  26. C IGRAV : CHPOINT gravité
  27. C
  28. C
  29. C SORTIES : IJAC : MATRIK jacobienne
  30. C
  31. C
  32. C************************************************************************
  33. C
  34. C HISTORIQUE (Anomalies et modifications éventuelles)
  35. C
  36. C HISTORIQUE : Créée le 24.1.03
  37. C
  38. C************************************************************************
  39. C
  40. C**** Les variables
  41. C
  42. IMPLICIT INTEGER(I-N)
  43. INTEGER ILIINC,ICEN,IGRAV,IJAC,N1,NLCE
  44. & ,IGEOM
  45. & ,MP, NBEL, NBME, NBSOUS, NKID, NKMT, NMATRI, NP, NRIGE
  46. CHARACTER*8 TYPE
  47. REAL*8 GX, GY, GZ
  48. C
  49. C**** Les includes
  50. C
  51.  
  52. -INC PPARAM
  53. -INC CCOPTIO
  54. -INC SMLMOTS
  55. -INC SMELEME
  56. -INC SMCHPOI
  57. C
  58. C**** Dual = ux (composante de la qdm)
  59. C Primal = rho
  60. C Matrice elementaire = UXR
  61. C
  62. POINTEUR UXR.IZAFM, UYR.IZAFM, UZR.IZAFM,
  63. & RETUX.IZAFM, RETUY.IZAFM, RETUZ.IZAFM
  64. C
  65. C**** Let's start programming!!!
  66. C
  67. IPT1 = ICEN
  68. SEGACT IPT1
  69. N1 = IPT1.NUM(/2)
  70. SEGDES IPT1
  71. C
  72. C**** Lecture de MPOVALs
  73. C
  74. CALL LICHT(IGRAV,MPOVA3,TYPE,IGEOM)
  75. C
  76. C**** LICHT active les MPOVALs en *MOD
  77. C
  78. C i.e.
  79. C
  80. C SEGACT MPOVA3*MOD
  81. C
  82. C
  83. C**** Objet MATRIK
  84. C
  85. NRIGE = 7
  86. NMATRI = 1
  87. NKID = 9
  88. NKMT = 7
  89. C
  90. SEGINI MATRIK
  91. IJAC = MATRIK
  92. MATRIK.IRIGEL(1,1) = ICEN
  93. MATRIK.IRIGEL(2,1) = ICEN
  94. C
  95. C**** Matrice non symetrique
  96. C
  97. MATRIK.IRIGEL(7,1) = 2
  98. C
  99. MLMOTS=ILIINC
  100. SEGACT MLMOTS
  101. NBSOUS = 1
  102. IF(IDIM.EQ.2)THEN
  103. NBME = 4
  104. SEGINI IMATRI
  105. MATRIK.IRIGEL(4,1) = IMATRI
  106. C
  107. IMATRI.LISPRI(1) = MLMOTS.MOTS(1)
  108. IMATRI.LISPRI(2) = MLMOTS.MOTS(1)
  109. IMATRI.LISPRI(3) = MLMOTS.MOTS(2)
  110. IMATRI.LISPRI(4) = MLMOTS.MOTS(3)
  111. C
  112. IMATRI.LISDUA(1) = MLMOTS.MOTS(2)
  113. IMATRI.LISDUA(2) = MLMOTS.MOTS(3)
  114. IMATRI.LISDUA(3) = MLMOTS.MOTS(4)
  115. IMATRI.LISDUA(4) = MLMOTS.MOTS(4)
  116. ELSEIF(IDIM.EQ.3)THEN
  117. C
  118. NBME = 6
  119. SEGINI IMATRI
  120. MATRIK.IRIGEL(4,1) = IMATRI
  121. C
  122. IMATRI.LISPRI(1) = MLMOTS.MOTS(1)
  123. IMATRI.LISPRI(2) = MLMOTS.MOTS(1)
  124. IMATRI.LISPRI(3) = MLMOTS.MOTS(1)
  125. IMATRI.LISPRI(4) = MLMOTS.MOTS(2)
  126. IMATRI.LISPRI(5) = MLMOTS.MOTS(3)
  127. IMATRI.LISPRI(6) = MLMOTS.MOTS(4)
  128. C
  129. IMATRI.LISDUA(1) = MLMOTS.MOTS(2)
  130. IMATRI.LISDUA(2) = MLMOTS.MOTS(3)
  131. IMATRI.LISDUA(3) = MLMOTS.MOTS(4)
  132. IMATRI.LISDUA(4) = MLMOTS.MOTS(5)
  133. IMATRI.LISDUA(5) = MLMOTS.MOTS(5)
  134. IMATRI.LISDUA(6) = MLMOTS.MOTS(5)
  135. ENDIF
  136. C
  137. SEGDES MLMOTS
  138. NBEL = N1
  139. NBSOUS = 1
  140. NP = 1
  141. MP = 1
  142. C
  143. IF(IDIM .EQ. 2)THEN
  144. SEGINI UXR, UYR, RETUX, RETUY
  145. IMATRI.LIZAFM(1,1) = UXR
  146. IMATRI.LIZAFM(1,2) = UYR
  147. IMATRI.LIZAFM(1,3) = RETUX
  148. IMATRI.LIZAFM(1,4) = RETUY
  149. ELSEIF(IDIM.EQ.3)THEN
  150. SEGINI UXR, UYR, UZR, RETUX, RETUY, RETUZ
  151. IMATRI.LIZAFM(1,1) = UXR
  152. IMATRI.LIZAFM(1,2) = UYR
  153. IMATRI.LIZAFM(1,3) = UZR
  154. IMATRI.LIZAFM(1,4) = RETUX
  155. IMATRI.LIZAFM(1,5) = RETUY
  156. IMATRI.LIZAFM(1,6) = RETUZ
  157. ENDIF
  158. C
  159. SEGDES MATRIK
  160. SEGDES IMATRI
  161. C SEGDES IMATRI
  162. C
  163. C**** Fin definition MATRIK
  164. C
  165. GZ = 0.0D0
  166. DO NLCE = 1, N1, 1
  167. C
  168. C******* Les differents variables a chaque centre
  169. C
  170. GX = MPOVA3.VPOCHA(NLCE,1)
  171. GY = MPOVA3.VPOCHA(NLCE,2)
  172. IF(IDIM .EQ. 3)THEN
  173. GZ = MPOVA3.VPOCHA(NLCE,3)
  174. ENDIF
  175. C
  176. UXR.AM(NLCE,1,1)=GX
  177. UYR.AM(NLCE,1,1)=GY
  178. RETUX.AM(NLCE,1,1)=GX
  179. RETUY.AM(NLCE,1,1)=GY
  180. IF(IDIM.EQ.3)THEN
  181. UZR.AM(NLCE,1,1)=GZ
  182. RETUZ.AM(NLCE,1,1)=GZ
  183. ENDIF
  184. ENDDO
  185. C
  186. SEGDES MPOVA3
  187. IF(IDIM .EQ. 2)THEN
  188. SEGDES UXR, UYR, RETUX, RETUY
  189. ELSEIF(IDIM.EQ.3)THEN
  190. SEGDES UXR, UYR, UZR, RETUX, RETUY, RETUZ
  191. ENDIF
  192. RETURN
  193. END
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  

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