5 &( a11 , a12 , a13 , a14 ,
9 & xmul,su,u,xel,yel,surfac,ikle1,ikle2,ikle3,nelem,nelmax)
70 INTEGER,
INTENT(IN) :: NELEM,NELMAX
71 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax),IKLE3(nelmax)
72 DOUBLE PRECISION,
INTENT(INOUT) :: A11(*),A12(*),A13(*),A14(*)
73 DOUBLE PRECISION,
INTENT(INOUT) :: A22(*),A23(*),A24(*)
74 DOUBLE PRECISION,
INTENT(INOUT) :: A33(*),A34(*)
75 DOUBLE PRECISION,
INTENT(INOUT) :: A44(*)
76 DOUBLE PRECISION,
INTENT(IN) :: XMUL,U(*)
78 TYPE(bief_obj),
INTENT(IN) :: SU
80 DOUBLE PRECISION,
INTENT(IN) :: XEL(nelmax,3),YEL(nelmax,3)
81 DOUBLE PRECISION,
INTENT(IN) :: SURFAC(nelmax)
87 INTEGER IELMNU,IELEM,ISO,IAD2,IAD3
89 DOUBLE PRECISION X2,X3,Y2,Y3,AUX1,AUX2
90 DOUBLE PRECISION NUX1,NUX2,NUX3,NUY1,NUY2,NUY3,NUZ1,NUZ2,NUZ3
107 IF(ielmnu.EQ.11.AND.iso.EQ.1)
THEN 123 nux1 = u(ikle1(ielem))
124 nux2 = u(ikle2(ielem))
125 nux3 = u(ikle3(ielem))
127 aux1 = xmul/(108*surfac(ielem))
133 a12(ielem)=((2*x2**2+x2*x3-x3**2-y3**2+y3*y2+2*y2**2)*(
134 & nux3+4*nux2+4*nux1))*aux1
136 a13(ielem)=(-(x2**2-x2*x3-2*x3**2-2*y3**2-y3*y2+y2**2)*(
137 & 4*nux3+nux2+4*nux1))*aux1
139 a14(ielem)=((4*nux3+nux2+4*nux1)*x2*x3-2*(4*nux3+nux2+
140 & 4*nux1)*x3**2-2*(4*nux3+nux2+4*nux1)*y3**2+(4*nux3+
141 & nux2+4*nux1)*y3*y2-2*(nux3+4*nux2+4*nux1)*x2**2+(nux3
142 & +4*nux2+4*nux1)*x2*x3+(nux3+4*nux2+4*nux1)*y3*y2-2*(
143 & nux3+4*nux2+4*nux1)*y2**2)*aux2
145 a23(ielem)=((2*x2**2-5*x2*x3+2*x3**2+2*y3**2-5*y3*y2+
146 & 2*y2**2)*(4*nux3+4*nux2+nux1))*aux1
148 a24(ielem)=(-((4*nux3+4*nux2+nux1)*x2**2-3*(4*nux3+4*
149 & nux2+nux1)*x2*x3+2*(4*nux3+4*nux2+nux1)*x3**2+2*(4*
150 & nux3+4*nux2+nux1)*y3**2-3*(4*nux3+4*nux2+nux1)*y3*y2+
151 & (4*nux3+4*nux2+nux1)*y2**2+(nux3+4*nux2+4*nux1)*x2**2
152 & +(nux3+4*nux2+4*nux1)*x2*x3+(nux3+4*nux2+4*nux1)*y3*
153 & y2+(nux3+4*nux2+4*nux1)*y2**2))*aux2
156 & nux1*(-5*y3**2-y3*y2-2*y2**2)+nux2*(-5*y3**
157 & 2+11*y3*y2-8*y2**2)+8*nux3*(-y3**2+y3*y2-y2**2)+nux1*(
158 & -2*x2**2-x2*x3-5*x3**2)+nux2*(-8*x2**2+11*x2*x3-5*x3
159 & **2)+8*nux3*(-x2**2+x2*x3-x3**2))*aux2
164 a11(ielem) = - a12(ielem) - a13(ielem) - a14(ielem)
165 a22(ielem) = - a12(ielem) - a23(ielem) - a24(ielem)
166 a33(ielem) = - a13(ielem) - a23(ielem) - a34(ielem)
167 a44(ielem) = - a14(ielem) - a24(ielem) - a34(ielem)
173 ELSEIF(ielmnu.EQ.11.AND.iso.EQ.3)
THEN 191 nux1 = u(ikle1(ielem))
192 nux2 = u(ikle2(ielem))
193 nux3 = u(ikle3(ielem))
194 nuy1 = u(ikle1(ielem)+iad2)
195 nuy2 = u(ikle2(ielem)+iad2)
196 nuy3 = u(ikle3(ielem)+iad2)
197 nuz1 = u(ikle1(ielem)+iad3)
198 nuz2 = u(ikle2(ielem)+iad3)
199 nuz3 = u(ikle3(ielem)+iad3)
201 aux1 = xmul/(108*surfac(ielem))
206 a12(ielem)=(-4*nux1*(y3+y2)*(y3-2*y2)-4*nux2*(y3+y2)*(
207 & y3-2*y2)-nux3*(y3+y2)*(y3-2*y2)+((nuy3+4*nuy2+4*nuy1)
208 & *x3-(y3+4*y2)*nuz3-4*(y3+4*y2)*nuz2-4*(y3+4*y2)*nuz1
209 & )*x2+(nuz3+4*nuz2+4*nuz1)*(2*y3-y2)*x3+2*(nuy3+4*
210 & nuy2+4*nuy1)*x2**2-(nuy3+4*nuy2+4*nuy1)*x3**2)*aux1
212 a13(ielem)=(4*nux1*(2*y3-y2)*(y3+y2)+nux2*(2*y3-y2)*(y3
213 & +y2)+4*nux3*(2*y3-y2)*(y3+y2)+((4*nuy3+nuy2+4*nuy1)*
214 & x3-4*(y3-2*y2)*nuz3-(y3-2*y2)*nuz2-4*(y3-2*y2)*nuz1)
215 & *x2-(4*nuz3+nuz2+4*nuz1)*(4*y3+y2)*x3-(4*nuy3+nuy2+4
216 & *nuy1)*x2**2+2*(4*nuy3+nuy2+4*nuy1)*x3**2)*aux1
218 a14(ielem)=(4*nux1*(-(2*y3-y2)*y3+(y3-2*y2)*y2)+nux2*(-
219 & (2*y3-y2)*y3+4*(y3-2*y2)*y2)+nux3*(-4*(2*y3-y2)*y3+(
220 & y3-2*y2)*y2)+((4*nuy3+nuy2+4*nuy1)*x3-4*nuz3*y3-nuz2*
221 & y3-4*nuz1*y3)*x2+((nuy3+4*nuy2+4*nuy1)*x3-(y3-4*y2)*
222 & nuz3-4*(y3-4*y2)*nuz2-4*(y3-4*y2)*nuz1)*x2+(4*nuz3+
223 & nuz2+4*nuz1)*(4*y3-y2)*x3-(nuz3+4*nuz2+4*nuz1)*x3*y2-
224 & 2*(4*nuy3+nuy2+4*nuy1)*x3**2-2*(nuy3+4*nuy2+4*nuy1)*x2**2)*aux2
226 a23(ielem)=(-((5*(4*nuy3+4*nuy2+nuy1)*x3-4*(5*y3-4*
227 & y2)*nuz3-4*(5*y3-4*y2)*nuz2-(5*y3-4*y2)*nuz1)*x2+(4
228 & *nuz3+4*nuz2+nuz1)*(4*y3-5*y2)*x3-2*(4*nuy3+4*nuy2+
229 & nuy1)*x2**2-2*(4*nuy3+4*nuy2+nuy1)*x3**2-4*(2*y3-y2)
230 & *(y3-2*y2)*nux3-4*(2*y3-y2)*(y3-2*y2)*nux2-(2*y3-y2)
231 & *(y3-2*y2)*nux1))*aux1
233 a24(ielem)=(-(5*x2**2*nuy3+8*x2**2*nuy2+5*x2**2*nuy1-
234 & 11*x2*x3*nuy3-8*x2*x3*nuy2+x2*x3*nuy1+11*x2*nuz3*y3-10
235 & *x2*nuz3*y2+8*x2*nuz2*y3-16*x2*nuz2*y2-x2*nuz1*y3-10*
236 & x2*nuz1*y2+8*x3**2*nuy3+8*x3**2*nuy2+2*x3**2*nuy1-16*
237 & x3*nuz3*y3+11*x3*nuz3*y2-16*x3*nuz2*y3+8*x3*nuz2*y2-4
238 & *x3*nuz1*y3-x3*nuz1*y2+8*nux3*y3**2-11*nux3*y3*y2+5*
239 & nux3*y2**2+8*nux2*y3**2-8*nux2*y3*y2+8*nux2*y2**2+2*
240 & nux1*y3**2+nux1*y3*y2+5*nux1*y2**2))*aux2
242 a34(ielem)=(-(8*x2**2*nuy3+8*x2**2*nuy2+2*x2**2*nuy1-8
243 & *x2*x3*nuy3-11*x2*x3*nuy2+x2*x3*nuy1+8*x2*nuz3*y3-16*
244 & x2*nuz3*y2+11*x2*nuz2*y3-16*x2*nuz2*y2-x2*nuz1*y3-4*x2
245 & *nuz1*y2+8*x3**2*nuy3+5*x3**2*nuy2+5*x3**2*nuy1-16*x3
246 & *nuz3*y3+8*x3*nuz3*y2-10*x3*nuz2*y3+11*x3*nuz2*y2-10*
247 & x3*nuz1*y3-x3*nuz1*y2+8*nux3*y3**2-8*nux3*y3*y2+8*nux3
248 & *y2**2+5*nux2*y3**2-11*nux2*y3*y2+8*nux2*y2**2+5*nux1
249 & *y3**2+nux1*y3*y2+2*nux1*y2**2))*aux2
254 a11(ielem) = - a12(ielem) - a13(ielem) - a14(ielem)
255 a22(ielem) = - a12(ielem) - a23(ielem) - a24(ielem)
256 a33(ielem) = - a13(ielem) - a23(ielem) - a34(ielem)
257 a44(ielem) = - a14(ielem) - a24(ielem) - a34(ielem)
265 WRITE(
lu,11) ielmnu,iso
267 &
'MT02BB (BIEF) : TYPE OF VISCOSITY NOT AVAILABLE : ',2i6)
subroutine mt02bb(A11, A12, A13, A14, A22, A23, A24, A33, A34, A44, XMUL, SU, U, XEL, YEL, SURFAC, IKLE1, IKLE2, IKLE3, NELEM, NELMAX)