45 2 ELBUF_STR,ETAG, IDDL, NDOF,
46 3 K_DIAG, K_LT, IADK, JDIK,
47 4 NEL, ICP, ICSIG, IPM,
48 5 IGEO, IKGEO, BUFMAT, NFT,
49 6 MTN, JHBE, ISORTH, ISORTHG,
55 use element_mod ,
only : nixs
59#include "implicit_f.inc"
72 INTEGER,
INTENT(IN) :: ISMSTR
73 INTEGER,
INTENT(IN) :: NFT
74 INTEGER,
INTENT(IN) :: MTN
75 INTEGER,
INTENT(IN) :: JHBE
76 INTEGER,
INTENT(IN) :: ISORTH
77 INTEGER,
INTENT(INOUT) :: ISORTHG
78 INTEGER ICP, ICSIG, IKGEO, NEL
79 INTEGER ETAG(*),IDDL(*) ,NDOF(*) ,IADK(*) ,JDIK(*),
80 . ixs(nixs,*),ipm(npropmi,*),igeo(npropgi,*)
83 . pm(npropm,*), geo(npropg,*), x(*),
84 . k11(9,mvsiz),k12(9,mvsiz),k13(9,mvsiz),k14(9,mvsiz),k15(9,mvsiz),
85 . k16(9,mvsiz),k22(9,mvsiz),k23(9,mvsiz),k24(9,mvsiz),k25(9,mvsiz),
86 . k26(9,mvsiz),k33(9,mvsiz),k34(9,mvsiz),k35(9,mvsiz),k36(9,mvsiz),
87 . k44(9,mvsiz),k45(9,mvsiz),k46(9,mvsiz),k55(9,mvsiz),k56(9,mvsiz),
88 . k66(9,mvsiz) ,offg(mvsiz) ,bufmat(*),k_diag(*) ,k_lt(*)
89 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
93 INTEGER NF1, I, IS, IAD0
94 INTEGER IADBUF, IKORTH, IBID, IUN, NLAY
95 INTEGER MXT(MVSIZ), NGL(MVSIZ), NGEO(MVSIZ)
98 . aj1(mvsiz) , aj2(mvsiz) , aj3(mvsiz) ,
99 . aj4(mvsiz) , aj5(mvsiz) , aj6(mvsiz)
101 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
102 . nc5(mvsiz), nc6(mvsiz)
105 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
106 . x5(mvsiz), x6(mvsiz),
107 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
108 . y5(mvsiz), y6(mvsiz),
109 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
110 . z5(mvsiz), z6(mvsiz),
111 . pxc1(mvsiz),pxc2(mvsiz),pxc3(mvsiz),pxc4(mvsiz),
112 . pyc1(mvsiz),pyc2(mvsiz),pyc3(mvsiz),pyc4(mvsiz),
113 . pzc1(mvsiz),pzc2(mvsiz),pzc3(mvsiz),pzc4(mvsiz),
114 . px1h(mvsiz),px2h(mvsiz),px3h(mvsiz),
115 . py1h(mvsiz),py2h(mvsiz),py3h(mvsiz),
116 . pz1h(mvsiz),pz2h(mvsiz),pz3h(mvsiz)
118 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
119 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
120 . r31(mvsiz),r32(mvsiz),r33(mvsiz),gama(mvsiz,6)
124 . b1122(mvsiz),b1221(mvsiz),b2212(mvsiz),b1121(mvsiz),
125 . b1122h(mvsiz),b1221h(mvsiz),b2212h(mvsiz),b1121h(mvsiz),
126 . b1x(mvsiz,2),b1y(mvsiz,2),b2x(mvsiz,2),b2y(mvsiz,2),
127 . b1xh(mvsiz,2),b1yh(mvsiz,2),b2xh(mvsiz,2),b2yh(mvsiz,2),
128 . vzl(mvsiz),ji33(mvsiz)
129 TYPE(g_bufel_) ,
POINTER :: GBUF
130 TYPE(L_BUFEL_) ,
POINTER :: LBUF
132 . W_GAUSS(9,9),A_GAUSS(9,9)
140 3 0.555555555555556,0.888888888888889,0.555555555555556,
143 4 0.347854845137454,0.652145154862546,0.652145154862546,
144 4 0.347854845137454,0. ,0. ,
146 5 0.236926885056189,0.478628670499366,0.568888888888889,
147 5 0.478628670499366,0.236926885056189,0. ,
149 6 0.171324492379170,0.360761573048139,0.467913934572691,
150 6 0.467913934572691,0.360761573048139,0.171324492379170,
152 7 0.129484966168870,0.279705391489277,0.381830050505119,
153 7 0.417959183673469,0.381830050505119,0.279705391489277,
154 7 0.129484966168870,0. ,0. ,
155 8 0.101228536290376,0.222381034453374,0.313706645877887,
156 8 0.362683783378362,0.362683783378362,0.313706645877887,
157 8 0.222381034453374,0.101228536290376,0. ,
158 9 0.081274388361574,0.180648160694857,0.260610696402935,
159 9 0.312347077040003,0.330239355001260,0.312347077040003,
160 9 0.260610696402935,0.180648160694857,0.081274388361574/
165 2 -.577350269189626,0.577350269189626,0. ,
168 3 -.774596669241483,0. ,0.774596669241483,
171 4 -.861136311594053,-.339981043584856,0.339981043584856,
172 4 0.861136311594053,0. ,0. ,
174 5 -.906179845938664,-.538469310105683,0. ,
175 5 0.538469310105683,0.906179845938664,0. ,
177 6 -.932469514203152,-.661209386466265,-.238619186083197,
178 6 0.238619186083197,0.661209386466265,0.932469514203152,
180 7 -.949107912342759,-.741531185599394,-.405845151377397,
181 7 0. ,0.405845151377397,0.741531185599394,
182 7 0.949107912342759,0. ,0. ,
183 8 -.960289856497536,-.796666477413627,-.525532409916329,
184 8 -.183434642495650,0.183434642495650,0.525532409916329,
185 8 0.796666477413627,0.960289856497536,0. ,
186 9 -.968160239507626,-.836031107326636,-.613371432700590,
187 9 -.324253423403809,0. ,0.324253423403809,
188 9 0.613371432700590,0.836031107326636,0.968160239507626/
191 . nu(mvsiz),nu1(mvsiz),hh(2,mvsiz),fac(mvsiz),c1,e0(mvsiz),
192 . dd(9,mvsiz),gg(mvsiz),dm(9,mvsiz),gm(9,mvsiz),dgm(9,mvsiz),
193 . dg(9,mvsiz),g33(9,mvsiz)
198 gbuf => elbuf_str%GBUF
199 nlay = elbuf_str%NLAY
201 IF (isorth > 0) iad0 = 1 + 6*nel
208 1 x, ixs(1,nf1),x1, x2,
213 6 gbuf%OFF, offg, gbuf%SMSTR,r11,
214 7 r12, r13, r21, r22,
215 8 r23, r31, r32, r33,
216 9 nc1, nc2, nc3, nc4,
217 a nc5, nc6, ngl, mxt,
218 b ngeo, k11, k12, k13,
219 c k14, k15, k16, k22,
220 d k23, k24, k25, k26,
221 e k33, k34, k35, k36,
222 f k44, k45, k46, k55,
223 g k56, k66, nel, ismstr)
227 nu(i)=
min(half,pm(21,mxt(i)))
229 e0(i) =three*(one-two*nu(i))*c1
237 CALL s8zsigp3(1 ,nel ,gbuf%SIG,e0,gbuf%PLA,
238 2 fac ,gbuf%G_PLA,nel )
240 nu1(i)=nu(i)+(half-nu(i))*fac(i)
248 1 offg, voln, ngl, x1,
253 6 z6, pxc1, pxc2, pxc3,
254 7 pxc4, pyc1, pyc2, pyc3,
255 8 pyc4, pzc1, pzc2, pzc3,
256 9 pzc4, px1h, px2h, px3h,
257 a py1h, py2h, py3h, pz1h,
258 b pz2h, pz3h, aj1, aj2,
259 c aj3, aj4, aj5, aj6,
260 d ji33, b1x, b1y, b2y,
261 e b2x, b1122, b1221, b2212,
262 f b1121, b1xh, b1yh, b2xh,
263 g b2yh, b1122h, b1221h, b2212h,
264 h b1121h, vzl, volg, gbuf%SMSTR,
265 i gbuf%OFF, nel, ismstr)
267 iadbuf = ipm(7,mxt(1))
272 CALL mmats(1 ,nel ,pm ,mxt ,hh ,
273 . mtn ,ikorth ,ipm ,igeo ,gama ,
274 . bufmat(iadbuf) ,dm ,dgm ,gm ,
275 . jhbe ,gbuf%SIG ,bid ,nlay ,nel )
280 lbuf => elbuf_str%BUFLY(is)%LBUF(1,1,1)
282 voln(i)=half*w_gauss(is,nlay)*(volg(i)+vzl(i)*a_gauss(is,nlay))
288 4 ikorth, lbuf%SIG,iun, iun,
289 5 is, nel, jhbe, mtn)
291 1 pxc1, pxc2, pxc3, pxc4,
292 2 pyc1, pyc2, pyc3, pyc4,
293 3 pzc1, pzc2, pzc3, pzc4,
294 4 px1h, px2h, px3h, py1h,
295 5 py2h, py3h, pz1h, pz2h,
296 6 pz3h, ji33, b1x, b1y,
297 7 b2y, b2x, b1122, b1221,
298 8 b2212, b1121, b1xh, b1yh,
299 9 b2xh, b2yh, b1122h, b1221h,
300 a b2212h, b1121h, dd, gg,
301 b voln, a_gauss(is,nlay),w_gauss(is,nlay),nu1,
302 c k11, k12, k13, k14,
303 d k15, k16, k22, k23,
304 e k24, k25, k26, k33,
305 f k34, k35, k36, k44,
306 g k45, k46, k55, k56,
314 1 gbuf%SIG,volg, pxc1, pxc2,
315 2 pxc3, pxc4, pyc1, pyc2,
316 3 pyc3, pyc4, k11, k12,
317 4 k13, k14, k15, k16,
318 5 k22, k23, k24, k25,
319 6 k26, k33, k34, k35,
320 7 k36, k44, k45, k46,
321 8 k55, k56, k66, nel)
327 1 r11, r21, r31, r12,
328 2 r22, r32, r13, r23,
329 3 r33, k11, k12, k13,
330 4 k14, k15, k16, k22,
331 5 k23, k24, k25, k26,
332 6 k33, k34, k35, k36,
333 7 k44, k45, k46, k55,
342 1 1, nel, ixs(1,nf1), etag, offg)
344 1 ixs(1,nf1),nel ,iddl ,ndof ,k_diag,
345 2 k_lt ,iadk ,jdik ,k11 ,k12 ,
346 3 k13 ,k14 ,k15 ,k16 ,k22 ,
347 4 k23 ,k24 ,k25 ,k26 ,k33 ,
348 5 k34 ,k35 ,k36 ,k44 ,k45 ,
349 6 k46 ,k55 ,k56 ,k66 ,offg )
subroutine s6clke3(pxc1, pxc2, pxc3, pxc4, pyc1, pyc2, pyc3, pyc4, pzc1, pzc2, pzc3, pzc4, px1h, px2h, px3h, py1h, py2h, py3h, pz1h, pz2h, pz3h, ji33, b1x, b1y, b2y, b2x, b1122, b1221, b2212, b1121, b1xh, b1yh, b2xh, b2yh, b1122h, b1221h, b2212h, b1121h, dd, gg, vol, zi, wi, nu, k11, k12, k13, k14, k15, k16, k22, k23, k24, k25, k26, k33, k34, k35, k36, k44, k45, k46, k55, k56, k66, nel)
subroutine s6rcoork(x, ixs, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6, offg, off, sav, r11, r12, r13, r21, r22, r23, r31, r32, r33, nc1, nc2, nc3, nc4, nc5, nc6, ngl, mxt, ngeo, k11, k12, k13, k14, k15, k16, k22, k23, k24, k25, k26, k33, k34, k35, k36, k44, k45, k46, k55, k56, k66, nel, ismstr)