1 : C DCOGAF SOURCE GOUNAND 06/08/04 21:15:17 5520 2 : SUBROUTINE DCOGAF(JCOEFF,JDFFPG,SSFACT,NBELEF, 3 : $ JDCOFG, 4 : $ IMPR,IRET) 5 : IMPLICIT REAL*8 (A-H,O-Z) 6 : IMPLICIT INTEGER (I-N) 7 : C*********************************************************************** 8 : C NOM : DCOGAF 9 : C PROJET : Noyau linéaire NLIN 10 : C DESCRIPTION : 11 : C 12 : C 13 : C LANGAGE : ESOPE 14 : C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF) 15 : C mél : gounand@semt2.smts.cea.fr 16 : C*********************************************************************** 17 : C APPELES : 18 : C APPELE PAR : 19 : C*********************************************************************** 20 : C ENTREES : 21 : C 22 : C ENTREES/SORTIES : - 23 : C SORTIES : 24 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé 25 : C*********************************************************************** 26 : C VERSION : v1, 03/10/03, version initiale 27 : C HISTORIQUE : v1, 03/10/03, création 28 : C HISTORIQUE : 29 : C HISTORIQUE : 30 : C*********************************************************************** 31 : C Prière de PRENDRE LE TEMPS de compléter les commentaires 32 : C en cas de modification de ce sous-programme afin de faciliter 33 : C la maintenance ! 34 : C*********************************************************************** 35 : -INC CCOPTIO 36 : CBEGININCLUDE SFACTIV 37 : SEGMENT FACTIV 38 : POINTEUR IFACTI(NBSOUV).SFACTI 39 : ENDSEGMENT 40 : SEGMENT SFACTI 41 : POINTEUR ISFACT(NBSOFV).SSFACT 42 : ENDSEGMENT 43 : SEGMENT SSFACT 44 : LOGICAL LFACTI(NBELFV,NBELEV) 45 : ENDSEGMENT 46 : CENDINCLUDE SFACTIV 47 : CBEGININCLUDE SMCHAEL 48 : SEGMENT MCHAEL 49 : POINTEUR IMACHE(N1).MELEME 50 : POINTEUR ICHEVA(N1).MCHEVA 51 : ENDSEGMENT 52 : SEGMENT MCHEVA 53 : REAL*8 VELCHE(NBLIG,NBCOL,N2LIG,N2COL,NBPOI,NBELM) 54 : ENDSEGMENT 55 : SEGMENT LCHEVA 56 : POINTEUR LISCHE(NBCHE).MCHEVA 57 : ENDSEGMENT 58 : CENDINCLUDE SMCHAEL 59 : INTEGER NBLIG,NBCOL,N2LIG,N2COL,NBPOI,NBELM 60 : POINTEUR JCOEFF.MCHEVA 61 : POINTEUR JDCOFG.MCHEVA 62 : * Valeurs des fns d'interpolation du coeff. aux points de Gauss 63 : POINTEUR JDFFPG.MCHEVA 64 : * 65 : INTEGER IMPR,IRET 66 : * 67 : * Executable statements 68 : * 69 : IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans dcogaf' 70 : IESREL=IDIM 71 : SEGACT SSFACT 72 : NBELFV=SSFACT.LFACTI(/1) 73 : NBELEV=SSFACT.LFACTI(/2) 74 : SEGACT JCOEFF 75 : NDLIG =JCOEFF.VELCHE(/1) 76 : NDCOL =JCOEFF.VELCHE(/2) 77 : N2DLIG=JCOEFF.VELCHE(/3) 78 : N2DCOL=JCOEFF.VELCHE(/4) 79 : NDNOEU=JCOEFF.VELCHE(/5) 80 : NBELEM=JCOEFF.VELCHE(/6) 81 : IF (NDLIG.NE.1.OR.N2DLIG.NE.1.OR.N2DCOL.NE.1 82 : $ .OR.NDNOEU.NE.1 83 : $ .OR.(NBELEM.NE.1.AND.NBELEM.NE.NBELEV)) THEN 84 : WRITE(IOIMP,*) 'Erreur dims JCOEFF' 85 : GOTO 9999 86 : ENDIF 87 : NDDL=NDCOL 88 : NLVCOF=NBELEM 89 : SEGACT JDFFPG 90 : NDLIG =JDFFPG.VELCHE(/1) 91 : NDCOL =JDFFPG.VELCHE(/2) 92 : N2DLIG=JDFFPG.VELCHE(/3) 93 : N2DCOL=JDFFPG.VELCHE(/4) 94 : NDNOEU=JDFFPG.VELCHE(/5) 95 : NBELEM=JDFFPG.VELCHE(/6) 96 : IF (NDLIG.NE.1.OR.NDCOL.NE.NDDL 97 : $ .OR.N2DLIG.NE.1.OR.N2DCOL.NE.IESREL 98 : $ .OR.NBELEM.NE.NBELEF) THEN 99 : WRITE(IOIMP,*) 'Erreur dims JDFFPG' 100 : GOTO 9999 101 : ENDIF 102 : NBPOGO=NDNOEU 103 : * 104 : * Initialisations... 105 : * 106 : NBLIG=1 107 : NBCOL=1 108 : N2LIG=1 109 : N2COL=IESREL 110 : NBPOI=NBPOGO 111 : NBELM=NBELEF 112 : SEGINI JDCOFG 113 : * 114 : * On effectue le calcul du coefficient aux points de Gauss 115 : * 115 : CALL DCOGF1(NDDL,IESREL,NBPOGO,NBELEV,NBELFV,NBELEF, 116 : $ NLVCOF, 117 : $ JCOEFF.VELCHE,JDFFPG.VELCHE,SSFACT.LFACTI, 118 : $ JDCOFG.VELCHE, 119 : $ IMPR,IRET) 120 : IF (IRET.NE.0) GOTO 9999 121 : SEGDES JDCOFG 122 : SEGDES SSFACT 123 : SEGDES JCOEFF 124 : SEGDES JDFFPG 125 : * 126 : * Normal termination 127 : * 128 : IRET=0 129 : RETURN 130 : * 131 : * Format handling 132 : * 133 : * 134 : * Error handling 135 : * 136 : 9999 CONTINUE 137 : IRET=1 138 : WRITE(IOIMP,*) 'An error was detected in subroutine dcogaf' 139 : RETURN 140 : * 141 : * End of subroutine DCOGAF 142 : * 143 : END 144 : 145 :
© Cast3M 2003 - All rights reserved.
Disclaimer