Download gtro3i.eso

Back to the list

   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 : -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+1)
  57 :       REAL*8 POIDS
  58 :       INTEGER IMPR,IRET
  59 : *
  60 :       INTEGER ICOOR ,ITOT
  61 :       INTEGER NOCOOR,NTOT
  62 : *     
  63 : * Executable statements
  64 : *
  65 :       IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans gtro3i'
  66 : *
  67 : * On ajoute le point
  68 :       NTOT=DIMSRF+1
  69 :       DO 1 ITOT=1,NTOT
  70 :          NOPG=NOPG+1
  71 :          DO 12 ICOOR=1,DIMSRF
  72 :             NOCOOR=MOD((ICOOR+ITOT-1),NTOT)+1
  73 :             PGCOUR.XCOPG(ICOOR,NOPG)=XCOR(NOCOOR)
  74 :  12      CONTINUE
  75 :          PGCOUR.XPOPG(NOPG)=POIDS
  76 :  1    CONTINUE
  77 : *
  78 : * Normal termination
  79 : *
  80 :       IRET=0
  81 :       RETURN
  82 : *
  83 : * Format handling
  84 : *
  85 : *
  86 : * Error handling
  87 : *
  88 :  9999 CONTINUE
  89 :       IRET=1
  90 :       WRITE(IOIMP,*) 'An error was detected in subroutine gtro3i'
  91 :       RETURN
  92 : *
  93 : * End of subroutine GTRO3I
  94 : *
  95 :       END
  96 : 
  97 :  
  98 :  

© Cast3M 2003 - All rights reserved.
Disclaimer