1 : C GCROIN SOURCE GOUNAND 05/12/21 21:26:18 5281 2 : SUBROUTINE GCROIN(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 : GCROIN 8 : C PROJET : Noyau linéaire NLIN 9 : C DESCRIPTION : Rajoute un point et ses images par rotation centrale de 10 : C 90-180-270 degrés (en dimension 2) 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 [ Rotational invariant ]. 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 : -INC CCOPTIO 38 : CBEGININCLUDE SPOGAU 39 : SEGMENT POGAU 40 : CHARACTER*(LNNPG) NOMPG 41 : CHARACTER*(LNTPG) TYPMPG 42 : CHARACTER*(LNFPG) FORLPG 43 : INTEGER NORDPG 44 : REAL*8 XCOPG(NDLPG,NBPG) 45 : REAL*8 XPOPG(NBPG) 46 : ENDSEGMENT 47 : SEGMENT POGAUS 48 : POINTEUR LISPG(0).POGAU 49 : ENDSEGMENT 50 : CENDINCLUDE SPOGAU 51 : POINTEUR PGCOUR.POGAU 52 : * 53 : INTEGER NOPG,DIMSRF 54 : REAL*8 XCOR(DIMSRF) 55 : REAL*8 POIDS 56 : INTEGER IMPR,IRET 57 : * 58 : * Executable statements 59 : * 60 : IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans gcroin' 61 : IF (DIMSRF.NE.2) THEN 62 : WRITE(IOIMP,*) 'DIMSRF doit etre égal à 2...' 63 : GOTO 9999 64 : ENDIF 65 : * 66 : * On ajoute le point... 67 : * 68 : NOPG=NOPG+1 69 : PGCOUR.XCOPG(1,NOPG)= XCOR(1) 70 : PGCOUR.XCOPG(2,NOPG)= XCOR(2) 71 : PGCOUR.XPOPG(NOPG)=POIDS 72 : * 73 : * ...et ses images par rotation centrale de 90° 74 : * 75 : NOPG=NOPG+1 76 : PGCOUR.XCOPG(1,NOPG)=-XCOR(1) 77 : PGCOUR.XCOPG(2,NOPG)=-XCOR(2) 78 : PGCOUR.XPOPG(NOPG)=POIDS 79 : NOPG=NOPG+1 80 : PGCOUR.XCOPG(1,NOPG)=-XCOR(2) 81 : PGCOUR.XCOPG(2,NOPG)= XCOR(1) 82 : PGCOUR.XPOPG(NOPG)=POIDS 83 : NOPG=NOPG+1 84 : PGCOUR.XCOPG(1,NOPG)= XCOR(2) 85 : PGCOUR.XCOPG(2,NOPG)=-XCOR(1) 86 : PGCOUR.XPOPG(NOPG)=POIDS 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 gcroin' 101 : RETURN 102 : * 103 : * End of subroutine GCROIN 104 : * 105 : END 106 : 107 : 108 :
© Cast3M 2003 - All rights reserved.
Disclaimer