Télécharger gt3f10.eso

Retour à la liste

Numérotation des lignes :

gt3f10
  1. C GT3F10 SOURCE GOUNAND 21/06/02 21:16:19 11022
  2. SUBROUTINE GT3F10(PGCOUR,NOPG,DIMSRF,XCOR,POIDS,
  3. $ IMPR,IRET)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5. IMPLICIT INTEGER (I-N)
  6. C***********************************************************************
  7. C NOM : GT3F10
  8. C PROJET : Noyau linéaire NLIN
  9. C DESCRIPTION : Rajoute des points à une méthode d'intégration type
  10. C Gauss (PGCOUR).
  11. C Domaine de type [ Simplex ] de dimension 3
  12. C i.e. tétrahèdre.
  13. C Générateur de type [ Fully symmetric ].
  14. C Rule structure of index 10 i.e.
  15. C XCOR=(a,a,b,c)
  16. C XCOR=xi sont les coordonnées barycentriques...
  17. C
  18. C le nombre de points générés est 12 (car le nombre de
  19. C permutations distinctes de (a,a,b,c) est 4!/2! :
  20. C (a,a,b,c) ; (a,b,a,c) ; (a,b,c,a)
  21. C (b,a,c,a) ; (b,c,a,a) ; (b,a,a,c)
  22. C (a,a,c,b) ; (a,c,a,b) ; (a,c,b,a)
  23. C (c,a,b,a) ; (c,b,a,a) ; (c,a,a,b)
  24. C
  25. C LANGAGE : ESOPE
  26. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  27. C mél : gounand@semt2.smts.cea.fr
  28. C***********************************************************************
  29. C APPELES : -
  30. C APPELE PAR : INGATE
  31. C***********************************************************************
  32. C ENTREES : DIMSRF, XCOR, POIDS
  33. C ENTREES/SORTIES : PGCOUR (actif en *MOD), NOPG
  34. C SORTIES : MYPGS
  35. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  36. C***********************************************************************
  37. C VERSION : v1, 29/05/00, version initiale
  38. C HISTORIQUE : v1, 29/05/00, création
  39. C HISTORIQUE :
  40. C HISTORIQUE :
  41. C***********************************************************************
  42. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  43. C en cas de modification de ce sous-programme afin de faciliter
  44. C la maintenance !
  45. C***********************************************************************
  46.  
  47. -INC PPARAM
  48. -INC CCOPTIO
  49. -INC TNLIN
  50. *-INC SPOGAU
  51. POINTEUR PGCOUR.POGAU
  52. *
  53. INTEGER NOPG,DIMSRF
  54. REAL*8 XCOR(DIMSRF+1)
  55. REAL*8 POIDS
  56. INTEGER IMPR,IRET
  57. *
  58. REAL*8 XA,XB,XC
  59. *
  60. * Executable statements
  61. *
  62. IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans gt3f10'
  63. IF (DIMSRF.NE.3) THEN
  64. WRITE(IOIMP,*) 'DIMSRF doit etre égal à 3...'
  65. GOTO 9999
  66. ENDIF
  67. XA=XCOR(1)
  68. XB=XCOR(3)
  69. XC=XCOR(4)
  70. * (a,a,b,c) ; (a,b,a,c) ; (a,b,c,a)
  71. NOPG=NOPG+1
  72. PGCOUR.XCOPG(1,NOPG)= XA
  73. PGCOUR.XCOPG(2,NOPG)= XA
  74. PGCOUR.XCOPG(3,NOPG)= XB
  75. PGCOUR.XPOPG(NOPG)=POIDS
  76. NOPG=NOPG+1
  77. PGCOUR.XCOPG(1,NOPG)= XA
  78. PGCOUR.XCOPG(2,NOPG)= XB
  79. PGCOUR.XCOPG(3,NOPG)= XA
  80. PGCOUR.XPOPG(NOPG)=POIDS
  81. NOPG=NOPG+1
  82. PGCOUR.XCOPG(1,NOPG)= XA
  83. PGCOUR.XCOPG(2,NOPG)= XB
  84. PGCOUR.XCOPG(3,NOPG)= XC
  85. PGCOUR.XPOPG(NOPG)=POIDS
  86. * (b,a,c,a) ; (b,c,a,a) ; (b,a,a,c)
  87. NOPG=NOPG+1
  88. PGCOUR.XCOPG(1,NOPG)= XB
  89. PGCOUR.XCOPG(2,NOPG)= XA
  90. PGCOUR.XCOPG(3,NOPG)= XC
  91. PGCOUR.XPOPG(NOPG)=POIDS
  92. NOPG=NOPG+1
  93. PGCOUR.XCOPG(1,NOPG)= XB
  94. PGCOUR.XCOPG(2,NOPG)= XC
  95. PGCOUR.XCOPG(3,NOPG)= XA
  96. PGCOUR.XPOPG(NOPG)=POIDS
  97. NOPG=NOPG+1
  98. PGCOUR.XCOPG(1,NOPG)= XB
  99. PGCOUR.XCOPG(2,NOPG)= XA
  100. PGCOUR.XCOPG(3,NOPG)= XA
  101. PGCOUR.XPOPG(NOPG)=POIDS
  102. C (a,a,c,b) ; (a,c,a,b) ; (a,c,b,a)
  103. NOPG=NOPG+1
  104. PGCOUR.XCOPG(1,NOPG)= XA
  105. PGCOUR.XCOPG(2,NOPG)= XA
  106. PGCOUR.XCOPG(3,NOPG)= XC
  107. PGCOUR.XPOPG(NOPG)=POIDS
  108. NOPG=NOPG+1
  109. PGCOUR.XCOPG(1,NOPG)= XA
  110. PGCOUR.XCOPG(2,NOPG)= XC
  111. PGCOUR.XCOPG(3,NOPG)= XA
  112. PGCOUR.XPOPG(NOPG)=POIDS
  113. NOPG=NOPG+1
  114. PGCOUR.XCOPG(1,NOPG)= XA
  115. PGCOUR.XCOPG(2,NOPG)= XC
  116. PGCOUR.XCOPG(3,NOPG)= XB
  117. PGCOUR.XPOPG(NOPG)=POIDS
  118. C (c,a,b,a) ; (c,b,a,a) ; (c,a,a,b)
  119. NOPG=NOPG+1
  120. PGCOUR.XCOPG(1,NOPG)= XC
  121. PGCOUR.XCOPG(2,NOPG)= XA
  122. PGCOUR.XCOPG(3,NOPG)= XB
  123. PGCOUR.XPOPG(NOPG)=POIDS
  124. NOPG=NOPG+1
  125. PGCOUR.XCOPG(1,NOPG)= XC
  126. PGCOUR.XCOPG(2,NOPG)= XB
  127. PGCOUR.XCOPG(3,NOPG)= XA
  128. PGCOUR.XPOPG(NOPG)=POIDS
  129. NOPG=NOPG+1
  130. PGCOUR.XCOPG(1,NOPG)= XC
  131. PGCOUR.XCOPG(2,NOPG)= XA
  132. PGCOUR.XCOPG(3,NOPG)= XA
  133. PGCOUR.XPOPG(NOPG)=POIDS
  134. *
  135. * Normal termination
  136. *
  137. IRET=0
  138. RETURN
  139. *
  140. * Format handling
  141. *
  142. *
  143. * Error handling
  144. *
  145. 9999 CONTINUE
  146. IRET=1
  147. WRITE(IOIMP,*) 'An error was detected in subroutine gt3f10'
  148. RETURN
  149. *
  150. * End of subroutine GT3F10
  151. *
  152. END
  153.  
  154.  
  155.  
  156.  
  157.  

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