Télécharger inqrcu.eso

Retour à la liste

Numérotation des lignes :

inqrcu
  1. C INQRCU SOURCE GOUNAND 21/06/02 21:16:55 11022
  2. SUBROUTINE INQRCU(MYQRFS,IMPR,IRET)
  3. IMPLICIT REAL*8 (A-H,O-Z)
  4. IMPLICIT INTEGER (I-N)
  5. C***********************************************************************
  6. C NOM : INQRCU
  7. C PROJET : Noyau linéaire NLIN
  8. C DESCRIPTION :
  9. C LANGAGE : ESOPE
  10. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  11. C mél : gounand@semt2.smts.cea.fr
  12. C***********************************************************************
  13. C APPELES :
  14. C APPELE PAR :
  15. C***********************************************************************
  16. C ENTREES : -
  17. C ENTREES/SORTIES :
  18. C SORTIES : -
  19. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  20. C***********************************************************************
  21. C VERSION : v1, 24/07/03, version initiale
  22. C HISTORIQUE : v1, 24/07/03, création
  23. C HISTORIQUE :
  24. C HISTORIQUE :
  25. C***********************************************************************
  26. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  27. C en cas de modification de ce sous-programme afin de faciliter
  28. C la maintenance !
  29. C***********************************************************************
  30.  
  31. -INC PPARAM
  32. -INC CCOPTIO
  33. -INC CCGEOME
  34. -INC TNLIN
  35. *-INC SIQUAF
  36. POINTEUR MYQRFS.IQUAFS
  37. POINTEUR QRCOUR.IQUAF
  38. INTEGER NDIMQR,NBNOQR
  39. -INC SMELEME
  40. POINTEUR MYMEL.MELEME
  41. POINTEUR SOUMEL.MELEME
  42. INTEGER NBNN,NBELEM,NBSOUS,NBREF
  43. -INC SMLENTI
  44. POINTEUR INOD.MLENTI
  45. -INC SMLREEL
  46. POINTEUR KVAL.MLREEL
  47. *
  48. INTEGER IMPR,IRET
  49. REAL*8 ZERO,UN
  50. *
  51. PARAMETER (ZERO=0.D0,UN=1.D0)
  52. *
  53. INTEGER NUMER
  54. *
  55. * Executable statements
  56. *
  57. IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans inqrcu'
  58. *
  59. * Elément QUAF QUA9
  60. *
  61. NDIMQR=3
  62. NBNOQR=27
  63. SEGINI QRCOUR
  64. * Numéro de l'élément géométrique dans NOMS
  65. * NOMS(1:NOMBR) sont les noms des types d'éléments géométriques,
  66. * cf. include CCGEOME
  67. CALL FICH4('CU27',NOMS,NOMBR,
  68. $ NUMER,
  69. $ IMPR,IRET)
  70. IF (IRET.NE.0) GOTO 9999
  71. QRCOUR.NUMQUF=NUMER
  72. *
  73. * Coordonnées des noeuds du QUAF de référence
  74. *
  75. JG=27
  76. SEGINI INOD
  77. INOD.LECT( 1)=1
  78. INOD.LECT( 2)=2
  79. INOD.LECT( 3)=3
  80. INOD.LECT( 4)=8
  81. INOD.LECT( 5)=25
  82. INOD.LECT( 6)=4
  83. INOD.LECT( 7)=7
  84. INOD.LECT( 8)=6
  85. INOD.LECT( 9)=5
  86. INOD.LECT(10)=9
  87. INOD.LECT(11)=21
  88. INOD.LECT(12)=10
  89. INOD.LECT(13)=24
  90. INOD.LECT(14)=27
  91. INOD.LECT(15)=22
  92. INOD.LECT(16)=12
  93. INOD.LECT(17)=23
  94. INOD.LECT(18)=11
  95. INOD.LECT(19)=13
  96. INOD.LECT(20)=14
  97. INOD.LECT(21)=15
  98. INOD.LECT(22)=20
  99. INOD.LECT(23)=26
  100. INOD.LECT(24)=16
  101. INOD.LECT(25)=19
  102. INOD.LECT(26)=18
  103. INOD.LECT(27)=17
  104. JG=3
  105. SEGINI KVAL
  106. KVAL.PROG(1)=-UN
  107. KVAL.PROG(2)=ZERO
  108. KVAL.PROG(3)=UN
  109. ICPT=0
  110. DO IZ=1,3
  111. DO IY=1,3
  112. DO IX=1,3
  113. ICPT=ICPT+1
  114. JNOD=INOD.LECT(ICPT)
  115. QRCOUR.XCONQR(1,JNOD)=KVAL.PROG(IX)
  116. QRCOUR.XCONQR(2,JNOD)=KVAL.PROG(IY)
  117. QRCOUR.XCONQR(3,JNOD)=KVAL.PROG(IZ)
  118. ENDDO
  119. ENDDO
  120. ENDDO
  121. SEGSUP KVAL
  122. SEGSUP INOD
  123. *
  124. * Numero du centre
  125. *
  126. QRCOUR.NUCENT=27
  127. *
  128. * Faces du CU27 : 6 QUA9
  129. *
  130. * Chapeau
  131. NBNN=0
  132. NBELEM=0
  133. NBSOUS=1
  134. NBREF=0
  135. SEGINI MYMEL
  136. * Faces QUA9
  137. NBNN=9
  138. NBELEM=6
  139. NBSOUS=0
  140. NBREF=0
  141. SEGINI SOUMEL
  142. CALL FICH4('QUA9',NOMS,NOMBR,
  143. $ NUMER,
  144. $ IMPR,IRET)
  145. IF (IRET.NE.0) GOTO 9999
  146. SOUMEL.ITYPEL=NUMER
  147. * Face 1
  148. SOUMEL.NUM(1,1)=1
  149. SOUMEL.NUM(2,1)=2
  150. SOUMEL.NUM(3,1)=3
  151. SOUMEL.NUM(4,1)=4
  152. SOUMEL.NUM(5,1)=5
  153. SOUMEL.NUM(6,1)=6
  154. SOUMEL.NUM(7,1)=7
  155. SOUMEL.NUM(8,1)=8
  156. SOUMEL.NUM(9,1)=25
  157. * Face 2
  158. SOUMEL.NUM(1,2)=13
  159. SOUMEL.NUM(2,2)=14
  160. SOUMEL.NUM(3,2)=15
  161. SOUMEL.NUM(4,2)=16
  162. SOUMEL.NUM(5,2)=17
  163. SOUMEL.NUM(6,2)=18
  164. SOUMEL.NUM(7,2)=19
  165. SOUMEL.NUM(8,2)=20
  166. SOUMEL.NUM(9,2)=26
  167. * Face 3
  168. SOUMEL.NUM(1,3)=3
  169. SOUMEL.NUM(2,3)=4
  170. SOUMEL.NUM(3,3)=5
  171. SOUMEL.NUM(4,3)=11
  172. SOUMEL.NUM(5,3)=17
  173. SOUMEL.NUM(6,3)=16
  174. SOUMEL.NUM(7,3)=15
  175. SOUMEL.NUM(8,3)=10
  176. SOUMEL.NUM(9,3)=22
  177. * Face 4
  178. SOUMEL.NUM(1,4)=1
  179. SOUMEL.NUM(2,4)=8
  180. SOUMEL.NUM(3,4)=7
  181. SOUMEL.NUM(4,4)=12
  182. SOUMEL.NUM(5,4)=19
  183. SOUMEL.NUM(6,4)=20
  184. SOUMEL.NUM(7,4)=13
  185. SOUMEL.NUM(8,4)=9
  186. SOUMEL.NUM(9,4)=24
  187. * Face 5
  188. SOUMEL.NUM(1,5)=1
  189. SOUMEL.NUM(2,5)=2
  190. SOUMEL.NUM(3,5)=3
  191. SOUMEL.NUM(4,5)=10
  192. SOUMEL.NUM(5,5)=15
  193. SOUMEL.NUM(6,5)=14
  194. SOUMEL.NUM(7,5)=13
  195. SOUMEL.NUM(8,5)=9
  196. SOUMEL.NUM(9,5)=21
  197. * Face 6
  198. SOUMEL.NUM(1,6)=7
  199. SOUMEL.NUM(2,6)=6
  200. SOUMEL.NUM(3,6)=5
  201. SOUMEL.NUM(4,6)=11
  202. SOUMEL.NUM(5,6)=17
  203. SOUMEL.NUM(6,6)=18
  204. SOUMEL.NUM(7,6)=19
  205. SOUMEL.NUM(8,6)=12
  206. SOUMEL.NUM(9,6)=23
  207. SEGDES SOUMEL
  208. MYMEL.LISOUS(1)=SOUMEL
  209. SEGDES MYMEL
  210. QRCOUR.LFACE=MYMEL
  211. SEGDES QRCOUR
  212. MYQRFS.LISQRF(**)=QRCOUR
  213. *
  214. * Normal termination
  215. *
  216. IRET=0
  217. RETURN
  218. *
  219. * Format handling
  220. *
  221. *
  222. * Error handling
  223. *
  224. 9999 CONTINUE
  225. IRET=1
  226. WRITE(IOIMP,*) 'An error was detected in subroutine inqrcu'
  227. RETURN
  228. *
  229. * End of subroutine INQRCU
  230. *
  231. END
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  

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