Télécharger gcresy.eso

Retour à la liste

Numérotation des lignes :

gcresy
  1. C GCRESY SOURCE GOUNAND 21/06/02 21:16:04 11022
  2. SUBROUTINE GCRESY(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 : GCRESY
  8. C PROJET : Noyau linéaire NLIN
  9. C DESCRIPTION : Si on a un point (x1,x2,..,xn), on ajoute les points
  10. C (+-x1,+-x2,...+-xn) dans une méthode d'intégration type
  11. C Gauss (PGCOUR).
  12. C Il y en a 2^n et ils sont distincts si aucun des xi
  13. C n'est nul.
  14. C Domaine de type [ Fully symmetric region ]
  15. C i.e. segment, carré et cube pour nous.
  16. C Générateur de type [ Rectangular symmetry ].
  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 : INGAQU, INGACU
  24. C***********************************************************************
  25. C ENTREES : DIMSRF, XCOR, POIDS
  26. C ENTREES/SORTIES : PGCOUR (actif en *MOD), NOPG
  27. C SORTIES : MYPGS
  28. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  29. C***********************************************************************
  30. C VERSION : v1, 20/10/99, version initiale
  31. C HISTORIQUE : v1, 20/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. -INC TNLIN
  43. *-INC SPOGAU
  44. POINTEUR PGCOUR.POGAU
  45. *
  46. INTEGER NOPG,DIMSRF
  47. REAL*8 XCOR(DIMSRF)
  48. REAL*8 POIDS
  49. INTEGER IMPR,IRET
  50. *
  51. INTEGER ICOOR,ITOT
  52. INTEGER ICOEFI,NTOT
  53. *
  54. * Executable statements
  55. *
  56. IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans gcresy'
  57. NTOT=2**DIMSRF
  58. DO 1 ITOT=1,NTOT
  59. NOPG=NOPG+1
  60. DO 3 ICOOR=1,DIMSRF
  61. * Formule magique !
  62. ICOEFI=(-1)**((ITOT-1)/(2**(ICOOR-1)))
  63. PGCOUR.XCOPG(ICOOR,NOPG)=DBLE(ICOEFI)*XCOR(ICOOR)
  64. 3 CONTINUE
  65. PGCOUR.XPOPG(NOPG)=POIDS
  66. 1 CONTINUE
  67. *
  68. * Normal termination
  69. *
  70. IRET=0
  71. RETURN
  72. *
  73. * Format handling
  74. *
  75. *
  76. * Error handling
  77. *
  78. 9999 CONTINUE
  79. IRET=1
  80. WRITE(IOIMP,*) 'An error was detected in subroutine gcresy'
  81. RETURN
  82. *
  83. * End of subroutine GCRESY
  84. *
  85. END
  86.  
  87.  
  88.  
  89.  
  90.  

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