49
50
51
52 USE mat_elem_mod
55
56
57
58#include "implicit_f.inc"
59
60
61
62#include "mvsiz_p.inc"
63
64
65
66#include "param_c.inc"
67#include "scr03_c.inc"
68#include "scr17_c.inc"
69#include "vect01_c.inc"
70
71
72
73 INTEGER ,INTENT(IN) :: NUMMAT
74 INTEGER IXS(NIXS,*), IPARG(*),IPARTS(*), IGEO(*),
75 . IPM(NPROPMI,*),IPART(LIPART1,*), NEL, NPF(*)
77 . pm(npropm,*), x(3,*), xrefs(8,3,*), geo(npropg,*),
78 . skew(lskew,*), bufmat(*), tf(*)
79 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
80 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(INOUT) :: MAT_PARAM
81
82
83
84 INTEGER NF1, I,II(6), N, JHBE, IREP, IGTYP, ITRS, IBID,
85 . NITSAV,J,I1,I2,ID,IMAT,MAT_ID
86 INTEGER MAT(MVSIZ), PID(MVSIZ), NGL(MVSIZ),
87 . IX1(MVSIZ),IX2(MVSIZ),IX3(MVSIZ),IX4(MVSIZ),
88 . IX5(MVSIZ),IX6(MVSIZ),IX7(MVSIZ),IX8(MVSIZ)
90 . x1(mvsiz),x2(mvsiz),x3(mvsiz),x4(mvsiz),x5(mvsiz),x6(mvsiz),
91 . x7(mvsiz),x8(mvsiz),y1(mvsiz),y2(mvsiz),y3(mvsiz),y4(mvsiz),
92 . y5(mvsiz),y6(mvsiz),y7(mvsiz),y8(mvsiz),z1(mvsiz),z2(mvsiz),
93 . z3(mvsiz),z4(mvsiz),z5(mvsiz),z6(mvsiz),z7(mvsiz),z8(mvsiz),
94 . rx(mvsiz) ,ry(mvsiz) ,rz(mvsiz) ,volu(mvsiz),
95 . sx(mvsiz) ,sy(mvsiz) ,sz(mvsiz) ,
96 . tx(mvsiz) ,ty(mvsiz) ,tz(mvsiz) ,
97 . f1x(mvsiz) ,f1y(mvsiz) ,f1z(mvsiz) ,
98 . f2x(mvsiz) ,f2y(mvsiz) ,f2z(mvsiz),
99 . e1x(mvsiz),e1y(mvsiz),e1z(mvsiz),
100 . e2x(mvsiz),e2y(mvsiz),e2z(mvsiz),
101 . e3x(mvsiz),e3y(mvsiz),e3z(mvsiz),
102 . px1(mvsiz) ,px2(mvsiz) ,px3(mvsiz), px4(mvsiz),
103 . py1(mvsiz) ,py2(mvsiz) ,py3(mvsiz), py4(mvsiz),
104 . pz1(mvsiz) ,pz2(mvsiz) ,pz3(mvsiz), pz4(mvsiz),
105 . mfxx(mvsiz), mfxy(mvsiz), mfyx(mvsiz),
106 . mfyy(mvsiz), mfyz(mvsiz), mfzy(mvsiz),
107 . mfzz(mvsiz), mfzx(mvsiz), mfxz(mvsiz),
108 . voln(mvsiz), dvol(mvsiz),
109 . xr(mvsiz,8) ,yr(mvsiz,8) ,zr(mvsiz,8) ,
110 . vxl(mvsiz,8),vyl(mvsiz,8),vzl(mvsiz,8),
111 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
112 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
113 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
114 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
115 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
116 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
117 . dxx(mvsiz),dxy(mvsiz),dxz(mvsiz),
118 . dyx(mvsiz),dyy(mvsiz),dyz(mvsiz),
119 . dzx(mvsiz),dzy(mvsiz),dzz(mvsiz),
120 . d4(mvsiz) ,d5(mvsiz) ,d6(mvsiz) ,
121 . s1(mvsiz) , s2(mvsiz), s3(mvsiz),
122 . s4(mvsiz) , s5(mvsiz), s6(mvsiz),
123 . wxx(mvsiz), wyy(mvsiz), wzz(mvsiz),
124 . g1x(mvsiz),g2x(mvsiz),g3x(mvsiz),
125 . g1y(mvsiz),g2y(mvsiz),g3y(mvsiz),
126 . g1z(mvsiz),g2z(mvsiz),g3z(mvsiz),
127 . vbid(lveul,mvsiz)
129 . fac, xt, yt, zt
130
131 TYPE(G_BUFEL_) ,POINTER :: GBUF
132 CHARACTER(LEN=NCHARTITLE):: TITR
133
134
135
136 gbuf => elbuf_str%GBUF
137 jeul = iparg(11)
138 jhbe = iparg(23)
139 irep = iparg(35)
140 jcvt = iparg(37)
141 igtyp = iparg(38)
142 isorth= iparg(42)
143 nf1=nft+1
144
145 nitsav=nitrs
146
147
148 IF (ismstr >= 10) nitrs=10
149 ibid = 0
150 DO j=1,6
151 ii(j) = nel*(j-1)
152 ENDDO
153
154
155
156 IF (nxref > 0 .AND. jlag/=0 .AND. jsph==0)THEN
157
158 IF(mtn /= 35 .AND.mtn /= 38 .AND. mtn /= 42 .AND.
159 . mtn /= 70 .AND. mtn /= 90.AND. mtn /= 1)THEN
160 nitrs=nitsav
161
162 RETURN
163 END IF
164
165 IF (jcvt <= 0 .OR. (jhbe/=1.AND.jhbe/=2.
166 . and.jhbe/=24.AND.jhbe/=14.AND.jhbe/=17))THEN
167 nitrs=nitsav
168
169 RETURN
170 END IF
171
172
173
174 mat(1) = 0
175 DO i=1,nel
176 n=nft+i
177 mat(i)=ixs(1,n)
178 ix1(i)=ixs(2,n)
179 ix2(i)=ixs(3,n)
180 ix3(i)=ixs(4,n)
181 ix4(i)=ixs(5,n)
182 ix5(i)=ixs(6,n)
183 ix6(i)=ixs(7,n)
184 ix7(i)=ixs(8,n)
185 ix8(i)=ixs(9,n)
186 pid(i)=ixs(nixs-1,n)
187 ngl(i)=ixs(nixs,n)
188 END DO
189 imat = mat(1)
190
191
192
193 DO i=1,nel
194 xt = xrefs(8,1,nft+i)
195 yt = xrefs(8,2,nft+i)
196 zt = xrefs(8,3,nft+i)
197 xr(i,1) = xrefs(1,1,nft+i)-xt
198 yr(i,1) = xrefs(1,2,nft+i)-yt
199 zr(i,1) = xrefs(1,3,nft+i)-zt
200 xr(i,2) = xrefs(2,1,nft+i)-xt
201 yr(i,2) = xrefs(2,2,nft+i)-yt
202 zr(i,2) = xrefs(2,3,nft+i)-zt
203 xr(i,3) = xrefs(3,1,nft+i)-xt
204 yr(i,3) = xrefs(3,2,nft+i)-yt
205 zr(i,3) = xrefs(3,3,nft+i)-zt
206 xr(i,4) = xrefs(4,1,nft+i)-xt
207 yr(i,4) = xrefs(4,2,nft+i)-yt
208 zr(i,4) = xrefs(4,3,nft+i)-zt
209 xr(i,5) = xrefs(5,1,nft+i)-xt
210 yr(i,5) = xrefs(5,2,nft+i)-yt
211 zr(i,5) = xrefs(5,3,nft+i)-zt
212 xr(i,6) = xrefs(6,1,nft+i)-xt
213 yr(i,6) = xrefs(6,2,nft+i)-yt
214 zr(i,6) = xrefs(6,3,nft+i)-zt
215 xr(i,7) = xrefs(7,1,nft+i)-xt
216 yr(i,7) = xrefs(7,2,nft+i)-yt
217 zr(i,7) = xrefs(7,3,nft+i)-zt
218 xr(i,8) = zero
219 yr(i,8) = zero
220 zr(i,8) = zero
221 END DO
222
223
225 . xr(1,1) ,xr(1,2) ,xr(1,3) ,xr(1,4) ,
226 . xr(1,5) ,xr(1,6) ,xr(1,7) ,xr(1,8) ,
227 . yr(1,1) ,yr(1,2) ,yr(1,3) ,yr(1,4) ,
228 . yr(1,5) ,yr(1,6) ,yr(1,7) ,yr(1,8) ,
229 . zr(1,1) ,zr(1,2) ,zr(1,3) ,zr(1,4) ,
230 . zr(1,5) ,zr(1,6) ,zr(1,7) ,zr(1,8) ,
231 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,
232 . tz ,f1x ,f1y ,f1z ,f2x ,f2y ,f2z )
233
234 IF (jhbe == 24) THEN
235
237 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
238 . e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,e1x ,e1y ,e1z )
239 ELSE
241 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
242 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z )
243 ENDIF
244
245 IF (igtyp == 6)THEN
246 IF(jhbe /=24)THEN
248 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
249 . xr(1,1) ,xr(1,2) ,xr(1,3) ,xr(1,4) ,
250 . xr(1,5) ,xr(1,6) ,xr(1,7) ,xr(1,8) ,
251 . yr(1,1) ,yr(1,2) ,yr(1,3) ,yr(1,4) ,
252 . yr(1,5) ,yr(1,6) ,yr(1,7) ,yr(1,8) ,
253 . zr(1,1) ,zr(1,2) ,zr(1,3) ,zr(1,4) ,
254 . zr(1,5) ,zr(1,6) ,zr(1,7) ,zr(1,8) ,nel)
255 END IF
256 END IF
257
258 DO i=1,nel
259 xt=x(1,ix8(i))
260 yt=x(2,ix8(i))
261 zt=x(3,ix8(i))
262 x1(i)=x(1,ix1(i))-xt
263 y1(i)=x(2,ix1(i))-yt
264 z1(i)=x(3,ix1(i))-zt
265 x2(i)=x(1,ix2(i))-xt
266 y2(i)=x(2,ix2(i))-yt
267 z2(i)=x(3,ix2(i))-zt
268 x3(i)=x(1,ix3(i))-xt
269 y3(i)=x(2,ix3(i))-yt
270 z3(i)=x(3,ix3(i
271 x4(i)=x(1,ix4(i))-xt
272 y4(i)=x(2,ix4(i))-yt
273 z4(i)=x(3,ix4(i))-zt
274 x5(i)=x(1,ix5(i))-xt
275 y5(i)=x(2,ix5(i))-yt
276 z5(i)=x(3,ix5(i))-zt
277 x6(i)=x(1,ix6(i))-xt
278 y6(i)=x(2,ix6(i))-yt
279 z6(i)=x(3,ix6(i))-zt
280 x7(i)=x(1,ix7(i))-xt
281 y7(i)=x(2,ix7(i))-yt
282 z7(i)=x(3,ix7(i))-zt
283 x8(i)=zero
284 y8(i)=zero
285 z8(i)=zero
286 END DO
287
288
290 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
291 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
292 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
293 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,
294 . tz ,f1x ,f1y ,f1z ,f2x ,f2y ,f2z )
295
296 IF (jhbe == 24) THEN
297
299 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
300 . e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,e1x ,e1y ,e1z )
301 ELSE
303 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
304 . e1x ,e1y ,e1z
305 ENDIF
306
307 CALL srrota3(e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
308 .
309 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
310 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 )
311
312
313 IF (igtyp == 6)THEN
314 IF(jhbe /=24)THEN
316 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
317 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
318 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
319 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,nel)
320 END IF
321 END IF
322
323 DO i=1,nel
324 xt = xrefs(8,1,nft+i)
325 yt
326 zt = xrefs(8,3,nft+i)
327 xr(i,1) = xrefs(1,1,nft+i)-xt
328 yr(i,1) = xrefs(1,2,nft+i)-yt
329 zr(i,1) = xrefs(1,3,nft+i)-zt
330 xr(i,2) = xrefs(2,1,nft+i)-xt
331 yr(i,2) = xrefs(2,2,nft+i)-yt
332 zr(i,2) = xrefs(2,3,nft+i)-zt
333 xr(i,3) = xrefs(3,1,nft+i)-xt
334 yr(i,3) = xrefs(3,2,nft+i)-yt
335 zr(i,3) = xrefs(3,3,nft+i)-zt
336 xr(i,4) = xrefs(4,1,nft+i)-xt
337 yr(i,4) = xrefs(4,2,nft+i)-yt
338 zr(i,4) = xrefs(4,3,nft+i)-zt
339 xr(i,5) = xrefs(5,1,nft+i)-xt
340 yr(i,5) = xrefs(5,2,nft+i)-yt
341 zr(i,5) = xrefs(5,3,nft+i)-zt
342 xr(i,6) = xrefs(6,1,nft+i)-xt
343 yr(i,6) = xrefs(6,2,nft+i)-yt
344 zr(i,6) = xrefs(6,3,nft+i)-zt
345 xr(i,7) = xrefs(7,1,nft+i)-xt
346 yr(i,7) = xrefs(7,2,nft+i)-yt
347 zr(i,7) = xrefs(7,3,nft+i)-zt
348 xr(i,8) = zero
349 yr(i,8) = zero
350 zr(i,8) = zero
351 END DO
352 fac=one/float(nitrs)
353 DO i=1,nel
354 xt=x(1,ix8(i))
355 yt=x(2,ix8(i))
356 zt=x(3,ix8(i))
357 vx1(i)=(x(1,ix1(i))-xt-xr(i,1))*fac
358 vy1(i)=(x(2,ix1(i))-yt-yr(i,1))*fac
359 vz1(i)=(x(3,ix1(i))-zt-zr(i,1))*fac
360 vx2(i)=(x(1,ix2(i))-xt-xr(i,2))*fac
361 vy2(i)=(x(2,ix2(i))-yt-yr(i,2))*fac
362 vz2(i)=(x(3,ix2(i))-zt-zr(i,2))*fac
363 vx3(i)=(x(1,ix3(i))-xt-xr(i,3))*fac
364 vy3(i)=(x(2,ix3(i))-yt-yr(i,3))*fac
365 vz3(i)=(x(3,ix3(i))-zt-zr(i,3))*fac
366 vx4(i)=(x(1,ix4(i))-xt-xr(i,4))*fac
367 vy4(i)=(x(2,ix4(i))-yt-yr(i,4))*fac
368 vz4(i)=(x(3,ix4(i))-zt-zr(i,4))*fac
369 vx5(i)=(x(1,ix5(i))-xt-xr(i,5))*fac
370 vy5(i)=(x(2,ix5(i))-yt-yr(i,5))*fac
371 vz5(i)=(x(3,ix5(i))-zt-zr(i,5))*fac
372 vx6(i)=(x(1,ix6(i))-xt-xr(i,6))*fac
373 vy6(i)=(x(2,ix6(i))-yt-yr(i,6))*fac
374 vz6(i)=(x(3,ix6(i))-zt-zr(i,6))*fac
375 vx7(i)=(x(1,ix7(i))-xt-xr(i,7))*fac
376 vy7(i)=(x(2,ix7(i))-yt-yr(i,7
377 vz7(i)=(x(3,ix7(i))-zt-zr(i,7))*fac
378 vx8(i)=zero
379 vy8(i)=zero
380 vz8(i)=zero
381 END DO
382
383 DO itrs=1,nitrs
384
385 fac=float(itrs)
386
387 IF (ismstr >= 10 ) THEN
388
389 IF (ismstr == 10.OR.ismstr == 12) THEN
391 . xr(1,1),xr(1,2),xr(1,3),xr(1,4),xr(1,5),xr(1,6),xr(1,7),xr(1,8),
392 . yr(1,1),yr(1,2),yr(1,3),yr(1,4),yr(1,5),yr(1,6),yr(1,7),yr(1,8),
393 . zr(1,1),zr(1,2),zr(1,3),zr(1,4),zr(1,5),zr(1,6),zr(1,7),zr(1,8),
394 . gbuf%JAC_I,nel)
395 END IF
396 IF (jhbe == 24) THEN
398 . voln ,vbid ,geo ,igeo ,
399 . xr(1,1) ,xr(1,2) ,xr(1,3) ,xr(1,4) ,
400 . xr(1,5) ,xr(1,6) ,xr(1,7) ,xr(1,8) ,
401 . yr(1,1) ,yr(1,2) ,yr(1,3) ,yr(1,4) ,
402 . yr(1,5) ,yr(1,6) ,yr(1,7) ,yr(1,8) ,
403 . zr(1,1) ,zr(1,2) ,zr(1,3) ,zr(1,4) ,
404 . zr(1,5) ,zr(1,6) ,zr(1,7) ,zr(1,8) ,
405 . px1 ,px2 ,px3 ,px4 ,
406 . py1 ,py2 ,py3 ,py4 ,
407 . pz1 ,pz2 ,pz3 ,pz4 ,
408 . rx ,ry ,rz ,sx ,sy ,sz ,tz ,
409 . ngl ,pid ,volu )
410 ELSE
412 . voln ,vbid ,geo ,igeo ,
413 . xr(1,1) ,xr(1,2) ,xr(1,3) ,xr(1,4) ,
414 . xr(1,5) ,xr(1,6) ,xr(1,7) ,xr(1,8) ,
415 . yr(1,1) ,yr(1,2) ,yr(1,3) ,yr(1,4) ,
416 . yr(1,5) ,yr(1,6) ,yr(1,7) ,yr(1,8) ,
417 . zr(1,1) ,zr(1,2) ,zr(1,3) ,zr(1,4) ,
418 . zr(1,5) ,zr(1,6) ,zr(1,7) ,zr(1,8) ,
419 . rx ,ry ,rz ,sx ,sy ,sz ,ngl ,pid ,
420 . px1 ,px2 ,px3 ,px4 ,py1 ,py2 ,py3 ,py4 ,
421 . pz1 ,pz2 ,pz3 ,pz4 ,volu )
422 ENDIF
423
425 . px1, px2, px3, px4,
426 . py1, py2, py3, py4,
427 . pz1, pz2, pz3, pz4,
428 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
429 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
430 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
431 . mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz)
432
433 DO i=1,nel
434 mfxx(i)=fac*mfxx(i)
435 mfyy(i)=fac*mfyy(i)
436 mfzz(i)=fac*mfzz(i)
437 mfxy(i)=fac*mfxy(i)
438 mfxz(i)=fac*mfxz(i)
439 mfyx(i)=fac*mfyx(i)
440 mfyz(i)=fac*mfyz(i)
441 mfzx(i)=fac*mfzx(i)
442 mfzy(i)=fac*mfzy(i)
443 ENDDO
444
445 END IF
446
447
448 DO i=1,nel
449 x1(i)=xr(i,1)+fac*vx1(i)
450 y1(i)=yr(i,1)+fac*vy1(i)
451 z1(i)=zr(i,1)+fac*vz1(i)
452 x2(i)=xr(i,2)+fac*vx2(i)
453 y2(i)=yr(i,2)+fac*vy2(i)
454 z2(i)=zr(i,2)+fac*vz2(i)
455 x3(i)=xr(i,3)+fac*vx3(i)
456 y3(i)=yr(i,3)+fac*vy3(i)
457 z3(i)=zr(i,3)+fac*vz3(i)
458 x4(i)=xr(i,4)+fac*vx4(i)
459 y4(i)=yr(i,4)+fac*vy4(i)
460 z4(i)=zr(i,4)+fac*vz4(i)
461 x5(i)=xr(i,5)+fac*vx5(i)
462 y5(i)=yr(i,5)+fac*vy5(i)
463 z5(i)=zr(i,5)+fac*vz5(i)
464 x6(i)=xr(i,6)+fac*vx6(i)
465 y6(i)=yr(i,6)+fac*vy6(i)
466 z6(i)=zr(i,6)+fac*vz6(i)
467 x7(i)=xr(i,7)+fac*vx7(i)
468 y7(i)=yr(i,7)+fac*vy7(i)
469 z7(i)=zr(i,7)+fac*vz7(i)
470 x8(i)=xr(i,8)+fac*vx8(i)
471 y8(i)=yr(i,8)+fac*vy8(i)
472 z8(i)=zr(i,8)+fac*vz8(i)
473 END DO
474
475
477 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
478 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
479 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
480 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,
481 . tz ,f1x ,f1y ,f1z ,f2x ,f2y ,f2z )
482
483 IF (jhbe == 24) THEN
484
486 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
487 . e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,e1x
488 ELSE
490 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz
491 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y
492 ENDIF
493 IF (ismstr == 1 .OR. ismstr == 11) THEN
494 DO i=1,nel
495 x1(i)=xr(i,1)
496 y1(i)=yr(i,1)
497 z1(i)=zr(i,1)
498 x2(i)=xr(i,2)
499 y2(i)=yr(i,2)
500 z2(i)=zr(i,2)
501 x3(i)=xr(i,3)
502 y3(i)=yr(i,3)
503 z3(i)=zr(i,3)
504 x4(i)=xr(i,4)
505 y4(i)=yr(i,4)
506 z4(i)=zr(i,4)
507 x5(i)=xr(i,5)
508 y5(i)=yr(i,5)
509 z5(i)=zr(i,5)
510 x6(i)=xr(i,6)
511 y6(i)=yr(i,6)
512 z6(i)=zr(i,6)
513 x7(i)=xr(i,7)
514 y7(i)=yr(i,7)
515 z7(i)=zr(i,7)
516 x8(i)=xr(i,8)
517 y8(i)=yr(i,8)
518 z8(i)=zr(i,8)
519 END DO
520 END IF
521
522 CALL srrota3(e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
523 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
524 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
525 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 )
526
527 IF (igtyp == 6)THEN
528 IF(jhbe /=24)THEN
530 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
531 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
532 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
533 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,nel)
534 END IF
535 END IF
536 IF (ismstr >= 10 ) THEN
537 CALL sordeft3(nel,mfxx, mfxy, mfxz, mfyx, mfyy, mfyz,
538 . mfzx, mfzy, mfzz,
539 . e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)
540 END IF
541
542 IF (jhbe == 24) THEN
544 . voln ,vbid ,geo ,igeo ,
545 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
546 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
547 . z1 ,z2 ,z3 ,z4 ,z5
548 . px1 ,px2 ,px3 ,px4 ,
549 . py1 ,py2 ,py3 ,py4 ,
550 . pz1 ,pz2 ,pz3 ,pz4 ,
551 . rx ,ry ,rz ,sx ,sy ,sz ,tz ,
552 . ngl ,pid ,volu )
553 ELSE
555 . voln ,vbid ,geo ,igeo ,
556 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
557 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
558 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
559 . rx ,ry ,rz ,sx ,sy ,sz ,ngl ,pid ,
560 . px1 ,px2 ,px3 ,px4 ,py1 ,py2 ,py3 ,py4 ,
561 . pz1 ,pz2 ,pz3 ,pz4 ,volu )
562 ENDIF
563
564 DO i=1,nel
565 vxl(i,1)=vx1(i)
566 vyl(i,1)=vy1(i)
567 vzl(i,1)=vz1(i)
568 vxl(i,2)=vx2(i)
569 vyl(i,2)=vy2(i)
570 vzl(i,2)=vz2(i)
571 vxl(i,3)=vx3(i)
572 vyl(i,3)=vy3(i)
573 vzl(i,3)=vz3(i)
574 vxl(i,4)=vx4(i)
575 vyl(i,4)=vy4(i)
576 vzl(i,4)=vz4(i)
577 vxl(i,5)=vx5(i)
578 vyl(i,5)=vy5(i)
579 vzl(i,5)=vz5(i)
580 vxl(i,6)=vx6(i)
581 vyl(i,6)=vy6(i)
582 vzl(i,6)=vz6(i)
583 vxl(i,7)=vx7(i)
584 vyl(i,7)=vy7(i)
585 vzl(i,7)=vz7(i)
586 vxl(i,8)=vx8(i)
587 vyl(i,8)=vy8(i)
588 vzl(i,8)=vz8(i)
589 END DO
590 CALL srrota3(e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
591 . vxl(1,1) ,vxl(1,2) ,vxl(1,3) ,vxl(1,4) ,
592 . vxl(1,5) ,vxl(1,6) ,vxl(1,7) ,vxl(1,8) ,
593 . vyl(1,1) ,vyl(1,2) ,vyl(1,3) ,vyl(1,4) ,
594 . vyl(1,5) ,vyl(1,6) ,vyl(1,7) ,vyl(1,8) ,
595 . vzl(1,1) ,vzl(1,2) ,vzl(1,3) ,vzl(1,4) ,
596 . vzl(1,5) ,vzl(1,6) ,vzl(1,7) ,vzl(1,8) )
597
599 . px1, px2, px3, px4,
600 . py1, py2, py3, py4,
601 . pz1, pz2, pz3, pz4,
602 . vxl(1,1), vxl(1,2), vxl(1,3), vxl(1,4),
603 . vxl(1,5), vxl(1,6), vxl(1,7), vxl(1,8),
604 . vyl(1,1), vyl(1,2), vyl(1,3), vyl(1,4),
605 . vyl(1,5), vyl(1,6), vyl(1,7), vyl(1,8),
606 . vzl(1,1), vzl(1,2), vzl(1,3), vzl(1,4),
607 . vzl(1,5), vzl(1,6), vzl(1,7), vzl(1,8),
608 . dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6,
609 . wxx, wyy, wzz)
610
611
612 IF (igtyp == 6)THEN
613 IF(jhbe ==24)THEN
615 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z,
616 . gbuf%GAMA)
617 CALL szordef3(nel,dxx,dyy,dzz,d4,d5,d6,
618 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
619 END IF
620 END IF
621
622 CALL srho3(pm, gbuf%VOL, gbuf%RHO, gbuf%EINT, dxx,
623 . dyy, dzz, voln, dvol, mat)
624 DO i=1,nel
625 s1(i) = gbuf%SIG(ii(1) + i)
626 s2(i) = gbuf%SIG(ii(2) + i)
627 s3(i) = gbuf%SIG(ii(3) + i)
628 s4(i) = gbuf%SIG(ii(4) + i)
629 s5(i) = gbuf%SIG(ii(5) + i)
630 s6(i) = gbuf%SIG(ii(6) + i)
631 END DO
632
633 CALL mmain(pm ,elbuf_str,ixs ,nixs ,x ,
634 2 geo ,iparg ,nel ,skew ,bufmat ,
635 3 ipart ,iparts ,nummat ,mat_param,
636 4 imat ,ipm ,ngl ,pid ,npf ,
637 5 tf ,mfxx ,mfxy ,mfxz ,mfyx ,
638 6 mfyy ,mfyz ,mfzx ,mfzy ,mfzz ,
639 7 rx ,ry ,rz ,sx ,sy ,
640 8 sz ,gbuf%GAMA,voln ,dvol ,s1 ,
641 b s2 ,s3 ,s4 ,s5 ,s6 ,
642 9 dxx ,dyy ,dzz ,d4 ,d5 ,
643 a d6 ,wxx ,wyy ,wzz )
644 END DO
645 END IF
646
647 nitrs=nitsav
648 RETURN
subroutine mmain(pm, elbuf_str, ix, nix, x, geo, iparg, nel, skew, bufmat, ipart, ipartel, nummat, matparam, imat, ipm, ngl, pid, npf, tf, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, rx, ry, rz, sx, sy, sz, gama, voln, dvol, s1, s2, s3, s4, s5, s6, dxx, dyy, dzz, d4, d5, d6, wxx, wyy, wzz)
integer, parameter nchartitle
subroutine sdefot3(nel, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz)
subroutine szrefderi3(nel, jeul, vol, veul, geo, igeo, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, jac1, jac2, jac3, jac4, jac5, jac6, jac9, ngl, ngeo, det)
subroutine srefderi3(nel, jeul, vol, veul, geo, igeo, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, jac1, jac2, jac3, jac4, jac5, jac6, ngl, ngeo, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, det)
subroutine sordeft3(nel, mxx, mxy, mxz, myx, myy, myz, mzx, mzy, mzz, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
subroutine srorth3(jhbe, gama, r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
subroutine sdefo3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz)
subroutine sjac_i(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, jac_i, nel)
subroutine sortho3(rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)
subroutine srepiso3(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, f1x, f1y, f1z, f2x, f2y, f2z)
subroutine srho3(pm, volo, rhon, eint, dxx, dyy, dzz, voln, dvol, mat)
subroutine srrota3(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8)
subroutine storth3(isorth, nel, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, gama)
subroutine szordef3(nel, dxx, dyy, dzz, d4, d5, d6, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)