gt3fs9
C GT3FS9 SOURCE GOUNAND 21/06/02 21:16:20 11022 $ IMPR,IRET) IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER (I-N) C*********************************************************************** C NOM : GT3FS9 C PROJET : Noyau linéaire NLIN C DESCRIPTION : Rajoute des points à une méthode d'intégration type C Gauss (PGCOUR). C Domaine de type [ Simplex ] de dimension 3 C i.e. tétrahèdre. C Générateur de type [ Fully symmetric ]. C Rule structure of index 9 i.e. C XCOR=(a,a,b,b) C XCOR=xi sont les coordonnées barycentriques... C C le nombre de points générés est 6 (car le nombre de C permutations distinctes de (a,a,b,b) est 4!/(2!2!) : C (a,a,b,b) ; (a,b,a,b) ; (a,b,b,a) C (b,a,b,a) ; (b,b,a,a) ; (b,a,a,b) C C LANGAGE : ESOPE C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF) C mél : gounand@semt2.smts.cea.fr C*********************************************************************** C APPELES : - C APPELE PAR : INGATE C*********************************************************************** C ENTREES : DIMSRF, XCOR, POIDS C ENTREES/SORTIES : PGCOUR (actif en *MOD), NOPG C SORTIES : MYPGS C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 20/10/99, version initiale C HISTORIQUE : v1, 20/10/99, création C HISTORIQUE : C HISTORIQUE : C*********************************************************************** C Prière de PRENDRE LE TEMPS de compléter les commentaires C en cas de modification de ce sous-programme afin de faciliter C la maintenance ! C*********************************************************************** -INC PPARAM -INC CCOPTIO -INC TNLIN *-INC SPOGAU POINTEUR PGCOUR.POGAU * INTEGER NOPG,DIMSRF REAL*8 XCOR(DIMSRF+1) REAL*8 POIDS INTEGER IMPR,IRET * REAL*8 XA,XB * * Executable statements * IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans gt3fs9' IF (DIMSRF.NE.3) THEN WRITE(IOIMP,*) 'DIMSRF doit etre égal à 3...' GOTO 9999 ENDIF XA=XCOR(1) XB=XCOR(3) * (a,a,b,b) ; (a,b,a,b) ; (a,b,b,a) NOPG=NOPG+1 PGCOUR.XCOPG(1,NOPG)= XA PGCOUR.XCOPG(2,NOPG)= XA PGCOUR.XCOPG(3,NOPG)= XB PGCOUR.XPOPG(NOPG)=POIDS NOPG=NOPG+1 PGCOUR.XCOPG(1,NOPG)= XA PGCOUR.XCOPG(2,NOPG)= XB PGCOUR.XCOPG(3,NOPG)= XA PGCOUR.XPOPG(NOPG)=POIDS NOPG=NOPG+1 PGCOUR.XCOPG(1,NOPG)= XA PGCOUR.XCOPG(2,NOPG)= XB PGCOUR.XCOPG(3,NOPG)= XB PGCOUR.XPOPG(NOPG)=POIDS * (b,a,b,a) ; (b,b,a,a) ; (b,a,a,b) NOPG=NOPG+1 PGCOUR.XCOPG(1,NOPG)= XB PGCOUR.XCOPG(2,NOPG)= XA PGCOUR.XCOPG(3,NOPG)= XB PGCOUR.XPOPG(NOPG)=POIDS NOPG=NOPG+1 PGCOUR.XCOPG(1,NOPG)= XB PGCOUR.XCOPG(2,NOPG)= XB PGCOUR.XCOPG(3,NOPG)= XA PGCOUR.XPOPG(NOPG)=POIDS NOPG=NOPG+1 PGCOUR.XCOPG(1,NOPG)= XB PGCOUR.XCOPG(2,NOPG)= XA PGCOUR.XCOPG(3,NOPG)= XA PGCOUR.XPOPG(NOPG)=POIDS * * Normal termination * IRET=0 RETURN * * Format handling * * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine gt3fs9' RETURN * * End of subroutine GT3FS9 * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales