35 SUBROUTINE fsigsini(FXBELM, IPARG , X , PM, IXS,
36 . GEO , FXBMOD, FXBSIG, R , NELS)
37 use element_mod ,
only : nixs
41#include "implicit_f.inc"
53 INTEGER FXBELM(*), IPARG(NPARG,*), IXS(NIXS,*), NELS
55 . fxbsig(*), x(3,*), pm(npropm,*), fxbmod(*),
56 . geo(npropg,*), r(3,*)
60 INTEGER I, IG, , LAST, NFT, NFS, NG, IEL,
61 . n1, n2, n3, n4, n5, n6, n7, n8
64 . x1(mvsiz), y1(mvsiz), z1(mvsiz),
65 . x2(mvsiz), y2(mvsiz), z2(mvsiz),
66 . x3(mvsiz), y3(mvsiz), z3(mvsiz),
67 . x4(mvsiz), y4(mvsiz), z4(mvsiz),
68 . x5(mvsiz), y5(mvsiz), z5(mvsiz),
69 . x6(mvsiz), y6(mvsiz), z6(mvsiz),
70 . x7(mvsiz), y7(mvsiz), z7(mvsiz),
71 . x8(mvsiz), y8(mvsiz), z8(mvsiz),
72 . d11, d12, d13, d21, d22, d23, d31, d32, d33, d41, d42, d43,
73 . d51, d52, d53, d61, d62, d63, d71, d72, d73, d81, d82, d83,
74 . vx1(mvsiz), vy1(mvsiz), vz1(mvsiz),
75 . vx2(mvsiz), vy2(mvsiz), vz2(mvsiz),
76 . vx3(mvsiz), vy3(mvsiz), vz3(mvsiz),
77 . vx4(mvsiz), vy4(mvsiz), vz4(mvsiz),
78 . vx5(mvsiz), vy5(mvsiz), vz5(mvsiz),
79 . vx6(mvsiz), vy6(mvsiz), vz6(mvsiz),
80 . vx7(mvsiz), vy7(mvsiz), vz7(mvsiz),
81 . vx8(mvsiz), vy8(mvsiz), vz8(mvsiz),
82 . x1p(mvsiz), y1p(mvsiz), z1p(mvsiz),
83 . x2p(mvsiz), y2p(mvsiz), z2p(mvsiz),
84 . x3p(mvsiz), y3p(mvsiz), z3p(mvsiz),
85 . x4p(mvsiz), y4p(mvsiz), z4p(mvsiz),
86 . x5p(mvsiz), y5p(mvsiz), z5p(mvsiz),
87 . x6p(mvsiz), y6p(mvsiz), z6p(mvsiz),
88 . x7p(mvsiz), y7p(mvsiz), z7p(mvsiz),
89 . x8p(mvsiz), y8p(mvsiz), z8p(mvsiz),
90 . px1(mvsiz), px2(mvsiz), px3(mvsiz), px4(mvsiz),
91 . py1(mvsiz), py2(mvsiz), py3(mvsiz), py4(mvsiz),
92 . pz1(mvsiz), pz2(mvsiz), pz3(mvsiz), pz4(mvsiz),
93 . vol(mvsiz), volp(mvsiz), d1(mvsiz), d2(mvsiz), d3(mvsiz),
94 . d4(mvsiz), d5(mvsiz), d6(mvsiz), rhop(mvsiz), sig(6,mvsiz),
95 . eint(mvsiz), sigl(6,mvsiz)
99 last=
min(mvsiz,nels-offset)
103 ng=fxbelm(nft+13*(i-1)+1)
104 iel=iparg(3,ng)+fxbelm(nft+13*(i-1)+2)
106 x1(i)=x(1,ixs(2,iel))
107 y1(i)=x(2,ixs(2,iel))
108 z1(i)=x(3,ixs(2,iel))
109 x2(i)=x(1,ixs(3,iel))
110 y2(i)=x(2,ixs(3,iel))
111 z2(i)=x(3,ixs(3,iel))
112 x3(i)=x(1,ixs(4,iel))
113 y3(i)=x(2,ixs(4,iel))
114 z3(i)=x(3,ixs(4,iel))
115 x4(i)=x(1,ixs(5,iel))
116 y4(i)=x(2,ixs(5,iel))
117 z4(i)=x(3,ixs(5,iel))
118 x5(i)=x(1,ixs(6,iel))
119 y5(i)=x(2,ixs(6,iel))
120 z5(i)=x(3,ixs(6,iel))
121 x6(i)=x(1,ixs(7,iel))
122 y6(i)=x(2,ixs(7,iel))
123 z6(i)=x(3,ixs(7,iel))
124 x7(i)=x(1,ixs(8,iel))
125 y7(i)=x(2,ixs(8,iel))
126 z7(i)=x(3,ixs(8,iel))
127 x8(i)=x(1,ixs(9,iel))
128 y8(i)=x(2,ixs(9,iel))
129 z8(i)=x(3,ixs(9,iel))
130 n1=fxbelm(nft+13*(i-1)+3)
131 n2=fxbelm(nft+13*(i-1)+4)
132 n3=fxbelm(nft+13*(i-1)+5)
133 n4=fxbelm(nft+13*(i-1)+6)
134 n5=fxbelm(nft+13*(i-1)+7)
135 n6=fxbelm(nft+13*(i-1)+8)
136 n7=fxbelm(nft+13*(i-1)+9)
137 n8=fxbelm(nft+13*(i-1)+10)
138 d11=fxbmod(6*(n1-1)+1)
139 d12=fxbmod(6*(n1-1)+2)
140 d13=fxbmod(6*(n1-1)+3)
141 d21=fxbmod(6*(n2-1)+1)
142 d22=fxbmod(6*(n2-1)+2)
143 d23=fxbmod(6*(n2-1)+3)
144 d31=fxbmod(6*(n3-1)+1)
145 d32=fxbmod(6*(n3-1)+2)
146 d33=fxbmod(6*(n3-1)+3)
147 d41=fxbmod(6*(n4-1)+1)
148 d42=fxbmod(6*(n4-1)+2)
149 d43=fxbmod(6*(n4-1)+3)
150 d51=fxbmod(6*(n5-1)+1)
151 d52=fxbmod(6*(n5-1)+2)
152 d53=fxbmod(6*(n5-1)+3)
154 d62=fxbmod(6*(n6-1)+2)
155 d63=fxbmod(6*(n6-1)+3)
156 d71=fxbmod(6*(n7-1)+1)
157 d72=fxbmod(6*(n7-1)+2)
158 d73=fxbmod(6*(n7-1)+3)
159 d81=fxbmod(6*(n8-1)+1)
160 d82=fxbmod(6*(n8-1)+2)
161 d83=fxbmod(6*(n8-1)+3)
162 vx1(i)=r(1,1)*d11+r(1,2)*d12+r(1,3)*d13
163 vy1(i)=r(2,1)*d11+r(2,2)*d12+r(2,3)*d13
164 vz1(i)=r(3,1)*d11+r(3,2)*d12+r(3,3)*d13
165 vx2(i)=r(1,1)*d21+r(1,2)*d22+r(1,3)*d23
166 vy2(i)=r(2,1)*d21+r(2,2)*d22+r(2,3)*d23
167 vz2(i)=r(3,1)*d21+r(3,2)*d22+r(3,3)*d23
168 vx3(i)=r(1,1)*d31+r(1,2)*d32+r(1,3)*d33
169 vy3(i)=r(2,1)*d31+r(2,2)*d32+r(2,3)*d33
170 vz3(i)=r(3,1)*d31+r(3,2)*d32+r(3,3)*d33
171 vx4(i)=r(1,1)*d41+r(1,2)*d42+r(1,3)*d43
172 vy4(i)=r(2,1)*d41+r(2,2)*d42+r(2,3)*d43
173 vz4(i)=r(3,1)*d41+r(3,2)*d42+r(3,3)*d43
174 vx5(i)=r(1,1)*d51+r(1,2)*d52+r(1,3)*d53
175 vy5(i)=r(2,1)*d51+r(2,2)*d52+r(2,3)*d53
176 vz5(i)=r(3,1)*d51+r(3,2)*d52+r(3,3)*d53
177 vx6(i)=r(1,1)*d61+r(1,2)*d62+r(1,3)*d63
178 vy6(i)=r(2,1)*d61+r(2,2)*d62+r(2,3)*d63
179 vz6(i)=r(3,1)*d61+r(3,2)*d62+r(3,3)*d63
180 vx7(i)=r(1,1)*d71+r(1,2)*d72+r(1,3)*d73
181 vy7(i)=r(2,1)*d71+r(2,2)*d72+r(2,3)*d73
182 vz7(i)=r(3,1)*d71+r(3,2)*d72+r(3,3)*d73
183 vx8(i)=r(1,1)*d81+r(1,2)*d82+r(1,3)*d83
184 vy8(i)=r(2,1)*d81+r(2,2)*d82+r(2,3)*d83
185 vz8(i)=r(3,1)*d81+r(3,2)*d82+r(3,3)*d83
213 . x1p, x2p, x3p, x4p, x5p, x6p, x7p, x8p,
214 . y1p, y2p, y3p, y4p, y5p, y6p, y7p, y8p,
215 . z1p, z2p, z3p, z4p, z5p, z6p, z7p, z8p,
216 . px1, px2, px3, px4,
217 . py1, py2, py3, py4,
220 . x1, x2, x3, x4, x5, x6, x7, x8,
222 . z1, z2, z3, z4, z5, z6, z7, z8,
223 . px1, px2, px3, px4,
224 . py1, py2, py3, py4,
225 . pz1, pz2, pz3, pz4)
227 . px1, px2, px3, px4,
228 . py1, py2, py3, py4,
229 . pz1, pz2, pz3, pz4,
230 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
231 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
232 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
233 . d1, d2 , d3, d4, d5, d6 )
234 CALL srhoi(last, pm, vol, rhop, volp, mat)
235 CALL sm1inif(last, pm, sig, eint,
236 . rhop, d1, d2, d3, d4,
238 CALL schrep(last, sig, sigl, r)
241 iel=iparg(3,ng)+fxbelm(nft+13*(i-1)+2)
242 fxbsig(nfs+7*(i-1)+1)=sigl(1,i)
243 fxbsig(nfs+7*(i-1)+2)=sigl(2,i)
244 fxbsig(nfs+7*(i-1)+3)=sigl(3,i)
245 fxbsig(nfs+7*(i-1)+4)=sigl(4,i)
246 fxbsig(nfs+7*(i-1)+5)=sigl(5,i)
247 fxbsig(nfs+7*(i-1)+6)=sigl(6,i)
248 fxbsig(nfs+7*(i-1)+7)=eint(i)
260 . X1, X2, X3, X4, X5, X6, X7, X8,
261 . Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8,
262 . Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8,
263 . PX1, PX2, PX3, PX4,
264 . PY1, PY2, PY3, PY4,
265 . PZ1, PZ2, PZ3, PZ4)
269#include "implicit_f.inc"
273#include "mvsiz_p.inc"
280 . X1(*), X2(*), X3(*), X4(*), X5(*), X6(*), X7(*), X8(*),
281 . Y1(*), Y2(*), Y3(*), Y4(*), Y5(*), Y6(*), Y7(*), Y8(*),
282 . Z1(*), Z2(*), Z3(*), Z4(*), Z5(*), (*), Z7(*), Z8(*),
283 . PX1(*), (*), (*), PX4(*),
284 . py1(*), py2(*), py3(*), py4(*),
285 . pz1(*), pz2(*), pz3(*), pz4(*)
291 . JAC1(MVSIZ),JAC2(MVSIZ),JAC3(MVSIZ),
292 . (MVSIZ),JAC5(MVSIZ),(MVSIZ),
293 . DETT(MVSIZ) , JAC7(MVSIZ), JAC8(MVSIZ) , JAC9(MVSIZ),
294 . JACI1(MVSIZ), JACI2(MVSIZ), JACI3(MVSIZ),
295 . JACI4(MVSIZ), JACI5(MVSIZ), JACI6(MVSIZ),
296 . jaci7(mvsiz), jaci8(mvsiz), jaci9(mvsiz),
297 . x17(mvsiz) , x28(mvsiz) , x35(mvsiz) , x46(mvsiz),
298 . y17(mvsiz) , y28(mvsiz) , y35(mvsiz) , y46(mvsiz),
299 . z17(mvsiz) , z28(mvsiz) , z35(mvsiz) , z46(mvsiz),
300 . jac_59_68(mvsiz), jac_67_49(mvsiz), jac_48_57(mvsiz),
301 . jaci12(mvsiz), jaci45(mvsiz), jaci78(mvsiz),
302 . x_17_46(mvsiz) , x_28_35(mvsiz) ,
303 . y_17_46(mvsiz) , y_28_35(mvsiz) ,
304 . z_17_46(mvsiz) , z_28_35(mvsiz)
322 jac1(i)=x17(i)+x28(i)-x35(i)-x46(i)
323 jac2(i)=y17(i)+y28(i)-y35(i)-y46(i)
324 jac3(i)=z17(i)+z28(i)-z35(i)-z46(i)
325 x_17_46(i)=x17(i)+x46(i)
326 x_28_35(i)=x28(i)+x35(i)
327 y_17_46(i)=y17(i)+y46(i)
328 y_28_35(i)=y28(i)+y35(i)
329 z_17_46(i)=z17(i)+z46(i)
330 z_28_35(i)=z28(i)+z35(i)
335 jac4(i)=x_17_46(i)+x_28_35(i)
336 jac5(i)=y_17_46(i)+y_28_35(i)
337 jac6(i)=z_17_46(i)+z_28_35(i)
338 jac7(i)=x_17_46(i)-x_28_35(i)
339 jac8(i)=y_17_46(i)-y_28_35(i)
340 jac9(i)=z_17_46(i)-z_28_35(i)
344 jac_59_68(i)=jac5(i)*jac9(i)-jac6(i)*jac8(i)
345 jac_67_49(i)=jac6(i)*jac7(i)-jac4(i)*jac9(i)
346 jac_48_57(i)=jac4(i)*jac8(i)-jac5(i)*jac7(i)
350 det(i)=one_over_64*(jac1(i)*jac_59_68(i)+jac2(i)*jac_67_49(i)
351 . +jac3(i)*jac_48_57(i))
355 dett(i)=one_over_64/det(i)
360 jaci1(i)=dett(i)*jac_59_68(i)
361 jaci4(i)=dett(i)*jac_67_49(i)
362 jaci7(i)=dett(i)*jac_48_57(i)
363 jaci2(i)=dett(i)*(-jac2(i)*jac9(i)+jac3(i)*jac8(i))
364 jaci5(i)=dett(i)*( jac1(i)*jac9(i)-jac3(i)*jac7(i))
365 jaci8(i)=dett(i)*(-jac1(i)*jac8(i)+jac2(i)*jac7(i))
366 jaci3(i)=dett(i)*( jac2(i)*jac6(i)-jac3(i)*jac5(i))
367 jaci6(i)=dett(i)*(-jac1(i)*jac6(i)+jac3(i)*jac4(i))
368 jaci9(i)=dett(i)*( jac1(i)*jac5(i)-jac2(i)*jac4(i))
372 jaci12(i)=jaci1(i)-jaci2(i)
373 jaci45(i)=jaci4(i)-jaci5(i)
374 jaci78(i)=jaci7(i)-jaci8(i)
377 px3(i)= jaci12(i)+jaci3(i)
378 py3(i)= jaci45(i)+jaci6(i)
379 pz3(i)= jaci78(i)+jaci9(i)
380 px4(i)= jaci12(i)-jaci3(i)
381 py4(i)= jaci45(i)-jaci6(i)
382 pz4(i)= jaci78(i)-jaci9(i)
385 jaci12(i)=jaci1(i)+jaci2(i)
386 jaci45(i)=jaci4(i)+jaci5(i)
390 px1(i)=-jaci12(i)-jaci3(i)
391 py1(i)=-jaci45(i)-jaci6(i)
392 pz1(i)=-jaci78(i)-jaci9(i)
393 px2(i)=-jaci12(i)+jaci3(i)
394 py2(i)=-jaci45(i)+jaci6(i)
395 pz2(i)=-jaci78(i)+jaci9(i)
406 . PX1, PX2, PX3, PX4,
407 . PY1, PY2, PY3, PY4,
408 . PZ1, PZ2, PZ3, PZ4,
409 . VX1, VX2, VX3, VX4, VX5, VX6, VX7, VX8,
410 . VY1, VY2, VY3, VY4, VY5, VY6, VY7, VY8,
411 . VZ1, VZ2, VZ3, VZ4, VZ5, VZ6, VZ7, VZ8,
412 . DXX, DYY, DZZ, D4 , D5 , D6 )
416#include "implicit_f.inc"
420#include "mvsiz_p.inc"
426 . (*), VX2(*), VX3(*), VX4(*), VX5(*), VX6(*), VX7(*), VX8(*),
427 . VY1(*), VY2(*), VY3(*), VY4(*), VY5(*), VY6(*), VY7(*), VY8(*),
428 . VZ1(*), VZ2(*), VZ3(*), VZ4(*), VZ5(*), VZ6(*), VZ7(*), VZ8(*),
429 . PX1(*), PX2(*), PX3(*), PX4(*),
430 . PY1(*), PY2(*), PY3(*), PY4(*),
431 . PZ1(*), PZ2(*), PZ3(*), PZ4(*),
432 . DXX(*), DYY(*), DZZ(*), D4(*) , D5(*), D6(*)
438 . vx17(mvsiz), vy17(mvsiz), vz17(mvsiz),
439 . vx28(mvsiz), vy28(mvsiz), vz28(mvsiz),
440 . vx35(mvsiz), vy35(mvsiz), vz35(mvsiz),
441 . vx46(mvsiz), vy46(mvsiz), vz46(mvsiz)
443 . dxy(mvsiz), dxz(mvsiz), dyx(mvsiz), dyz(mvsiz), dzx(mvsiz),
447 vx17(i)=vx1(i)-vx7(i)
448 vx28(i)=vx2(i)-vx8(i)
449 vx35(i)=vx3(i)-vx5(i)
450 vx46(i)=vx4(i)-vx6(i)
451 vy17(i)=vy1(i)-vy7(i)
452 vy28(i)=vy2(i)-vy8(i)
453 vy35(i)=vy3(i)-vy5(i)
454 vy46(i)=vy4(i)-vy6(i)
455 vz17(i)=vz1(i)-vz7(i)
456 vz28(i)=vz2(i)-vz8(i)
457 vz35(i)=vz3(i)-vz5(i)
458 vz46(i)=vz4(i)-vz6(i)
462 dxx(i)=px1(i)*vx17(i)+px2(i)*vx28(i)+
463 . px3(i)*vx35(i)+px4(i)*vx46(i)
464 dyy(i)=py1(i)*vy17(i)+py2(i)*vy28(i)+
465 . py3(i)*vy35(i)+py4(i)*vy46(i)
466 dzz(i)=pz1(i)*vz17(i)+pz2(i)*vz28(i)+
467 . pz3(i)*vz35(i)+pz4(i)*vz46(i)
468 dxy(i)=py1(i)*vx17(i)+py2(i)*vx28(i)+
469 . py3(i)*vx35(i)+py4(i)*vx46(i)
470 dxz(i)=pz1(i)*vx17(i)+pz2(i)*vx28(i)+
471 . pz3(i)*vx35(i)+pz4(i)*vx46(i)
472 dyx(i)=px1(i)*vy17(i)+px2(i)*vy28(i)+
473 . px3(i)*vy35(i)+px4(i)*vy46(i)
474 dyz(i)=pz1(i)*vy17(i)+pz2(i)*vy28(i)+
475 . pz3(i)*vy35(i)+pz4(i)*vy46(i)
476 dzx(i)=px1(i)*vz17(i)+px2(i)*vz28(i)+
477 . px3(i)*vz35(i)+px4(i)*vz46(i)
478 dzy(i)=py1(i)*vz17(i)+py2(i)*vz28(i)+
479 . py3(i)*vz35(i)+py4(i)*vz46(i)
483 d4(i) = dxy(i)+dyx(i)
484 d5(i) = dyz(i)+dzy(i)
485 d6(i) = dxz(i)+dzx(i)
610#include "implicit_f.inc"
616 . sig(6,*), sigl(6,*), r(3,*)
624 . r(1,1)*(r(1,1)*sig(1,i)+r(2,1)*sig(4,i)+r(3,1)*sig(6,i))
625 . +r(2,1)*(r(1,1)*sig(4,i)+r(2,1)*sig(2,i)+r(3,1)*sig
626 . +r(3,1)*(r(1,1)*sig(6,i)+r(2,1)*sig(5,i)+r(3,1)*sig(3,i))
628 . r(1,2)*(r(1,2)*sig(1,i)+r(2,2)*sig(4,i)+r(3,2)*sig(6,i))
629 . +r(2,2)*(r(1,2)*sig(4,i)+r(2,2)*sig(2,i)+r(3,2)*sig(5,i))
630 . +r(3,2)*(r(1,2)*sig(6,i)+r(2,2)*sig(5,i)+r(3,2)*sig(3,i))
632 . r(1,3)*(r(1,3)*sig(1,i)+r(2,3)*sig(4,i)+r(3,3)*sig(6,i))
633 . +r(2,3)*(r(1,3)*sig(4,i)+r(2,3)*sig(2,i)+r(3,3)*sig(5,i))
634 . +r(3,3)*(r(1,3)*sig(6,i)+r(2,3)*sig(5,i)+r(3,3)*sig(3,i))
636 . r(1,1)*(r(1,2)*sig(1,i)+r(2,2)*sig(4,i)+r(3,2)*sig(6,i))
637 . +r(2,1)*(r(1,2)*sig(4,i)+r(2,2)*sig(2,i)+r(3,2)*sig(5,i))
638 . +r(3,1)*(r(1,2)*sig(6,i)+r(2,2)*sig(5,i)+r(3,2)*sig(3,i))
640 . r(1,2)*(r(1,3)*sig(1,i)+r(2,3)*sig(4,i)+r(3,3)*sig(6,i))
641 . +r(2,2)*(r(1,3)*sig(4,i)+r(2,3)*sig(2,i)+r(3,3)*sig(5,i))
642 . +r(3,2)*(r(1,3)*sig(6,i)+r(2,3)*sig(5,i)+r(3,3)*sig(3,i))
644 . r(1,1)*(r(1,3)*sig(1,i)+r(2,3)*sig(4,i)+r(3,3)*sig(6,i))
645 . +r(2,1)*(r(1,3)*sig(4,i)+r(2,3)*sig(2,i)+r(3,3)*sig(5,i))
646 . +r(3,1)*(r(1,3)*sig(6,i)+r(2,3)*sig(5,i)+r(3,3)*sig(3,i))