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