8 & xmul,sf,f,sg,g,x,y,z,ikle1,ikle2,ikle3,nbor,nelem,nelmax)
73 INTEGER,
INTENT(IN) :: NBOR(*),NELEM,NELMAX
74 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax),IKLE3(nelmax)
76 DOUBLE PRECISION,
INTENT(INOUT) :: A11(*),A12(*),A13(*)
77 DOUBLE PRECISION,
INTENT(INOUT) :: A22(*),A23(*)
78 DOUBLE PRECISION,
INTENT(INOUT) :: A33(*)
80 DOUBLE PRECISION,
INTENT(IN) :: XMUL
81 DOUBLE PRECISION,
INTENT(IN) :: F(*),G(*)
84 TYPE(bief_obj),
INTENT(IN) :: SF,SG
86 DOUBLE PRECISION,
INTENT(IN) :: X(*),Y(*),Z(*)
96 INTEGER IELMF,IELMG,I1,I2,I3,IELEM
98 DOUBLE PRECISION SUR60,S,X1,X2,X3,Y1,Y2,Y3,Z1,Z2,Z3,F1,F2,F3,F123
99 DOUBLE PRECISION DET1,DET2
110 IF( (ielmf.EQ.61.OR.ielmf.EQ.81) .AND. ielmg.EQ.80 )
THEN 120 i1 = nbor(ikle1(ielem))
121 i2 = nbor(ikle2(ielem))
122 i3 = nbor(ikle3(ielem))
135 f1 = f(ikle1(ielem)) * g(ielem)
136 f2 = f(ikle2(ielem)) * g(ielem)
137 f3 = f(ikle3(ielem)) * g(ielem)
142 s=0.5d0*sqrt( (y2*z3-y3*z2)**2
144 & +(x2*y3-x3*y2)**2 )
153 a12(ielem) = det1 * (f123+f123-f3)
154 a13(ielem) = det1 * (f123+f123-f2)
155 a23(ielem) = det1 * (f123+f123-f1)
159 a11(ielem) = det2 * (f123+f1+f1)
160 a22(ielem) = det2 * (f123+f2+f2)
161 a33(ielem) = det2 * (f123+f3+f3)
171 WRITE(
lu,101) ielmf,sf%NAME,sg%NAME
172 101
FORMAT(1x,
'MT06FT2 (BIEF) :',/,
173 & 1x,
'DISCRETIZATION OF F NOT AVAILABLE:',1i6,
174 & 1x,
'REAL NAME: ',a6,
' AND ',a6)
subroutine mt06ft2(A11, A12, A13, A22, A23, A33, XMUL, SF, F, SG, G, X, Y, Z, IKLE1, IKLE2, IKLE3, NBOR, NELEM, NELMAX)