Download gcfs2.eso

Back to the list

   1 : C GCFS2     SOURCE    GOUNAND   05/12/21    21:24:27     5281           
   2 :       SUBROUTINE GCFS2(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         : GCFS2
   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 [ Fully symmetric region ]
  12 : C                       i.e. segment, carré et cube pour nous.
  13 : C               Générateur de type [ Fully symmetric ].
  14 : C               Rule structure of index 2 i.e.
  15 : C               XCOR=(a,0,...,0)
  16 : C
  17 : C               le nombre de points générés est 2*DIMSRF :
  18 : C               (a,0,...,0), (-a,0,...,0)
  19 : C               (0,a,...,0), (0,-a,...,0) et les autres permutations
  20 : C
  21 : C LANGAGE     : ESOPE
  22 : C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  23 : C               mél : gounand@semt2.smts.cea.fr
  24 : C***********************************************************************
  25 : C APPELES          : -
  26 : C APPELE PAR       : INGACU
  27 : C***********************************************************************
  28 : C ENTREES            : DIMSRF, XCOR, POIDS
  29 : C ENTREES/SORTIES    : PGCOUR (actif en *MOD), NOPG
  30 : C SORTIES            : MYPGS
  31 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  32 : C***********************************************************************
  33 : C VERSION    : v1, 20/10/99, version initiale
  34 : C HISTORIQUE : v1, 20/10/99, création
  35 : C HISTORIQUE :
  36 : C HISTORIQUE :
  37 : C***********************************************************************
  38 : C Prière de PRENDRE LE TEMPS de compléter les commentaires
  39 : C en cas de modification de ce sous-programme afin de faciliter
  40 : C la maintenance !
  41 : C***********************************************************************
  42 : -INC CCOPTIO
  43 : CBEGININCLUDE SPOGAU
  44 :       SEGMENT POGAU
  45 :       CHARACTER*(LNNPG)  NOMPG
  46 :       CHARACTER*(LNTPG)  TYPMPG
  47 :       CHARACTER*(LNFPG)  FORLPG
  48 :       INTEGER NORDPG
  49 :       REAL*8 XCOPG(NDLPG,NBPG)
  50 :       REAL*8 XPOPG(NBPG)
  51 :       ENDSEGMENT
  52 :       SEGMENT POGAUS
  53 :       POINTEUR LISPG(0).POGAU
  54 :       ENDSEGMENT
  55 : CENDINCLUDE SPOGAU
  56 :       POINTEUR PGCOUR.POGAU
  57 : *
  58 :       INTEGER NOPG,DIMSRF
  59 :       REAL*8 XCOR(DIMSRF)
  60 :       REAL*8 POIDS
  61 :       INTEGER IMPR,IRET
  62 : *
  63 :       INTEGER IPERM,ISIGN,ICOOP
  64 : *     
  65 : * Executable statements
  66 : *
  67 :       IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans gcfs2'
  68 : *
  69 : * Boucle sur les permutations
  70 :       DO 1 IPERM=1,DIMSRF
  71 : * Boucle sur le signe
  72 :          DO 12 ISIGN=1,2
  73 :             NOPG=NOPG+1
  74 : * Boucle sur les coordonnées du point
  75 :             DO 122 ICOOP=1,DIMSRF
  76 :                IF (ICOOP.EQ.IPERM) THEN
  77 :                   PGCOUR.XCOPG(ICOOP,NOPG)=
  78 :      $                 DBLE((-1)**ISIGN)
  79 :      $                 *XCOR(1)
  80 :                ELSE
  81 :                   PGCOUR.XCOPG(ICOOP,NOPG)=0.D0
  82 :                ENDIF
  83 :  122        CONTINUE
  84 :             PGCOUR.XPOPG(NOPG)=POIDS
  85 :  12      CONTINUE
  86 :  1    CONTINUE
  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 gcfs2'
 101 :       RETURN
 102 : *
 103 : * End of subroutine GCFS2
 104 : *
 105 :       END
 106 : 
 107 :  
 108 :  

© Cast3M 2003 - All rights reserved.
Disclaimer