Télécharger gcroin.eso

Retour à la liste

Numérotation des lignes :

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

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