C BGFDST SOURCE CHAT 05/01/12 21:39:30 5004 SUBROUTINE BGFDST(IGAU,XE,NGRAF,QSI, 1 ETA,HS4,HS5,HS6,BGF) * * CALCUL LA MATRICE BGF RELATIVE AUX * EFFETS DE FLEXION * * * ENTREES : * * IGAU :NUMERO DU POINT DE GAUSS * XE :COORDONNEES DES NOEUDS * NGRAF:NOMBRE DE COMPOSANTES DE GRADIENTS * QSI :COORDONNEES QSI DES POINTS DE GAUSS * ETA :COORDONNEES ETA DES POINTS DE GAUSS * HS4,HS5:FONCTIONS QUI RELIENT LES ROTATIONS (BETA)SK A {U} * HS6 * * SORTIES : * * BGF :MATRICE BGF * * * AUTEUR : X.Z. SUO FEVRIER 1996 * ************************************************************************ IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) DIMENSION XE(3,*),QSI(*),ETA(*) DIMENSION HS4(*),HS5(*),HS6(*),BGF(NGRAF,*) DIMENSION SX(3),SY(3),RL(3),EXX(3),EYY(3) DIMENSION HXABS(9),HXORD(9),HYABS(9) DIMENSION HYORD(9),B(4,9) * * MATRICE BGF RELATIVE A L'EFFET DE FLEXION * DO 40 K=4,6 IF(K.EQ.4)THEN IJ=1 I=2 J=3 ELSEIF(K.EQ.5)THEN IJ=2 I=3 J=1 ELSE IJ=3 I=1 J=2 ENDIF SX(IJ)=XE(1,I)-XE(1,J) SY(IJ)=XE(2,I)-XE(2,J) RL(IJ)=SQRT(SX(IJ)*SX(IJ)+SY(IJ)*SY(IJ)) EXX(IJ)=-SX(IJ)/RL(IJ) EYY(IJ)=-SY(IJ)/RL(IJ) 40 CONTINUE AIR=ABS(0.5D0*(SX(1)*SY(2)-SX(2)*SY(1))) * CALL DERIVO(SX,SY,RL,QSI(IGAU),ETA(IGAU),HS4,HS5, 1 HS6,EXX,EYY,HXABS,HXORD,HYABS,HYORD) CALL BGRMAT(SX,SY,HXABS,HYABS,HXORD,HYORD,B) * K=2 KK=0 DO 327 NPOI=1,3 DO 527 IY=1,3 BGF(1,K+IY)=B(1,IY+KK) BGF(2,K+IY)=B(2,IY+KK) BGF(4,K+IY)=B(3,IY+KK) BGF(5,K+IY)=B(4,IY+KK) 527 CONTINUE KK=KK+3 K=K+6 327 CONTINUE * RETURN END