elgaus
C ELGAUS SOURCE CHAT 05/01/12 23:33:00 5004 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 COSD1(3),COSD2(3) ENDSEGMENT SEGMENT SGAUSS REAL*8 XGAUSS(3,NBPGAU) REAL*8 DX(NBPGAU) ENDSEGMENT * NBPGAU=DX(/1) NBNN=XE(/2) 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 * * 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 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
© Cast3M 2003 - Tous droits réservés.
Mentions légales