C ELGAUS SOURCE CHAT 05/01/12 23:33:00 5004 SUBROUTINE ELGAUS(MINTE,MMAT1,SGAUSS,IFOIS,IFOI2) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC CCREEL -INC SMINTE SEGMENT MMAT1 REAL*8 VALMAT(NMATR) REAL*8 XE(3,NBNN),XE1(3,NBNN) REAL*8 SHP(6,NBNN),GRAD(NDIM,NBNN,NBPGAU) REAL*8 COSD1(3),COSD2(3) ENDSEGMENT SEGMENT SGAUSS REAL*8 XGAUSS(3,NBPGAU) REAL*8 DX(NBPGAU) ENDSEGMENT * NBPGAU=DX(/1) NBNN=XE(/2) NDIM=GRAD(/1) IDIM=NDIM NDIM2=IDIM-1 IFOIS=0 IFOI2=0 DO 20 IGAU=1,NBPGAU * * CALCUL DE LA MATRICE GRADIENT DES FONCTIONS DE FORME ET * DU JACOBIEN(DANS LE PLAN), EN UN POINT DE GAUSS * DO 90 NP=1,NBNN DO 90 I=1,IDIM SHP(I,NP)=SHPTOT(I,NP,IGAU) 90 CONTINUE * COORDONNEES GLOBALES DU POINT DE GAUSS DANS * L'ELEMENT COURANT DO 70 I=1,IDIM XGAUSS(I,IGAU)=0. DO 70 NP=1,NBNN XGAUSS(I,IGAU)=XGAUSS(I,IGAU)+XE(I,NP)*SHP(1,NP) 70 CONTINUE * * DERIVES DES FONCTIONS DE FORME DANS LA GEOMETRIE REELLE * LOCALE (2D) ET LE JACOBIEN CALL JACOBI(XE1,SHP,NDIM2,NBNN,DJAC) * * ON FAIT TOURNER LE GRADIENT DE -PI/2 DANS LE REPERE LOCAL * POUR ETRE PARALLELE AU COTE OPPOSE AU SOMMET DO 60 NP=1,NBNN XG=SHP(2,NP) YG=SHP(3,NP) SHP(2,NP)=YG SHP(3,NP)=-XG 60 CONTINUE * * ON REVIENT DANS LE REPERE GLOBAL 3D DO 100 NP=1,NBNN DO 100 I= 1,IDIM GRAD(I,NP,IGAU)=SHP(2,NP)*COSD1(I)+SHP(3,NP)*COSD2(I) 100 CONTINUE * IF(DJAC.LT.XZERO)IFOIS=IFOIS+1 IF(ABS(DJAC).LT.XPETIT)IFOI2=IFOI2 +1 * * ON MULTIPLIE LE JACOBIEN PAR LE POIDS D'INTEGRATION,POUR LE * POINT DE GAUSS CONSIDERE * DJAC=ABS(DJAC)*POIGAU(IGAU) DX(IGAU)=DJAC * 20 CONTINUE RETURN END