5 &(a11,a12,a13,a22,a23,a33,
6 & xmul,sf,f,lgseg,ikle1,ikle2,ikle3,nbor,nelem,nelmax)
68 INTEGER,
INTENT(IN) :: NELEM,NELMAX,NBOR(nelmax,*)
69 INTEGER,
INTENT(IN) :: IKLE1(*),IKLE2(*),IKLE3(*)
71 DOUBLE PRECISION,
INTENT(IN) :: XMUL
73 DOUBLE PRECISION,
INTENT(IN) :: F(*)
76 TYPE(bief_obj),
INTENT(IN) :: SF
78 DOUBLE PRECISION,
INTENT(IN) :: LGSEG(nelmax)
79 DOUBLE PRECISION,
INTENT(INOUT) :: A11(nelmax),A12(nelmax)
80 DOUBLE PRECISION,
INTENT(INOUT) :: A13(nelmax),A22(nelmax)
81 DOUBLE PRECISION,
INTENT(INOUT) :: A23(nelmax),A33(nelmax)
86 DOUBLE PRECISION SUR30,SUR60,SUR420,DET1,F1,F2,F3
104 det1 = lgseg(ielem) * sur30
106 a11(ielem) = det1 * (4.d0*f1)
107 a12(ielem) = det1 * (-f1)
108 a13(ielem) = det1 * (2.d0*f1)
109 a22(ielem) = a11(ielem)
110 a23(ielem) = a13(ielem)
111 a33(ielem) = det1 * (16.d0*f1)
118 ELSEIF(ielmf.EQ.1)
THEN 125 det1 = lgseg(ielem) * sur60
127 a11(ielem) = det1 * (7.d0*f1+f2)
128 a12(ielem) = det1 * (-f1-f2)
129 a13(ielem) = det1 * (4.d0*f1)
130 a22(ielem) = det1 * (f1+7.d0*f2)
131 a23(ielem) = det1 * (4.d0*f2)
132 a33(ielem) = det1 * 16.d0 * (f1+f2)
138 ELSEIF(ielmf.EQ.11.OR.ielmf.EQ.21)
THEN 142 f1 = f(nbor(ielem,1))
143 f2 = f(nbor(ielem,2))
145 det1 = lgseg(ielem) * sur60
147 a11(ielem) = det1 * (7.d0*f1+f2)
148 a12(ielem) = det1 * (-f1-f2)
149 a13(ielem) = det1 * (4.d0*f1)
150 a22(ielem) = det1 * (f1+7.d0*f2)
151 a23(ielem) = det1 * (4.d0*f2)
152 a33(ielem) = det1 * 16.d0 * (f1+f2)
159 ELSEIF(ielmf.EQ.2)
THEN 166 det1 = lgseg(ielem) * sur420
168 a11(ielem) = det1 * (39.d0*f1-3.d0*f2+20.d0*f3)
169 a12(ielem) = det1 * (-3.d0*f1-3.d0*f2-8.d0*f3)
170 a13(ielem) = det1 * (20.d0*f1-8.d0*f2+16.d0*f3)
171 a22(ielem) = det1 * (-3.d0*f1+39.d0*f2+20.d0*f3)
172 a23(ielem) = det1 * (-8.d0*f1+20.d0*f2+16.d0*f3)
173 a33(ielem) = det1 * 16.d0 * (f1+f2+12.d0*f3)
179 ELSEIF(ielmf.EQ.13)
THEN 183 f1 = f(nbor(ielem,1))
184 f2 = f(nbor(ielem,2))
185 f3 = f(nbor(ielem,3))
187 det1 = lgseg(ielem) * sur420
189 a11(ielem) = det1 * (39.d0*f1-3.d0*f2+20.d0*f3)
190 a12(ielem) = det1 * (-3.d0*f1-3.d0*f2-8.d0*f3)
191 a13(ielem) = det1 * (20.d0*f1-8.d0*f2+16.d0*f3)
192 a22(ielem) = det1 * (-3.d0*f1+39.d0*f2+20.d0*f3)
193 a23(ielem) = det1 * (-8.d0*f1+20.d0*f2+16.d0*f3)
194 a33(ielem) = det1 * 16.d0 * (f1+f2+12.d0*f3)
202 WRITE(
lu,101) ielmf,sf%NAME
203 101
FORMAT(1x,
'MT06OC (BIEF) :',/,
204 & 1x,
'DISCRETIZATION OF F NOT AVAILABLE:',1i6,
205 & 1x,
'REAL NAME: ',a6)
subroutine mt06oc(A11, A12, A13, A22, A23, A33, XMUL, SF, F, LGSEG, IKLE1, IKLE2, IKLE3, NBOR, NELEM, NELMAX)