Télécharger gt3fs9.eso

Retour à la liste

Numérotation des lignes :

gt3fs9
  1. C GT3FS9 SOURCE GOUNAND 21/06/02 21:16:20 11022
  2. SUBROUTINE GT3FS9(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 : GT3FS9
  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 9 i.e.
  15. C XCOR=(a,a,b,b)
  16. C XCOR=xi sont les coordonnées barycentriques...
  17. C
  18. C le nombre de points générés est 6 (car le nombre de
  19. C permutations distinctes de (a,a,b,b) est 4!/(2!2!) :
  20. C (a,a,b,b) ; (a,b,a,b) ; (a,b,b,a)
  21. C (b,a,b,a) ; (b,b,a,a) ; (b,a,a,b)
  22. C
  23. C LANGAGE : ESOPE
  24. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  25. C mél : gounand@semt2.smts.cea.fr
  26. C***********************************************************************
  27. C APPELES : -
  28. C APPELE PAR : INGATE
  29. C***********************************************************************
  30. C ENTREES : DIMSRF, XCOR, POIDS
  31. C ENTREES/SORTIES : PGCOUR (actif en *MOD), NOPG
  32. C SORTIES : MYPGS
  33. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  34. C***********************************************************************
  35. C VERSION : v1, 20/10/99, version initiale
  36. C HISTORIQUE : v1, 20/10/99, création
  37. C HISTORIQUE :
  38. C HISTORIQUE :
  39. C***********************************************************************
  40. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  41. C en cas de modification de ce sous-programme afin de faciliter
  42. C la maintenance !
  43. C***********************************************************************
  44.  
  45. -INC PPARAM
  46. -INC CCOPTIO
  47. -INC TNLIN
  48. *-INC SPOGAU
  49. POINTEUR PGCOUR.POGAU
  50. *
  51. INTEGER NOPG,DIMSRF
  52. REAL*8 XCOR(DIMSRF+1)
  53. REAL*8 POIDS
  54. INTEGER IMPR,IRET
  55. *
  56. REAL*8 XA,XB
  57. *
  58. * Executable statements
  59. *
  60. IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans gt3fs9'
  61. IF (DIMSRF.NE.3) THEN
  62. WRITE(IOIMP,*) 'DIMSRF doit etre égal à 3...'
  63. GOTO 9999
  64. ENDIF
  65. XA=XCOR(1)
  66. XB=XCOR(3)
  67. * (a,a,b,b) ; (a,b,a,b) ; (a,b,b,a)
  68. NOPG=NOPG+1
  69. PGCOUR.XCOPG(1,NOPG)= XA
  70. PGCOUR.XCOPG(2,NOPG)= XA
  71. PGCOUR.XCOPG(3,NOPG)= XB
  72. PGCOUR.XPOPG(NOPG)=POIDS
  73. NOPG=NOPG+1
  74. PGCOUR.XCOPG(1,NOPG)= XA
  75. PGCOUR.XCOPG(2,NOPG)= XB
  76. PGCOUR.XCOPG(3,NOPG)= XA
  77. PGCOUR.XPOPG(NOPG)=POIDS
  78. NOPG=NOPG+1
  79. PGCOUR.XCOPG(1,NOPG)= XA
  80. PGCOUR.XCOPG(2,NOPG)= XB
  81. PGCOUR.XCOPG(3,NOPG)= XB
  82. PGCOUR.XPOPG(NOPG)=POIDS
  83. * (b,a,b,a) ; (b,b,a,a) ; (b,a,a,b)
  84. NOPG=NOPG+1
  85. PGCOUR.XCOPG(1,NOPG)= XB
  86. PGCOUR.XCOPG(2,NOPG)= XA
  87. PGCOUR.XCOPG(3,NOPG)= XB
  88. PGCOUR.XPOPG(NOPG)=POIDS
  89. NOPG=NOPG+1
  90. PGCOUR.XCOPG(1,NOPG)= XB
  91. PGCOUR.XCOPG(2,NOPG)= XB
  92. PGCOUR.XCOPG(3,NOPG)= XA
  93. PGCOUR.XPOPG(NOPG)=POIDS
  94. NOPG=NOPG+1
  95. PGCOUR.XCOPG(1,NOPG)= XB
  96. PGCOUR.XCOPG(2,NOPG)= XA
  97. PGCOUR.XCOPG(3,NOPG)= XA
  98. PGCOUR.XPOPG(NOPG)=POIDS
  99. *
  100. * Normal termination
  101. *
  102. IRET=0
  103. RETURN
  104. *
  105. * Format handling
  106. *
  107. *
  108. * Error handling
  109. *
  110. 9999 CONTINUE
  111. IRET=1
  112. WRITE(IOIMP,*) 'An error was detected in subroutine gt3fs9'
  113. RETURN
  114. *
  115. * End of subroutine GT3FS9
  116. *
  117. END
  118.  
  119.  
  120.  
  121.  
  122.  

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