Télécharger kxl.eso

Retour à la liste

Numérotation des lignes :

  1. C KXL SOURCE CHAT 05/01/13 01:11:42 5004
  2. SUBROUTINE KXL(NOMS,TYPE,XL)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5. PARAMETER (NBE=18)
  6. CHARACTER*8 NOMS,LISTE(NBE)
  7. CHARACTER*2 TYPE
  8. DIMENSION XL(3,4)
  9. DATA LISTE/'SEG3 ','TRI6 ','QUA8 ','TRI7 ','QUA9 ',
  10. &'CU27 ','PR21 ','TE15 ','PY19 ',
  11. &'PR18 ','PY14 ',
  12. &'SEG4 ','TR12 ','QU16 ','CU64 ','PR48 ','TE32 ',
  13. &'PY57 '/
  14.  
  15. IF(TYPE.EQ.'P0')THEN
  16. C CENTRE P0
  17. CALL OPTLI(IP,LISTE,NOMS,NBE)
  18. IF(IP.EQ.0)RETURN
  19. GO TO (301,602,802,602,802,2703,2103,1503,1903,2103,1903),IP
  20.  
  21. 301 CONTINUE
  22. XL(1,1)=0.5D0
  23. XL(2,1)=0.D0
  24. XL(3,1)=0.D0
  25. RETURN
  26.  
  27. 602 CONTINUE
  28. R2=SQRT(2.D0)
  29. XL(1,1)=R2/3.D0
  30. XL(2,1)=R2/3.D0
  31. XL(3,1)=0.D0
  32. RETURN
  33.  
  34. 802 CONTINUE
  35. XL(1,1)=0.5D0
  36. XL(2,1)=0.5D0
  37. XL(3,1)=0.D0
  38. RETURN
  39.  
  40. 2703 CONTINUE
  41. XL(1,1)=0.5D0
  42. XL(2,1)=0.5D0
  43. XL(3,1)=0.5D0
  44. RETURN
  45.  
  46. 2103 CONTINUE
  47. R2=SQRT(2.D0)
  48. XL(1,1)=R2/3.D0
  49. XL(2,1)=R2/3.D0
  50. XL(3,1)=0.5D0
  51. RETURN
  52.  
  53. 1503 CONTINUE
  54. R2=SQRT(2.D0)
  55. XL(1,1)=R2/3.D0
  56. XL(2,1)=R2/3.D0
  57. XL(3,1)=R2/3.D0
  58. RETURN
  59.  
  60. 1903 CONTINUE
  61. XL(1,1)=0.5D0
  62. XL(2,1)=0.5D0
  63. XL(3,1)=0.5D0
  64. RETURN
  65.  
  66.  
  67. ELSEIF(TYPE.EQ.'P1')THEN
  68. C CENTRE P1
  69.  
  70. CALL OPTLI(IP,LISTE,NOMS,NBE)
  71. IF(IP.EQ.0)RETURN
  72. GO TO (1301,1602,1802,1602,1802,12703,12103,11503,
  73. &11903,12103,11903),IP
  74.  
  75. 1301 CONTINUE
  76. XL(1,1)=0.25D0
  77. XL(2,1)=0.D0
  78. XL(3,1)=0.D0
  79. XL(1,2)=0.75D0
  80. XL(2,2)=0.D0
  81. XL(3,2)=0.D0
  82. RETURN
  83.  
  84. 1602 CONTINUE
  85. R2=SQRT(2.D0)
  86. XL(1,1)=R2/6.D0
  87. XL(2,1)=R2/6.D0
  88. XL(3,1)=0.D0
  89. XL(1,2)=4.D0*R2/6.D0
  90. XL(2,2)=R2/6.D0
  91. XL(3,2)=0.D0
  92. XL(1,3)=R2/6.D0
  93. XL(2,3)=4.D0*R2/6.D0
  94. XL(3,3)=0.D0
  95. RETURN
  96.  
  97. 1802 CONTINUE
  98. XL(1,1)=0.75D0
  99. XL(2,1)=0.75D0
  100. XL(3,1)=0.D0
  101. XL(1,2)=0.25D0
  102. XL(2,2)=0.5D0
  103. XL(3,2)=0.D0
  104. XL(1,3)=0.5D0
  105. XL(2,3)=0.25D0
  106. XL(3,3)=0.D0
  107. RETURN
  108.  
  109. 12703 CONTINUE
  110. XL(1,1)=0.75D0
  111. XL(2,1)=0.75D0
  112. XL(3,1)=0.25D0
  113. XL(1,2)=0.25D0
  114. XL(2,2)=0.5D0
  115. XL(3,2)=0.25D0
  116. XL(1,3)=0.5D0
  117. XL(2,3)=0.25D0
  118. XL(3,3)=0.25D0
  119. XL(1,4)=0.5D0
  120. XL(2,4)=0.25D0
  121. XL(3,4)=0.75D0
  122. RETURN
  123.  
  124. 12103 CONTINUE
  125. R2=SQRT(2.D0)
  126. XL(1,1)=R2/6.D0
  127. XL(2,1)=R2/6.D0
  128. XL(3,1)=0.25D0
  129. XL(1,2)=2.D0*R2/3.D0
  130. XL(2,2)=R2/6.D0
  131. XL(3,2)=0.75D0
  132. XL(1,3)=R2/6.D0
  133. XL(2,3)=2.D0*R2/3.D0
  134. XL(3,3)=0.25D0
  135. XL(1,4)=R2/3.D0
  136. XL(2,4)=R2/3.D0
  137. XL(3,4)=0.75D0
  138. RETURN
  139. 11503 CONTINUE
  140. R2=SQRT(6.D0)
  141. XL(1,1)=R2*0.25D0
  142. XL(2,1)=R2*0.25D0
  143. XL(3,1)=0.25D0
  144. XL(1,2)=R2*0.75D0
  145. XL(2,2)=R2*0.25D0
  146. XL(3,2)=0.25D0
  147. XL(1,3)=R2*0.75D0
  148. XL(2,3)=R2*0.75D0
  149. XL(3,3)=0.25D0
  150. XL(1,3)=R2*0.25D0
  151. XL(2,3)=R2*0.25D0
  152. XL(3,3)=0.75D0
  153. RETURN
  154. 11903 CONTINUE
  155. RETURN
  156.  
  157. ENDIF
  158. END
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  

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