5 &( a11 , a12 , a13 , a14 , a15 , a16 ,
6 & a22 , a23 , a24 , a25 , a26 ,
7 & a33 , a34 , a35 , a36 ,
12 & ikle1,ikle2,ikle3,ikle4,ikle5,ikle6,nelem,nelmax)
70 INTEGER,
INTENT(IN) :: NELEM,NELMAX
71 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax)
72 INTEGER,
INTENT(IN) :: IKLE3(nelmax),IKLE4(nelmax)
73 INTEGER,
INTENT(IN) :: IKLE5(nelmax),IKLE6(nelmax)
75 DOUBLE PRECISION,
INTENT(INOUT) :: A11(*),A12(*),A13(*)
76 DOUBLE PRECISION,
INTENT(INOUT) :: A14(*),A15(*),A16(*)
77 DOUBLE PRECISION,
INTENT(INOUT) :: A22(*),A23(*)
78 DOUBLE PRECISION,
INTENT(INOUT) :: A24(*),A25(*),A26(*)
79 DOUBLE PRECISION,
INTENT(INOUT) :: A33(*)
80 DOUBLE PRECISION,
INTENT(INOUT) :: A34(*),A35(*),A36(*)
81 DOUBLE PRECISION,
INTENT(INOUT) :: A44(*),A45(*),A46(*)
82 DOUBLE PRECISION,
INTENT(INOUT) :: A55(*),A56(*)
83 DOUBLE PRECISION,
INTENT(INOUT) :: A66(*)
85 DOUBLE PRECISION,
INTENT(IN) :: XMUL
86 DOUBLE PRECISION,
INTENT(IN) :: F(*)
89 TYPE(bief_obj),
INTENT(IN) :: SF
91 DOUBLE PRECISION,
INTENT(IN) :: SURFAC(nelmax)
97 DOUBLE PRECISION F1,F2,F3,F4,F5,F6,XSUR030,XSUR045,XSUR180
98 DOUBLE PRECISION XSUR315,XSUR210,XSUR630,XSU1260
99 DOUBLE PRECISION AUX315,AUX210,AUX630,AUX1260
112 xsur030 = xmul / 30.d0
113 xsur045 = xmul / 45.d0
114 xsur180 = xmul /180.d0
120 f1 = f(ielem) * surfac(ielem)
124 a11(ielem) = xsur030 * f1
125 a22(ielem) = a11(ielem)
126 a33(ielem) = a11(ielem)
127 a44(ielem) = 8.d0 * xsur045 * f1
128 a55(ielem) = a44(ielem)
129 a66(ielem) = a44(ielem)
133 a12(ielem) = - xsur180 * f1
134 a13(ielem) = a12(ielem)
136 a15(ielem) = - xsur045*f1
139 a23(ielem) = a12(ielem)
142 a26(ielem) = a15(ielem)
144 a34(ielem) = a15(ielem)
148 a45(ielem) = 4.d0*xsur045*f1
149 a46(ielem) = a45(ielem)
151 a56(ielem) = a45(ielem)
159 ELSEIF(ielmf.EQ.11)
THEN 161 xsur210 = xmul / 210.d0
162 xsur315 = xmul / 315.d0
163 xsu1260 = xmul / 1260.d0
166 aux210 = surfac(ielem) * xsur210
167 aux315 = surfac(ielem) * xsur315
168 aux1260= surfac(ielem) * xsu1260
181 a11(ielem) = (5.d0*f1+ f2+ f3)*aux210
182 a22(ielem) = ( f1+5.d0*f2+ f3)*aux210
183 a33(ielem) = ( f1+ f2+5.d0*f3)*aux210
184 a44(ielem) = 8.d0*(3.d0*f1+3.d0*f2+ f3)*aux315
185 a55(ielem) = 8.d0*( f1+3.d0*f2+3.d0*f3)*aux315
186 a66(ielem) = 8.d0*(3.d0*f1+ f2+3.d0*f3)*aux315
190 a12(ielem) = -(4.d0*f1+4.d0*f2- f3)*aux1260
191 a13(ielem) = -(4.d0*f1- f2+4.d0*f3)*aux1260
192 a14(ielem) = (3.d0*f1-2.d0*f2- f3)*aux315
193 a15(ielem) = -( f1+3.d0*f2+3.d0*f3)*aux315
194 a16(ielem) = (3.d0*f1- f2-2.d0*f3)*aux315
196 a23(ielem) = ( f1-4.d0*f2-4.d0*f3)*aux1260
197 a24(ielem) = -(2.d0*f1-3.d0*f2+ f3)*aux315
198 a25(ielem) = -( f1-3.d0*f2+2.d0*f3)*aux315
199 a26(ielem) = -(3.d0*f1+ f2+3.d0*f3)*aux315
201 a34(ielem) = -(3.d0*f1+3.d0*f2+ f3)*aux315
202 a35(ielem) = -( f1+2.d0*f2-3.d0*f3)*aux315
203 a36(ielem) = -(2.d0*f1+ f2-3.d0*f3)*aux315
205 a45(ielem) = (2.d0*f1+3.d0*f2+2.d0*f3)*aux315*4.d0
206 a46(ielem) = (3.d0*f1+2.d0*f2+2.d0*f3)*aux315*4.d0
208 a56(ielem) = (2.d0*f1+3.d0*f3+2.d0*f2)*aux315*4.d0
214 ELSEIF(ielmf.EQ.13)
THEN 220 xsur315 = xmul / 315.d0
221 xsur630 = xmul / 630.d0
222 xsu1260 = xmul / 1260.d0
225 aux315 = surfac(ielem) * xsur315
226 aux630 = surfac(ielem) * xsur630
227 aux1260= surfac(ielem) * xsu1260
240 a11(ielem) = (6.d0*(f4+f6)+9.d0*f1+2.d0*f5-f2-f3) * aux630
241 a22(ielem) = (6.d0*(f4+f5)+2.d0*f6+9.d0*f2-f1-f3) * aux630
242 a33(ielem) = (6.d0*(f6+f5)+9.d0*f3+2.d0*f4-f1-f2) * aux630
243 a44(ielem) = 4.d0*(3.d0*(f6+f5)+9.d0*f4-f3) * aux315
244 a55(ielem) = 4.d0*(3.d0*(f4+f6)+9.d0*f5-f1) * aux315
245 a66(ielem) = 4.d0*(3.d0*(f4+f5)+9.d0*f6-f2) * aux315
249 a12(ielem) = -(2.d0*(f1+f2)+4.d0*f4-f3) * aux1260
250 a13(ielem) = -(2.d0*(f1+f3)+4.d0*f6-f2) * aux1260
251 a14(ielem) = (3.d0* f1 -2.d0*f5-f2) * aux315
252 a15(ielem) = -(2.d0*(f4+f6)+4.d0*f5-f1) * aux315
253 a16(ielem) = (3.d0*f1 -2.d0*f5-f3) * aux315
255 a23(ielem) = (-2.d0*(f2+f3)-4.d0*f5+f1) * aux1260
256 a24(ielem) = (-2.d0*f6 +3.d0*f2-f1) * aux315
257 a25(ielem) = (-2.d0*f6 +3.d0*f2-f3) * aux315
258 a26(ielem) = (-2.d0*(f4+f5)-4.d0*f6+f2) * aux315
260 a34(ielem) = (-2.d0*(f6+f5)-4.d0*f4+f3) * aux315
261 a35(ielem) = (-2.d0*f4 +3.d0*f3-f2) * aux315
262 a36(ielem) = (-2.d0*f4 +3.d0*f3-f1) * aux315
264 a45(ielem) = 2.d0*(6.d0*(f4+f5)+4.d0*f6-f1-f3) * aux315
265 a46(ielem) = 2.d0*(6.d0*(f4+f6)+4.d0*f5-f2-f3) * aux315
267 a56(ielem) = 2.d0*(6.d0*(f6+f5)+4.d0*f4-f2-f1) * aux315
273 WRITE(
lu,101) ielmf,sf%NAME
274 101
FORMAT(1x,
'MT06CC (BIEF) :',/,
275 & 1x,
'DISCRETIZATION OF F NOT AVAILABLE:',1i6,
276 & 1x,
'REAL NAME: ',a6)
subroutine mt06cc(A11, A12, A13, A14, A15, A16, A22, A23, A24, A25, A26, A33, A34, A35, A36, A44, A45, A46, A55, A56, A66, XMUL, SF, F, SURFAC, IKLE1, IKLE2, IKLE3, IKLE4, IKLE5, IKLE6, NELEM, NELMAX)