52
53
54
55 USE elbufdef_mod
56 use element_mod , only : nixs
57
58
59
60#include "implicit_f.inc"
61
62
63
64#include "mvsiz_p.inc"
65
66
67
68#include "com04_c.inc"
69#include "param_c.inc"
70
71
72
73 INTEGER, INTENT(IN) :: NFT
74 INTEGER, INTENT(IN) :: MTN
75 INTEGER, INTENT(IN) :: ISMSTR
76 INTEGER, INTENT(IN) :: JHBE
77 INTEGER, INTENT(IN) :: IREP
78 INTEGER, INTENT(IN) :: IGTYP
79 INTEGER, INTENT(IN) :: ISORTH
80 INTEGER IXS(NIXS,*),IXS20(12,*), IKGEO
81 INTEGER NEL ,IPM(NPROPMI,*),IGEO(NPROPGI,*)
82C
84 . pm(npropm,*), geo(npropg,*), x(*),
85 . k11(9,mvsiz) ,k12(9,mvsiz) ,k13(9,mvsiz) ,
86 . k14(9,mvsiz) ,k15(9,mvsiz) ,
87 . k16(9,mvsiz) ,k17(9,mvsiz) ,k18(9,mvsiz) ,
88 . k19(9,mvsiz) ,k110(9,mvsiz) ,
89 . k111(9,mvsiz) ,k112(9,mvsiz) ,k113(9,mvsiz) ,
90 . k114(9,mvsiz) ,k115(9,mvsiz) ,
91 . k116(9,mvsiz) ,k117(9,mvsiz) ,k118(9,mvsiz) ,
92 . k119(9,mvsiz) ,k120(9,mvsiz) ,
93 . k22(9,mvsiz) ,k23(9,mvsiz) ,k24(9,mvsiz) ,
94 . k25(9,mvsiz) ,k26(9,mvsiz) ,
95 . k27(9,mvsiz) ,k28(9,mvsiz) ,k29(9,mvsiz) ,
96 . k210(9,mvsiz) ,k211(9,mvsiz) ,
97 . k212(9,mvsiz) ,k213(9,mvsiz) ,k214(9,mvsiz) ,
98 . k215(9,mvsiz) ,k216(9,mvsiz) ,
99 . k217(9,mvsiz) ,k218(9,mvsiz) ,k219(9,mvsiz) ,
100 . k220(9,mvsiz) ,k33(9,mvsiz) ,
101 . k34(9,mvsiz) ,k35(9,mvsiz) ,k36(9,mvsiz) ,
102 . k37(9,mvsiz) ,k38(9,mvsiz) ,
103 . k39(9,mvsiz) ,k310(9,mvsiz) ,k311(9,mvsiz) ,
104 . k312(9,mvsiz) ,k313(9,mvsiz) ,
105 . k314(9,mvsiz) ,k315(9,mvsiz) ,k316(9,mvsiz) ,
106 . k317(9,mvsiz) ,k318(9,mvsiz) ,
107 . k319(9,mvsiz) ,k320(9,mvsiz) ,k44(9,mvsiz) ,
108 . k45(9,mvsiz) ,k46(9,mvsiz) ,
109 . k47(9,mvsiz) ,k48(9,mvsiz) ,k49(9,mvsiz) ,
110 . k410(9,mvsiz) ,k411(9,mvsiz) ,
111 . k412(9,mvsiz) ,k413(9,mvsiz) ,k414(9,mvsiz) ,
112 . k415(9,mvsiz) ,k416(9,mvsiz) ,
113 . k417(9,mvsiz) ,k418(9,mvsiz) ,k419(9,mvsiz) ,
114 . k420(9,mvsiz) ,k55(9,mvsiz) ,
115 . k56(9,mvsiz) ,k57(9,mvsiz) ,k58(9,mvsiz) ,
116 . k59(9,mvsiz) ,k510(9,mvsiz) ,
117 . k511(9,mvsiz) ,k512(9,mvsiz) ,k513(9,mvsiz) ,
118 . k514(9,mvsiz) ,k515(9,mvsiz) ,
119 . k516(9,mvsiz) ,k517(9,mvsiz) ,k518(9,mvsiz) ,
120 . k519(9,mvsiz) ,k520(9,mvsiz) ,
121 . k66(9,mvsiz) ,k67(9,mvsiz) ,k68(9,mvsiz) ,
122 . k69(9,mvsiz) ,k610(9,mvsiz) ,
123 . k611(9,mvsiz) ,k612(9,mvsiz) ,k613(9,mvsiz) ,
124 . k614(9,mvsiz) ,k615(9,mvsiz) ,
125 . k616(9,mvsiz) ,k617(9,mvsiz) ,k618(9,mvsiz) ,
126 . k619(9,mvsiz) ,k620(9,mvsiz) ,
127 . k77(9,mvsiz) ,k78(9,mvsiz) ,k79(9,mvsiz) ,
128 . k710(9,mvsiz) ,k711(9,mvsiz) ,
129 . k712(9,mvsiz) ,k713(9,mvsiz) ,k714(9,mvsiz) ,
130 . k715(9,mvsiz) ,k716(9,mvsiz) ,
131 . k717(9,mvsiz) ,k718(9,mvsiz) ,k719(9,mvsiz) ,
132 . k720(9,mvsiz) ,k88(9,mvsiz) ,
133 . k89(9,mvsiz) ,k810(9,mvsiz) ,k811(9,mvsiz) ,
134 . k812(9,mvsiz) ,k813(9,mvsiz) ,
135 . k814(9,mvsiz) ,k815(9,mvsiz) ,k816(9,mvsiz) ,
136 . k817(9,mvsiz) ,k818(9,mvsiz) ,
137 . k819(9,mvsiz) ,k820(9,mvsiz) ,k99(9,mvsiz) ,
138 . k910(9,mvsiz) ,k911(9,mvsiz) ,
139 . k912(9,mvsiz) ,k913(9,mvsiz) ,k914(9,mvsiz) ,
140 . k915(9,mvsiz) ,k916(9,mvsiz) ,
141 . k917(9,mvsiz) ,k918(9,mvsiz) ,k919(9,mvsiz) ,
142 . k920(9,mvsiz) ,k1010(9,mvsiz) ,
143 . k1011(9,mvsiz) ,k1012(9,mvsiz) ,k1013(9,mvsiz) ,
144 . k1014(9,mvsiz) ,k1015(9,mvsiz) ,
145 . k1016(9,mvsiz) ,k1017(9,mvsiz) ,k1018(9,mvsiz) ,
146 . k1019(9,mvsiz) ,k1020(9,mvsiz) ,
147 . k1111(9,mvsiz) ,k1112(9,mvsiz) ,k1113(9,mvsiz) ,
148 . k1114(9,mvsiz) ,k1115(9,mvsiz) ,
149 . k1116(9,mvsiz) ,k1117(9,mvsiz) ,k1118(9,mvsiz) ,
150 . k1119(9,mvsiz) ,k1120(9,mvsiz) ,
151 . k1212(9,mvsiz) ,k1213(9,mvsiz) ,k1214(9,mvsiz) ,
152 . k1215(9,mvsiz) ,k1216(9,mvsiz) ,
153 . k1217(9,mvsiz) ,k1218(9,mvsiz) ,k1219(9,mvsiz) ,
154 . k1220(9,mvsiz) ,k1313(9,mvsiz) ,
155 . k1314(9,mvsiz) ,k1315(9,mvsiz) ,k1316(9,mvsiz) ,
156 . k1317(9,mvsiz) ,k1318(9,mvsiz) ,
157 . k1319(9,mvsiz) ,k1320(9,mvsiz) ,k1414(9,mvsiz) ,
158 . k1415(9,mvsiz) ,k1416(9,mvsiz) ,
159 . k1417(9,mvsiz) ,k1418(9,mvsiz) ,k1419(9,mvsiz) ,
160 . k1420(9,mvsiz) ,k1515(9,mvsiz) ,
161 . k1516(9,mvsiz) ,k1517(9,mvsiz) ,k1518(9,mvsiz) ,
162 . k1519(9,mvsiz) ,k1520(9,mvsiz) ,
163 . k1616(9,mvsiz) ,k1617(9,mvsiz) ,k1618(9,mvsiz) ,
164 . k1619(9,mvsiz) ,k1620(9,mvsiz) ,
165 . k1717(9,mvsiz) ,k1718(9,mvsiz) ,k1719(9,mvsiz) ,
166 . k1720(9,mvsiz) ,k1818(9,mvsiz) ,
167 . k1819(9,mvsiz) ,k1820(9,mvsiz) ,k1919(9,mvsiz) ,
168 . k1920(9,mvsiz) ,k2020(9,mvsiz) ,
169 . bufmat(*)
170
171 INTEGER ETAG(*) , IDDL(*) ,NDOF(*) , IADK(*) ,JDIK(*)
172
174 . k_diag(*) , k_lt(*)
175 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
176
177
178
179 INTEGER NIPMAX,NPE, NF1, NF2, IADBUF,IBID,
180 . I,N
181 parameter(nipmax=81)
182 parameter(npe=20)
183
184
185 INTEGER NGL(MVSIZ), IR, IS, IT, ILAY, NPTT ,NPTS ,NPTR, NLAY, IP,
186 . MXT(MVSIZ),IKORTH, NC(MVSIZ,20), NGEO(MVSIZ),NPTG
188 . xx(mvsiz,20), yy(mvsiz,20), zz(mvsiz,20),hh(2,mvsiz),
189 . dnidr(mvsiz,npe),dnids(mvsiz,npe),dnidt(mvsiz,npe),
190 . rx(mvsiz,nipmax) , ry(mvsiz,nipmax) , rz(mvsiz,nipmax) ,
191 . sx(mvsiz,nipmax) , sy(mvsiz,nipmax) , sz(mvsiz,nipmax) ,
192 . tx(mvsiz,nipmax) , ty(mvsiz,nipmax) , tz(mvsiz,nipmax) ,
193 , e1x(mvsiz,nipmax) ,e2x(mvsiz,nipmax) ,e3x(mvsiz,nipmax) ,
194 . e1y(mvsiz,nipmax) ,e2y(mvsiz,nipmax) ,e3y(mvsiz,nipmax) ,
195 . e1z(mvsiz,nipmax) ,e2z(mvsiz,nipmax) ,e3z(mvsiz,nipmax) ,
196 . px(mvsiz,npe,nipmax),py(mvsiz,npe,nipmax),pz(mvsiz,npe,nipmax),
197 . wi, volnp(mvsiz,nipmax),stin(mvsiz,npe),
198 . ni(npe,nipmax), volg(mvsiz),ul(mvsiz,npe),gama(mvsiz,6),
199 . dm(9,mvsiz), dgm(9,mvsiz),gm(9,mvsiz), deltax(mvsiz),bid(1),
200 . dd(9,mvsiz),gg(mvsiz),dg(9,mvsiz),g33(9,mvsiz),offg(mvsiz)
201 TYPE(G_BUFEL_) ,POINTER :: GBUF
202 TYPE(L_BUFEL_) ,POINTER :: LBUF
203 double precision
204 . voldp(mvsiz)
205
206
208 . w_gauss(9,9),a_gauss(9,9)
209 DATA w_gauss /
210 1 2. ,0. ,0. ,
211 1 0. ,0. ,0. ,
212 1 0. ,0. ,0. ,
213 2 1. ,1. ,0. ,
214 2 0. ,0. ,0. ,
215 2 0. ,0. ,0. ,
216 3 0.555555555555556,0.888888888888889,0.555555555555556,
217 3 0. ,0. ,0. ,
218 3 0. ,0. ,0. ,
219 4 0.347854845137454,0.652145154862546,0.652145154862546,
220 4 0.347854845137454,0. ,0. ,
221 4 0. ,0. ,0. ,
222 5 0.236926885056189,0.478628670499366,0.568888888888889,
223 5 0.478628670499366,0.236926885056189,0. ,
224 5 0. ,0. ,0. ,
225 6 0.171324492379170,0.360761573048139,0.467913934572691,
226 6 0.467913934572691,0.360761573048139,0.171324492379170,
227 6 0. ,0. ,0. ,
228 7 0.129484966168870,0.279705391489277,0.381830050505119,
229 7 0.417959183673469,0.381830050505119,0.279705391489277,
230 7 0.129484966168870,0. ,0. ,
231 8 0.101228536290376,0.222381034453374,0.313706645877887,
232 8 0.362683783378362,0.362683783378362,0.313706645877887,
233 8 0.222381034453374,0.101228536290376,0. ,
234 9 0.081274388361574,0.180648160694857,0.260610696402935,
235 9 0.312347077040003,0.330239355001260,0.312347077040003,
236 9 0.260610696402935,0.180648160694857,0.081274388361574/
237 DATA a_gauss /
238 1 0. ,0. ,0. ,
239 1 0. ,0. ,0. ,
240 1 0. ,0. ,0. ,
241 2 -.577350269189626,0.577350269189626,0. ,
242 2 0. ,0. ,0. ,
243 2 0. ,0. ,0. ,
244 3 -.774596669241483,0. ,0.774596669241483,
245 3 0. ,0. ,0. ,
246 3 0. ,0. ,0. ,
247 4 -.861136311594053,-.339981043584856,0.339981043584856,
248 4 0.861136311594053,0. ,0. ,
249 4 0. ,0. ,0. ,
250 5 -.906179845938664,-.538469310105683,0. ,
251 5 0.538469310105683,0.906179845938664,0. ,
252 5 0. ,0. ,0. ,
253 6 -.932469514203152,-.661209386466265,-.238619186083197,
254 6 0.238619186083197,0.661209386466265,0.932469514203152,
255 6 0. ,0. ,0. ,
256 7 -.949107912342759,-.741531185599394,-.405845151377397,
257 7 0. ,0.405845151377397,0.741531185599394,
258 7 0.949107912342759,0. ,0. ,
259 8 -.960289856497536,-.796666477413627,-.525532409916329,
260 8 -.183434642495650,0.183434642495650,0.525532409916329,
261 8 0.796666477413627,0.960289856497536,0. ,
262 9 -.968160239507626,-.836031107326636,-.613371432700590,
263 9 -.324253423403809,0. ,0.324253423403809,
264 9 0.613371432700590,0.836031107326636,0.968160239507626/
265
266
267
268
269 gbuf => elbuf_str%GBUF
270 nf1=nft+1
271 nf2=nf1-(numels8+numels10)
272
273
274 IF (igtyp == 21.OR.igtyp == 22) THEN
275 ikorth=2
276 ELSEIF (isorth>0) THEN
277 ikorth=1
278 ELSE
279 ikorth=0
280 ENDIF
281
283 1 x, ixs(1,nf1), ixs20(1,nf2),npe,
284 2 xx, yy, zz, gbuf%OFF,
285 3 offg, gbuf%SMSTR, nc, ngl,
286 4 mxt, ngeo, nel, k11,
287 5 k12, k13, k14, k15,
288 6 k16, k17, k18, k19,
289 7 k110, k111, k112, k113,
290 8 k114, k115, k116, k117,
291 9 k118, k119, k120, k22,
292 a k23, k24, k25, k26,
293 b k27, k28, k29, k210,
294 c k211, k212, k213, k214,
295 d k215, k216, k217, k218,
296 e k219, k220, k33, k34,
297 f k35, k36, k37, k38,
298 g k39, k310, k311, k312,
299 h k313, k314, k315, k316,
300 i k317, k318, k319, k320,
301 j k44, k45, k46, k47,
302 k k48, k49, k410, k411,
303 l k412, k413, k414, k415,
304 m k416, k417, k418, k419,
305 n k420, k55, k56, k57,
306 o k58, k59, k510, k511,
307 p k512, k513, k514, k515,
308 q k516, k517, k518, k519,
309 r k520, k66, k67, k68,
310 s k69, k610, k611, k612,
311 t k613, k614, k615, k616,
312 u k617, k618, k619, k620,
313 v k77, k78, k79, k710,
314 w k711, k712, k713, k714,
315 x k715, k716, k717, k718,
316 y k719, k720, k88, k89,
317 z k810, k811, k812, k813,
318 1 k814, k815, k816, k817,
319 2 k818, k819, k820, k99,
320 3 k910, k911, k912, k913,
321 4 k914, k915, k916, k917,
322 5 k918, k919, k920, k1010,
323 6 k1011, k1012, k1013, k1014,
324 7 k1015, k1016, k1017, k1018,
325 8 k1019, k1020, k1111, k1112,
326 9 k1113, k1114, k1115, k1116,
327 a k1117, k1118, k1119, k1120,
328 b k1212, k1213, k1214, k1215,
329 c k1216, k1217, k1218, k1219,
330 d k1220, k1313, k1314, k1315,
331 e k1316, k1317, k1318, k1319,
332 f k1320, k1414, k1415, k1416,
333 g k1417, k1418, k1419, k1420,
334 h k1515, k1516, k1517, k1518,
335 i k1519, k1520, k1616, k1617,
336 j k1618, k1619, k1620, k1717,
337 k k1718, k1719, k1720, k1818,
338 l k1819, k1820, k1919, k1920,
339 m k2020, ismstr)
340
341
342 DO n=1,npe
343 DO i=1,nel
344 ul(i,n) = zero
345 ENDDO
346 ENDDO
347 DO i=1,nel
348 volg(i) = zero
349 ENDDO
350
351
352
353
354 nlay = elbuf_str%NLAY
355 nptr = elbuf_str%NPTR
356 npts = elbuf_str%NPTS
357 nptt = elbuf_str%NPTT
358 nptg=nptt*npts*nptr*nlay
359 IF(nptg>nipmax)stop 933
360 DO it=1,nptt
361 DO is=1,npts
362 DO ir=1,nptr
363
364 ip = ir + ( (is-1) + (it-1)*npts )*nptr
365 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
367 1 a_gauss(ir,nptr),a_gauss(is,npts),a_gauss(it,nptt),ni(1,ip),
368 2 dnidr ,dnids ,dnidt )
369
370
372 1 ngl, offg, a_gauss(ir,nptr),a_gauss(is,npts),
373 2 a_gauss(it,nptt),wi, dnidr, dnids,
374 3 dnidt, rx(1,ip), ry(1,ip), rz(1,ip),
375 4 sx(1,ip), sy(1,ip), sz(1,ip), tx(1,ip),
376 5 ty(1,ip), tz(1,ip), xx, yy,
377 6 zz, px(1,1,ip), py(1,1,ip), pz(1,1,ip),
378 7 volnp(1,ip), deltax, stin, ni(1,ip),
379 8 volg, ul, ir, is,
380 9 it, voldp, nel)
381
383 1 rx(1,ip), ry(1,ip), rz(1,ip), sx(1,ip),
384 2 sy(1,ip), sz(1,ip), tx(1,ip), ty(1,ip),
385 3 tz(1,ip), e1x(1,ip),e2x(1,ip),e3x(1,ip),
386 4 e1y(1,ip),e2y(1,ip),e3y(1,ip),e1z(1,ip),
387 5 e2z(1,ip),e3z(1,ip),nel)
388 IF (isorth == 0) THEN
389 DO i=1,nel
390 gama(i,1) = one
391 gama(i,2) = zero
392 gama(i,3) = zero
393 gama(i,4) = zero
394 gama(i,5) = one
395 gama(i,6) = zero
396 ENDDO
397 ELSE
399 1 rx(1,ip), ry(1,ip), rz(1,ip), sx(1,ip),
400 2 sy(1,ip), sz(1,ip), tx(1,ip), ty(1,ip),
401 3 tz(1,ip), e1x(1,ip),e2x(1,ip),e3x(1,ip),
402 4 e1y(1,ip),e2y(1,ip),e3y(1,ip),e1z(1,ip),
403 5 e2z(1,ip),e3z(1,ip),gbuf%GAMA,gama,
404 6 nel, irep)
405
406 ENDIF
407
408 ENDDO
409 ENDDO
410 ENDDO
411
412
413
414 IF (mtn>=28) THEN
415 iadbuf = ipm(7,mxt(1))
416 ELSE
417 iadbuf = 1
418 ENDIF
419
420 CALL mmats(1 ,nel ,pm ,mxt ,hh ,
421 . mtn ,ikorth ,ipm ,igeo ,gama ,
422 . bufmat(iadbuf) ,dm ,dgm ,gm ,
423 . jhbe ,gbuf%SIG ,bid ,nptg ,nel )
424
425
426 ibid = 0
427
428 ilay = 1
429 DO ir=1,nptr
430 DO is=1,npts
431 DO it=1,nptt
432 lbuf => elbuf_str%BUFLY(ilay)%LBUF(it,is,it)
433
434 ip = ir + ( (is-1) + (it-1)*npts )*nptr
435 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
436
438 1 pm, mxt, hh, volnp(1,ip),
439 2 ibid, dd, gg, dg,
440 3 g33, dm, gm, dgm,
441 4 ikorth, gbuf%SIG, ir, is,
442 5 it, nel, jhbe, mtn)
443
444
445
447 1 px(1,1,ip),py(1,1,ip),pz(1,1,ip),dd,
448 2 gg, dg, g33, ikorth,
449 3 k11, k12, k13, k14,
450 4 k15, k16, k17, k18,
451 5 k19, k110, k111, k112,
452 6 k113, k114, k115, k116,
453 7 k117, k118, k119, k120,
454 8 k22, k23, k24, k25,
455 9 k26, k27, k28, k29,
456 a k210, k211, k212, k213,
457 b k214, k215, k216, k217,
458 c k218, k219, k220, k33,
459 d k34, k35, k36, k37,
460 e k38, k39, k310, k311,
461 f k312, k313, k314, k315,
462 g k316, k317, k318, k319,
463 h k320, k44, k45, k46,
464 i k47, k48, k49, k410,
465 j k411, k412, k413, k414,
466 k k415, k416, k417, k418,
467 l k419, k420, k55, k56,
468 m k57, k58, k59, k510,
469 n k511, k512, k513, k514,
470 o k515, k516, k517, k518,
471 p k519, k520, k66, k67,
472 q k68, k69, k610, k611,
473 r k612, k613, k614, k615,
474 s k616, k617, k618, k619,
475 t k620, k77, k78, k79,
476 u k710, k711, k712, k713,
477 v k714, k715, k716, k717,
478 w k718, k719, k720, k88,
479 x k89, k810, k811, k812,
480 y k813, k814, k815, k816,
481 z k817, k818, k819, k820,
482 1 k99, k910, k911, k912,
483 2 k913, k914, k915, k916,
484 3 k917, k918, k919, k920,
485 4 k1010, k1011, k1012, k1013,
486 5 k1014, k1015, k1016, k1017,
487 6 k1018, k1019, k1020, k1111,
488 7 k1112, k1113, k1114, k1115,
489 8 k1116, k1117, k1118, k1119,
490 9 k1120, k1212, k1213, k1214,
491 a k1215, k1216, k1217, k1218,
492 b k1219, k1220, k1313, k1314,
493 c k1315, k1316, k1317, k1318,
494 d k1319, k1320, k1414, k1415,
495 e k1416, k1417, k1418, k1419,
496 f k1420, k1515, k1516, k1517,
497 g k1518, k1519, k1520, k1616,
498 h k1617, k1618, k1619, k1620,
499 i k1717, k1718, k1719, k1720,
500 j k1818, k1819, k1820, k1919,
501 k k1920, k2020, nel)
502
503 IF (ikgeo>0) THEN
505 1 lbuf%SIG, volnp(1,ip),px(1,1,ip), py(1,1,ip),
506 2 pz(1,1,ip), k11, k12, k13,
507 3 k14, k15, k16, k17,
508 4 k18, k19, k110, k111,
509 5 k112, k113, k114, k115,
510 6 k116, k117, k118, k119,
511 7 k120, k22, k23, k24,
512 8 k25, k26, k27, k28,
513 9 k29, k210, k211, k212,
514 a k213, k214, k215, k216,
515 b k217, k218, k219, k220,
516 c k33, k34, k35, k36,
517 d k37, k38, k39, k310,
518 e k311, k312, k313, k314,
519 f k315, k316, k317, k318,
520 g k319, k320, k44, k45,
521 h k46, k47, k48, k49,
522 i k410, k411, k412, k413,
523 j k414, k415, k416, k417,
524 k k418, k419, k420, k55,
525 l k56, k57, k58, k59,
526 m k510, k511, k512, k513,
527 n k514, k515, k516, k517,
528 o k518, k519, k520, k66,
529 p k67, k68, k69, k610,
530 q k611, k612, k613, k614,
531 r k615, k616, k617, k618,
532 s k619, k620, k77, k78,
533 t k79, k710, k711, k712,
534 u k713, k714, k715, k716,
535 v k717, k718, k719, k720,
536 w k88, k89, k810, k811,
537 x k812, k813, k814, k815,
538 y k816, k817, k818, k819,
539 z k820, k99, k910, k911,
540 1 k912, k913, k914, k915,
541 2 k916, k917, k918, k919,
542 3 k920, k1010, k1011, k1012,
543 4 k1013, k1014, k1015, k1016,
544 5 k1017, k1018, k1019, k1020,
545 6 k1111, k1112, k1113, k1114,
546 7 k1115, k1116, k1117, k1118,
547 8 k1119, k1120, k1212, k1213,
548 9 k1214, k1215, k1216, k1217,
549 a k1218, k1219, k1220, k1313,
550 b k1314, k1315, k1316, k1317,
551 c k1318, k1319, k1320, k1414,
552 d k1415, k1416, k1417, k1418,
553 e k1419, k1420, k1515, k1516,
554 f k1517, k1518, k1519, k1520,
555 g k1616, k1617, k1618, k1619,
556 h k1620, k1717, k1718, k1719,
557 i k1720, k1818, k1819, k1820,
558 j k1919, k1920, k2020, nel)
559 ENDIF
560
561 ENDDO
562 ENDDO
563 ENDDO
564
565
567 1 1, nel, ixs(1,nf1),ixs20(1,nf2), etag, offg)
569 1 ixs(1,nf1),ixs20(1,nf2),nel,iddl ,ndof ,
570 2 k_diag,k_lt ,iadk ,jdik ,offg ,
571 . k11 ,k12 ,k13 ,k14 ,k15 ,k16 ,k17 ,k18 ,k19 ,k110 ,
572 . k111 ,k112 ,k113 ,k114 ,k115 ,k116 ,k117 ,k118 ,k119 ,k120 ,
573 . k22 ,k23 ,k24 ,k25 ,k26 ,k27 ,k28 ,k29 ,k210 ,k211 ,
574 . k212 ,k213 ,k214 ,k215 ,k216 ,k217 ,k218 ,k219 ,k220 ,k33 ,
575 . k34 ,k35 ,k36 ,k37 ,k38 ,k39 ,k310 ,k311 ,k312 ,k313 ,
576 . k314 ,k315 ,k316 ,k317 ,k318 ,k319 ,k320 ,k44 ,k45 ,k46 ,
577 . k47 ,k48 ,k49 ,k410 ,k411 ,k412 ,k413 ,k414 ,k415 ,k416 ,
578 . k417 ,k418 ,k419 ,k420 ,k55 ,k56 ,k57 ,k58 ,k59 ,k510 ,
579 . k511 ,k512 ,k513 ,k514 ,k515 ,k516 ,k517 ,k518 ,k519 ,k520 ,
580 . k66 ,k67 ,k68 ,k69 ,k610 ,k611 ,k612 ,k613 ,k614 ,k615 ,
581 . k616 ,k617 ,k618 ,k619 ,k620 ,k77 ,k78 ,k79 ,k710 ,k711 ,
582 . k712 ,k713 ,k714 ,k715 ,k716 ,k717 ,k718 ,k719 ,k720 ,k88 ,
583 . k89 ,k810 ,k811 ,k812 ,k813 ,k814 ,k815 ,k816 ,k817 ,k818 ,
584 . k819 ,k820 ,k99 ,k910 ,k911 ,k912 ,k913 ,k914 ,k915 ,k916 ,
585 . k917 ,k918 ,k919 ,k920 ,k1010,k1011,k1012,k1013,k1014,k1015,
586 . k1016,k1017,k1018,k1019,k1020,k1111,k1112,k1113,k1114,k1115,
587 . k1116,k1117,k1118,k1119,k1120,k1212,k1213,k1214,k1215,k1216,
588 . k1217,k1218,k1219,k1220,k1313,k1314,k1315,k1316,k1317,k1318,
589 . k1319,k1320,k1414,k1415,k1416,k1417,k1418,k1419,k1420,k1515,
590 . k1516,k1517,k1518,k1519,k1520,k1616,k1617,k1618,k1619,k1620,
591 . k1717,k1718,k1719,k1720,k1818,k1819,k1820,k1919,k1920,k2020)
592
593
594
595 RETURN
subroutine assem_s20(ixs, ixs20, nel, iddl, ndof, k_diag, k_lt, iadk, jdik, off, k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k120, k22, k23, k24, k25, k26, k27, k28, k29, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k220, k33, k34, k35, k36, k37, k38, k39, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k320, k44, k45, k46, k47, k48, k49, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k420, k55, k56, k57, k58, k59, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k520, k66, k67, k68, k69, k610, k611, k612, k613, k614, k615, k616, k617, k618, k619, k620, k77, k78, k79, k710, k711, k712, k713, k714, k715, k716, k717, k718, k719, k720, k88, k89, k810, k811, k812, k813, k814, k815, k816, k817, k818, k819, k820, k99, k910, k911, k912, k913, k914, k915, k916, k917, k918, k919, k920, k1010, k1011, k1012, k1013, k1014, k1015, k1016, k1017, k1018, k1019, k1020, k1111, k1112, k1113, k1114, k1115, k1116, k1117, k1118, k1119, k1120, k1212, k1213, k1214, k1215, k1216, k1217, k1218, k1219, k1220, k1313, k1314, k1315, k1316, k1317, k1318, k1319, k1320, k1414, k1415, k1416, k1417, k1418, k1419, k1420, k1515, k1516, k1517, k1518, k1519, k1520, k1616, k1617, k1618, k1619, k1620, k1717, k1718, k1719, k1720, k1818, k1819, k1820, k1919, k1920, k2020)
subroutine mmats(jft, jlt, pm, mat, hh, mtn, iorth, ipm, igeo, gama, uparam, cc, cg, g33, jhbe, sig, eps, nppt, nel)
subroutine mmstifs(pm, mat, hh, vol, icsig, dd, gg, dg, g33, dm, gm, dgm, iorth, sig, ir, is, it, nel, jhbe, mtn)
subroutine s20coork(x, ixs, ixs20, npe, xx, yy, zz, offg, off, sav, nc, ngl, mxt, ngeo, nel, k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k120, k22, k23, k24, k25, k26, k27, k28, k29, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k220, k33, k34, k35, k36, k37, k38, k39, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k320, k44, k45, k46, k47, k48, k49, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k420, k55, k56, k57, k58, k59, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k520, k66, k67, k68, k69, k610, k611, k612, k613, k614, k615, k616, k617, k618, k619, k620, k77, k78, k79, k710, k711, k712, k713, k714, k715, k716, k717, k718, k719, k720, k88, k89, k810, k811, k812, k813, k814, k815, k816, k817, k818, k819, k820, k99, k910, k911, k912, k913, k914, k915, k916, k917, k918, k919, k920, k1010, k1011, k1012, k1013, k1014, k1015, k1016, k1017, k1018, k1019, k1020, k1111, k1112, k1113, k1114, k1115, k1116, k1117, k1118, k1119, k1120, k1212, k1213, k1214, k1215, k1216, k1217, k1218, k1219, k1220, k1313, k1314, k1315, k1316, k1317, k1318, k1319, k1320, k1414, k1415, k1416, k1417, k1418, k1419, k1420, k1515, k1516, k1517, k1518, k1519, k1520, k1616, k1617, k1618, k1619, k1620, k1717, k1718, k1719, k1720, k1818, k1819, k1820, k1919, k1920, k2020, ismstr)
subroutine s20cumg3(px, py, pz, dd, gg, dg, g33, iksup, k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k120, k22, k23, k24, k25, k26, k27, k28, k29, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k220, k33, k34, k35, k36, k37, k38, k39, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k320, k44, k45, k46, k47, k48, k49, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k420, k55, k56, k57, k58, k59, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k520, k66, k67, k68, k69, k610, k611, k612, k613, k614, k615, k616, k617, k618, k619, k620, k77, k78, k79, k710, k711, k712, k713, k714, k715, k716, k717, k718, k719, k720, k88, k89, k810, k811, k812, k813, k814, k815, k816, k817, k818, k819, k820, k99, k910, k911, k912, k913, k914, k915, k916, k917, k918, k919, k920, k1010, k1011, k1012, k1013, k1014, k1015, k1016, k1017, k1018, k1019, k1020, k1111, k1112, k1113, k1114, k1115, k1116, k1117, k1118, k1119, k1120, k1212, k1213, k1214, k1215, k1216, k1217, k1218, k1219, k1220, k1313, k1314, k1315, k1316, k1317, k1318, k1319, k1320, k1414, k1415, k1416, k1417, k1418, k1419, k1420, k1515, k1516, k1517, k1518, k1519, k1520, k1616, k1617, k1618, k1619, k1620, k1717, k1718, k1719, k1720, k1818, k1819, k1820, k1919, k1920, k2020, nel)
subroutine s20eoff(jft, jlt, ixs, ixs20, etag, off)
subroutine s20kgeo3(sig, vol, px, py, pz, k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k120, k22, k23, k24, k25, k26, k27, k28, k29, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k220, k33, k34, k35, k36, k37, k38, k39, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k320, k44, k45, k46, k47, k48, k49, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k420, k55, k56, k57, k58, k59, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k520, k66, k67, k68, k69, k610, k611, k612, k613, k614, k615, k616, k617, k618, k619, k620, k77, k78, k79, k710, k711, k712, k713, k714, k715, k716, k717, k718, k719, k720, k88, k89, k810, k811, k812, k813, k814, k815, k816, k817, k818, k819, k820, k99, k910, k911, k912, k913, k914, k915, k916, k917, k918, k919, k920, k1010, k1011, k1012, k1013, k1014, k1015, k1016, k1017, k1018, k1019, k1020, k1111, k1112, k1113, k1114, k1115, k1116, k1117, k1118, k1119, k1120, k1212, k1213, k1214, k1215, k1216, k1217, k1218, k1219, k1220, k1313, k1314, k1315, k1316, k1317, k1318, k1319, k1320, k1414, k1415, k1416, k1417, k1418, k1419, k1420, k1515, k1516, k1517, k1518, k1519, k1520, k1616, k1617, k1618, k1619, k1620, k1717, k1718, k1719, k1720, k1818, k1819, k1820, k1919, k1920, k2020, nel)
subroutine sorthdir3(rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, gama0, gama, nel, irep)
subroutine s20deri3(ngl, off, r, s, t, w, dnidr, dnids, dnidt, dxdr, dydr, dzdr, dxds, dyds, dzds, dxdt, dydt, dzdt, xx, yy, zz, px, py, pz, vol, deltax, deltax2, ip, nip, ul, volg, voldp)
subroutine s20rst(r, s, t, ni, dnidr, dnids, dnidt)
subroutine sreploc3(rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)