Télécharger gtro3i.eso

Retour à la liste

Numérotation des lignes :

  1. C GTRO3I SOURCE GOUNAND 05/12/21 21:29:16 5281
  2. SUBROUTINE GTRO3I(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 : GTRO3I
  8. C PROJET : Noyau linéaire NLIN
  9. C DESCRIPTION : Rajoute un point (x1, x2, ..., xn) et ses n-1 images
  10. C par permutation cyclique (x2, ... , xn, x1), etc.
  11. C dans une méthode d'intégration type Gauss (PGCOUR).
  12. C Domaine de type [ Simplex ]
  13. C i.e. triangle et tétrahèdre pour nous
  14. C Générateur de type [ Ro3 invariant ].
  15. C
  16. C XCOR=xi sont les coordonnées barycentriques...
  17. C
  18. C LANGAGE : ESOPE
  19. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  20. C mél : gounand@semt2.smts.cea.fr
  21. C***********************************************************************
  22. C APPELES : -
  23. C APPELE PAR : INGATR, INGATE
  24. C***********************************************************************
  25. C ENTREES : DIMSRF, XCOR, POIDS
  26. C ENTREES/SORTIES : PGCOUR (actif en *MOD), NOPG
  27. C SORTIES : -
  28. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  29. C***********************************************************************
  30. C VERSION : v1, 21/10/99, version initiale
  31. C HISTORIQUE : v1, 21/10/99, création
  32. C HISTORIQUE :
  33. C HISTORIQUE :
  34. C***********************************************************************
  35. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  36. C en cas de modification de ce sous-programme afin de faciliter
  37. C la maintenance !
  38. C***********************************************************************
  39.  
  40. -INC PPARAM
  41. -INC CCOPTIO
  42. CBEGININCLUDE SPOGAU
  43. SEGMENT POGAU
  44. CHARACTER*(LNNPG) NOMPG
  45. CHARACTER*(LNTPG) TYPMPG
  46. CHARACTER*(LNFPG) FORLPG
  47. INTEGER NORDPG
  48. REAL*8 XCOPG(NDLPG,NBPG)
  49. REAL*8 XPOPG(NBPG)
  50. ENDSEGMENT
  51. SEGMENT POGAUS
  52. POINTEUR LISPG(0).POGAU
  53. ENDSEGMENT
  54. CENDINCLUDE SPOGAU
  55. POINTEUR PGCOUR.POGAU
  56. *
  57. INTEGER NOPG,DIMSRF
  58. REAL*8 XCOR(DIMSRF+1)
  59. REAL*8 POIDS
  60. INTEGER IMPR,IRET
  61. *
  62. INTEGER ICOOR ,ITOT
  63. INTEGER NOCOOR,NTOT
  64. *
  65. * Executable statements
  66. *
  67. IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans gtro3i'
  68. *
  69. * On ajoute le point
  70. NTOT=DIMSRF+1
  71. DO 1 ITOT=1,NTOT
  72. NOPG=NOPG+1
  73. DO 12 ICOOR=1,DIMSRF
  74. NOCOOR=MOD((ICOOR+ITOT-1),NTOT)+1
  75. PGCOUR.XCOPG(ICOOR,NOPG)=XCOR(NOCOOR)
  76. 12 CONTINUE
  77. PGCOUR.XPOPG(NOPG)=POIDS
  78. 1 CONTINUE
  79. *
  80. * Normal termination
  81. *
  82. IRET=0
  83. RETURN
  84. *
  85. * Format handling
  86. *
  87. *
  88. * Error handling
  89. *
  90. 9999 CONTINUE
  91. IRET=1
  92. WRITE(IOIMP,*) 'An error was detected in subroutine gtro3i'
  93. RETURN
  94. *
  95. * End of subroutine GTRO3I
  96. *
  97. END
  98.  
  99.  
  100.  
  101.  

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