Télécharger gcpasy.eso

Retour à la liste

Numérotation des lignes :

  1. C GCPASY SOURCE GOUNAND 05/12/21 21:24:56 5281
  2. SUBROUTINE GCPASY(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 : GCPASY
  8. C PROJET : Noyau linéaire NLIN
  9. C DESCRIPTION : Rajoute un point et son image par une symétrie par
  10. C rapport à l'axe des x en 2D 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 [ Partial symmetry ].
  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.  
  38. -INC PPARAM
  39. -INC CCOPTIO
  40. CBEGININCLUDE SPOGAU
  41. SEGMENT POGAU
  42. CHARACTER*(LNNPG) NOMPG
  43. CHARACTER*(LNTPG) TYPMPG
  44. CHARACTER*(LNFPG) FORLPG
  45. INTEGER NORDPG
  46. REAL*8 XCOPG(NDLPG,NBPG)
  47. REAL*8 XPOPG(NBPG)
  48. ENDSEGMENT
  49. SEGMENT POGAUS
  50. POINTEUR LISPG(0).POGAU
  51. ENDSEGMENT
  52. CENDINCLUDE SPOGAU
  53. POINTEUR PGCOUR.POGAU
  54. *
  55. INTEGER NOPG,DIMSRF
  56. REAL*8 XCOR(DIMSRF)
  57. REAL*8 POIDS
  58. INTEGER IMPR,IRET
  59. *
  60. * Executable statements
  61. *
  62. IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans gcpasy'
  63. IF (DIMSRF.NE.2) THEN
  64. WRITE(IOIMP,*) 'DIMSRF doit etre égal à 2...'
  65. GOTO 9999
  66. ENDIF
  67. *
  68. * On ajoute le point...
  69. *
  70. NOPG=NOPG+1
  71. PGCOUR.XCOPG(1,NOPG)= XCOR(1)
  72. PGCOUR.XCOPG(2,NOPG)= XCOR(2)
  73. PGCOUR.XPOPG(NOPG)=POIDS
  74. *
  75. * ...et son image par la symétrie / à l'axe des x
  76. *
  77. NOPG=NOPG+1
  78. PGCOUR.XCOPG(1,NOPG)= XCOR(1)
  79. PGCOUR.XCOPG(2,NOPG)=-XCOR(2)
  80. PGCOUR.XPOPG(NOPG)=POIDS
  81. *
  82. * Normal termination
  83. *
  84. IRET=0
  85. RETURN
  86. *
  87. * Format handling
  88. *
  89. *
  90. * Error handling
  91. *
  92. 9999 CONTINUE
  93. IRET=1
  94. WRITE(IOIMP,*) 'An error was detected in subroutine gcpasy'
  95. RETURN
  96. *
  97. * End of subroutine GCPASY
  98. *
  99. END
  100.  
  101.  
  102.  
  103.  

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