1 : C ELGAUS SOURCE CHAT 05/01/12 23:33:00 5004 2 : SUBROUTINE ELGAUS(MINTE,MMAT1,SGAUSS,IFOIS,IFOI2) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : -INC CCREEL 6 : -INC SMINTE 7 : 8 : SEGMENT MMAT1 9 : REAL*8 VALMAT(NMATR) 10 : REAL*8 XE(3,NBNN),XE1(3,NBNN) 11 : REAL*8 SHP(6,NBNN),GRAD(NDIM,NBNN,NBPGAU) 12 : REAL*8 COSD1(3),COSD2(3) 13 : ENDSEGMENT 14 : SEGMENT SGAUSS 15 : REAL*8 XGAUSS(3,NBPGAU) 16 : REAL*8 DX(NBPGAU) 17 : ENDSEGMENT 18 : * 19 : NBPGAU=DX(/1) 20 : NBNN=XE(/2) 21 : NDIM=GRAD(/1) 22 : IDIM=NDIM 23 : NDIM2=IDIM-1 24 : IFOIS=0 25 : IFOI2=0 26 : DO 20 IGAU=1,NBPGAU 27 : * 28 : * CALCUL DE LA MATRICE GRADIENT DES FONCTIONS DE FORME ET 29 : * DU JACOBIEN(DANS LE PLAN), EN UN POINT DE GAUSS 30 : * 31 : DO 90 NP=1,NBNN 32 : DO 90 I=1,IDIM 33 : SHP(I,NP)=SHPTOT(I,NP,IGAU) 34 : 90 CONTINUE 35 : * COORDONNEES GLOBALES DU POINT DE GAUSS DANS 36 : * L'ELEMENT COURANT 37 : DO 70 I=1,IDIM 38 : XGAUSS(I,IGAU)=0. 39 : DO 70 NP=1,NBNN 40 : XGAUSS(I,IGAU)=XGAUSS(I,IGAU)+XE(I,NP)*SHP(1,NP) 41 : 70 CONTINUE 42 : * 43 : * DERIVES DES FONCTIONS DE FORME DANS LA GEOMETRIE REELLE 44 : * LOCALE (2D) ET LE JACOBIEN 44 : CALL JACOBI(XE1,SHP,NDIM2,NBNN,DJAC) 45 : * 46 : * ON FAIT TOURNER LE GRADIENT DE -PI/2 DANS LE REPERE LOCAL 47 : * POUR ETRE PARALLELE AU COTE OPPOSE AU SOMMET 48 : DO 60 NP=1,NBNN 49 : XG=SHP(2,NP) 50 : YG=SHP(3,NP) 51 : SHP(2,NP)=YG 52 : SHP(3,NP)=-XG 53 : 60 CONTINUE 54 : * 55 : * ON REVIENT DANS LE REPERE GLOBAL 3D 56 : DO 100 NP=1,NBNN 57 : DO 100 I= 1,IDIM 58 : GRAD(I,NP,IGAU)=SHP(2,NP)*COSD1(I)+SHP(3,NP)*COSD2(I) 59 : 100 CONTINUE 60 : * 61 : IF(DJAC.LT.XZERO)IFOIS=IFOIS+1 62 : IF(ABS(DJAC).LT.XPETIT)IFOI2=IFOI2 +1 63 : * 64 : * ON MULTIPLIE LE JACOBIEN PAR LE POIDS D'INTEGRATION,POUR LE 65 : * POINT DE GAUSS CONSIDERE 66 : * 67 : DJAC=ABS(DJAC)*POIGAU(IGAU) 68 : DX(IGAU)=DJAC 69 : * 70 : 20 CONTINUE 71 : RETURN 72 : END 73 : 74 : 75 : 76 :
© Cast3M 2003 - All rights reserved.
Disclaimer