Download gt3f10.eso

Back to the list

   1 : C GT3F10    SOURCE    GOUNAND   05/12/21    21:28:52     5281           
   2 :       SUBROUTINE GT3F10(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         : GT3F10
   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 [ Simplex ] de dimension 3
  12 : C                       i.e. tétrahèdre.
  13 : C               Générateur de type [ Fully symmetric ].
  14 : C               Rule structure of index 10 i.e.
  15 : C               XCOR=(a,a,b,c)
  16 : C  XCOR=xi sont les coordonnées barycentriques...
  17 : C
  18 : C               le nombre de points générés est 12 (car le nombre de
  19 : C               permutations distinctes de (a,a,b,c) est 4!/2! :
  20 : C               (a,a,b,c) ; (a,b,a,c) ; (a,b,c,a)
  21 : C               (b,a,c,a) ; (b,c,a,a) ; (b,a,a,c)
  22 : C               (a,a,c,b) ; (a,c,a,b) ; (a,c,b,a)
  23 : C               (c,a,b,a) ; (c,b,a,a) ; (c,a,a,b)
  24 : C
  25 : C LANGAGE     : ESOPE
  26 : C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  27 : C               mél : gounand@semt2.smts.cea.fr
  28 : C***********************************************************************
  29 : C APPELES          : -
  30 : C APPELE PAR       : INGATE
  31 : C***********************************************************************
  32 : C ENTREES            : DIMSRF, XCOR, POIDS
  33 : C ENTREES/SORTIES    : PGCOUR (actif en *MOD), NOPG
  34 : C SORTIES            : MYPGS
  35 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  36 : C***********************************************************************
  37 : C VERSION    : v1, 29/05/00, version initiale
  38 : C HISTORIQUE : v1, 29/05/00, création
  39 : C HISTORIQUE :
  40 : C HISTORIQUE :
  41 : C***********************************************************************
  42 : C Prière de PRENDRE LE TEMPS de compléter les commentaires
  43 : C en cas de modification de ce sous-programme afin de faciliter
  44 : C la maintenance !
  45 : C***********************************************************************
  46 : -INC CCOPTIO
  47 : CBEGININCLUDE SPOGAU
  48 :       SEGMENT POGAU
  49 :       CHARACTER*(LNNPG)  NOMPG
  50 :       CHARACTER*(LNTPG)  TYPMPG
  51 :       CHARACTER*(LNFPG)  FORLPG
  52 :       INTEGER NORDPG
  53 :       REAL*8 XCOPG(NDLPG,NBPG)
  54 :       REAL*8 XPOPG(NBPG)
  55 :       ENDSEGMENT
  56 :       SEGMENT POGAUS
  57 :       POINTEUR LISPG(0).POGAU
  58 :       ENDSEGMENT
  59 : CENDINCLUDE SPOGAU
  60 :       POINTEUR PGCOUR.POGAU
  61 : *
  62 :       INTEGER NOPG,DIMSRF
  63 :       REAL*8 XCOR(DIMSRF+1)
  64 :       REAL*8 POIDS
  65 :       INTEGER IMPR,IRET
  66 : *
  67 :       REAL*8 XA,XB,XC
  68 : *     
  69 : * Executable statements
  70 : *
  71 :       IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans gt3f10'
  72 :       IF (DIMSRF.NE.3) THEN
  73 :          WRITE(IOIMP,*) 'DIMSRF doit etre égal à 3...'
  74 :          GOTO 9999
  75 :       ENDIF
  76 :       XA=XCOR(1)
  77 :       XB=XCOR(3)
  78 :       XC=XCOR(4)
  79 : *               (a,a,b,c) ; (a,b,a,c) ; (a,b,c,a)
  80 :       NOPG=NOPG+1
  81 :       PGCOUR.XCOPG(1,NOPG)= XA
  82 :       PGCOUR.XCOPG(2,NOPG)= XA
  83 :       PGCOUR.XCOPG(3,NOPG)= XB
  84 :       PGCOUR.XPOPG(NOPG)=POIDS
  85 :       NOPG=NOPG+1
  86 :       PGCOUR.XCOPG(1,NOPG)= XA
  87 :       PGCOUR.XCOPG(2,NOPG)= XB
  88 :       PGCOUR.XCOPG(3,NOPG)= XA
  89 :       PGCOUR.XPOPG(NOPG)=POIDS
  90 :       NOPG=NOPG+1
  91 :       PGCOUR.XCOPG(1,NOPG)= XA
  92 :       PGCOUR.XCOPG(2,NOPG)= XB
  93 :       PGCOUR.XCOPG(3,NOPG)= XC
  94 :       PGCOUR.XPOPG(NOPG)=POIDS
  95 : *               (b,a,c,a) ; (b,c,a,a) ; (b,a,a,c)
  96 :       NOPG=NOPG+1
  97 :       PGCOUR.XCOPG(1,NOPG)= XB
  98 :       PGCOUR.XCOPG(2,NOPG)= XA
  99 :       PGCOUR.XCOPG(3,NOPG)= XC
 100 :       PGCOUR.XPOPG(NOPG)=POIDS
 101 :       NOPG=NOPG+1
 102 :       PGCOUR.XCOPG(1,NOPG)= XB
 103 :       PGCOUR.XCOPG(2,NOPG)= XC
 104 :       PGCOUR.XCOPG(3,NOPG)= XA
 105 :       PGCOUR.XPOPG(NOPG)=POIDS
 106 :       NOPG=NOPG+1
 107 :       PGCOUR.XCOPG(1,NOPG)= XB
 108 :       PGCOUR.XCOPG(2,NOPG)= XA
 109 :       PGCOUR.XCOPG(3,NOPG)= XA
 110 :       PGCOUR.XPOPG(NOPG)=POIDS
 111 : C               (a,a,c,b) ; (a,c,a,b) ; (a,c,b,a)
 112 :       NOPG=NOPG+1
 113 :       PGCOUR.XCOPG(1,NOPG)= XA
 114 :       PGCOUR.XCOPG(2,NOPG)= XA
 115 :       PGCOUR.XCOPG(3,NOPG)= XC
 116 :       PGCOUR.XPOPG(NOPG)=POIDS
 117 :       NOPG=NOPG+1
 118 :       PGCOUR.XCOPG(1,NOPG)= XA
 119 :       PGCOUR.XCOPG(2,NOPG)= XC
 120 :       PGCOUR.XCOPG(3,NOPG)= XA
 121 :       PGCOUR.XPOPG(NOPG)=POIDS
 122 :       NOPG=NOPG+1
 123 :       PGCOUR.XCOPG(1,NOPG)= XA
 124 :       PGCOUR.XCOPG(2,NOPG)= XC
 125 :       PGCOUR.XCOPG(3,NOPG)= XB
 126 :       PGCOUR.XPOPG(NOPG)=POIDS
 127 : C               (c,a,b,a) ; (c,b,a,a) ; (c,a,a,b)
 128 :       NOPG=NOPG+1
 129 :       PGCOUR.XCOPG(1,NOPG)= XC
 130 :       PGCOUR.XCOPG(2,NOPG)= XA
 131 :       PGCOUR.XCOPG(3,NOPG)= XB
 132 :       PGCOUR.XPOPG(NOPG)=POIDS
 133 :       NOPG=NOPG+1
 134 :       PGCOUR.XCOPG(1,NOPG)= XC
 135 :       PGCOUR.XCOPG(2,NOPG)= XB
 136 :       PGCOUR.XCOPG(3,NOPG)= XA
 137 :       PGCOUR.XPOPG(NOPG)=POIDS
 138 :       NOPG=NOPG+1
 139 :       PGCOUR.XCOPG(1,NOPG)= XC
 140 :       PGCOUR.XCOPG(2,NOPG)= XA
 141 :       PGCOUR.XCOPG(3,NOPG)= XA
 142 :       PGCOUR.XPOPG(NOPG)=POIDS
 143 : *
 144 : * Normal termination
 145 : *
 146 :       IRET=0
 147 :       RETURN
 148 : *
 149 : * Format handling
 150 : *
 151 : *
 152 : * Error handling
 153 : *
 154 :  9999 CONTINUE
 155 :       IRET=1
 156 :       WRITE(IOIMP,*) 'An error was detected in subroutine gt3f10'
 157 :       RETURN
 158 : *
 159 : * End of subroutine GT3F10
 160 : *
 161 :       END
 162 : 
 163 :  
 164 :  

© Cast3M 2003 - All rights reserved.
Disclaimer