101
102
103
104 USE timer_mod
105 USE output_mod, only : output_
106 USE mmain_mod
108 USE mat_elem_mod
112 USE elbufdef_mod
113 USE sdistor_ini_mod, ONLY : sdistor_ini
114 USE s6get_xv_mod, ONLY : s6get_xv
115 USE s6for_distor_mod,ONLY : s6for_distor
116 USE s6chour_ctl_mod ,ONLY : s6chour_ctl
117 use glob_therm_mod
118 USE sensor_mod
119 use element_mod , only : nixs
120
121
122
123#include "implicit_f.inc"
124
125
126
127#include "mvsiz_p.inc"
128
129
130
131#include "com01_c.inc"
132#include "com08_c.inc"
133#include "vect01_c.inc"
134#include "parit_c.inc"
135#include "param_c.inc"
136#include "com04_c.inc"
137#include "com06_c.inc"
138#include "scr18_c.inc"
139#include "impl1_c.inc"
140
141
142
143 TYPE(TIMER_), INTENT(inout) :: TIMERS
144 TYPE(OUTPUT_), INTENT(inout) :: OUTPUT
145 INTEGER,INTENT(IN):: SNPC
146 INTEGER,INTENT(IN):: STF
147 INTEGER, INTENT(IN) :: SBUFMAT
148 INTEGER, INTENT(IN) :: NSVOIS
149 INTEGER, INTENT(IN) :: IDTMINS
150 INTEGER ,INTENT(IN) :: IRESP
151 INTEGER ,INTENT(IN) :: IDEL7NG
152 INTEGER ,INTENT(INOUT) :: IDEL7NOK
153 INTEGER ,INTENT(IN) :: MAXFUNC
154 INTEGER, INTENT(IN) :: USERL_AVAIL
155 INTEGER, INTENT(IN) :: IMON_MAT
156 INTEGER IXS(NIXS,*),IPARG(NPARG,NGROUP),NPF(*),IADS(8,*),GRTH(*),
157 . IPARTS(*),IPM(NPROPMI,*),IGEO(NPROPGI,*),IGRTH(*), ITASK,IOUTPRT
158 INTEGER NELTST,ITYPTST,OFFSET,NG,NEL,ICP,ICSIG,ISTRAIN,H3D_STRAIN
159 INTEGER, INTENT(IN) :: IEXPAN,IFTHE,ICONDN
161 . dt2t
163 . pm(npropm,*), x(*), a(*), v(*), ms(*), w(*),
164 . flux(6,*),geo(npropg,*),
165 . flu1(*), veul(*), fv(*), tf(*), bufmat(*),
166 . partsav(*),stifn(*), fsky(*),eani(*),
167 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
168 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
169 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
170 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
171 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
172 . f16(mvsiz),f26(mvsiz),f36(mvsiz),gresav(*),
173 . mssa(*), dmels(*), voln(mvsiz)
174 my_real,
INTENT(INOUT) :: temp(numnod),fthe(ifthe),fthesky(lsky),
175 . condn(icondn),condnsky(lsky)
176 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
177 DOUBLE PRECISION, DIMENSION(3,NUMNOD), INTENT(IN ) :: XDP
178 TYPE (TTABLE) TABLE(*)
179 TYPE (ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
180 TYPE (NLOCAL_STR_) , TARGET :: NLOC_DMG
181 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
182 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
183 TYPE(DT_) , INTENT(INOUT) :: DT
184 type (glob_therm_) ,intent(inout) :: glob_therm
185 type (sensors_),INTENT(INOUT) :: SENSORS
186
187
188
189 INTEGER I,J,NF1,IFLAG,CURRENT_LAYER,IMAT,
190 . ILAY,NLAY,IR,IS,IT,IBID,MX,L_PLA,L_EPSD
191 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),IBIDON(1)
192
193 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
194 . NC5(MVSIZ), NC6(MVSIZ)
195
197 . c1,dti
199 . vd2(mvsiz) , dvol(mvsiz),deltax(mvsiz),
200 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
201 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
202 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
203 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
204 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
205 . jac1(mvsiz), jac2(mvsiz), jac3(mvsiz),
206 . jac4(mvsiz), jac5(mvsiz), jac6(mvsiz),
207 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),aire(mvsiz)
208
210 . sti(mvsiz),wxx(mvsiz),wyy(mvsiz),wzz(mvsiz),conde(mvsiz)
211
213 . muvoid(mvsiz)
215 . off(mvsiz) , rhoo(mvsiz), offg(mvsiz) ,
216 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
217 . x5(mvsiz), x6(mvsiz),
218 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
219 . y5(mvsiz), y6(mvsiz),
220 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
221 . z5(mvsiz), z6(mvsiz),
222 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
223 . vx5(mvsiz),vx6(mvsiz),
224 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
225 . vy5(mvsiz),vy6(mvsiz),
226 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
227 . vz5(mvsiz),vz6(mvsiz),
228 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
229 .
230 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
231 .
232 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
233 .
234 . px1h(mvsiz),px2h(mvsiz),px3h(mvsiz),
235 . py1h(mvsiz),py2h(mvsiz),py3h(mvsiz),
236 . pz1h(mvsiz),pz2h(mvsiz),pz3h(mvsiz),
237 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
238 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
239 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
240 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
242 . dxy(mvsiz),dyx(mvsiz),
243 . dyz(mvsiz),dzy(mvsiz),
244 . dzx(mvsiz),dxz(mvsiz),divde(mvsiz)
246 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
247 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
248 . r31(mvsiz),r32(mvsiz),r33(mvsiz),gama(mvsiz,6)
249
251 . nu(mvsiz),volg(mvsiz),sigy(mvsiz),
252 . b1122(mvsiz),b1221(mvsiz),b2212(mvsiz),b1121(mvsiz),
253 . b1122h(mvsiz),b1221h(mvsiz),b2212h(mvsiz),b1121h(mvsiz),
254 . b1x(mvsiz,2),b1y(mvsiz,2),b2x(mvsiz,2),b2y(mvsiz,2),
255 . b1xh(mvsiz,2),b1yh(mvsiz,2),b2xh(mvsiz,2),b2yh(mvsiz,2),
256 . dcxx(mvsiz),dcxy(mvsiz),dcxz(mvsiz),dcyx(mvsiz),dcyy(mvsiz),
257 . dcyz(mvsiz),dczx(mvsiz),dczy(mvsiz),dczz(mvsiz),dc4(mvsiz),
258 . dc5(mvsiz),dc6(mvsiz),vzl(mvsiz),jaci33(mvsiz),
259 . dhxx(mvsiz),dhxy(mvsiz),dhyx(mvsiz),dhyy(mvsiz),dhyz(mvsiz),
260 . dhzx(mvsiz),dhzy(mvsiz),dhzz(mvsiz),dh4(mvsiz),dhxz(mvsiz),
261 . dh5(mvsiz),dh6(mvsiz),ddhv(mvsiz),dd(mvsiz,6),
262 . sigzm(mvsiz),volm(mvsiz),usb(mvsiz),et(mvsiz),
263 . r1_free(mvsiz),r3_free(mvsiz),
264 . stin(mvsiz),bid(mvsiz),dsv(mvsiz),alpha_e(mvsiz),llsh(mvsiz)
265
266 INTEGER PID,MTN0,IPTHK,IPPOS,IPMAT,NLYMAX,MID,IPANG,IOFFS
267 INTEGER MXT0(MVSIZ),NN_DEL,IPRES,ISCTL,ISTAB(MVSIZ)
269 . dir(mvsiz,2),sign(nel,6),shf(mvsiz),zt,wt,offs(mvsiz),
270 . rx(mvsiz), ry(mvsiz), rz(mvsiz),nu1(mvsiz),fac(mvsiz),
271 . sx(mvsiz), sy(mvsiz), sz(mvsiz),
272 . tx(mvsiz), ty(mvsiz), tz(mvsiz),e0(mvsiz),
273 . n1x(mvsiz), n2x(mvsiz), n3x(mvsiz),
274 . n1y(mvsiz), n2y(mvsiz), n3y(mvsiz),
275 . n1z(mvsiz), n2z(mvsiz), n3z(mvsiz),
276 . n4x(mvsiz), n5x(mvsiz), n6x(mvsiz),
277 . n4y(mvsiz), n5y(mvsiz), n6y(mvsiz),
278 . n4z(mvsiz), n5z(mvsiz), n6z(mvsiz),amu(mvsiz),
area(mvsiz)
279 my_real them(mvsiz,6),tempel(mvsiz),die(mvsiz),conden(mvsiz)
280 my_real,
dimension(mvsiz) :: fheat
281 DOUBLE PRECISION
282 . VOLDP(MVSIZ),FACDP
283 INTEGER INLOC,L_NLOC,IPOS(6),INOD(6)
284 iNTEGER SZ_R1_FREE,SZ_IX
285 my_real,
DIMENSION(:,:),
ALLOCATABLE :: var_reg
286 my_real,
DIMENSION(:),
POINTER :: dnl
287 my_real :: sti_c(mvsiz),ll(mvsiz),fld(mvsiz),
288 . cns2,fqmax,dn
289
290 TYPE(G_BUFEL_) ,POINTER :: GBUF
291 TYPE(L_BUFEL_) ,POINTER :: LBUF
292
294 . w_gauss(9,9),a_gauss(9,9)
295 DATA w_gauss /
296 1 2. ,0. ,0. ,
297 1 0. ,0. ,0. ,
298 1 0. ,0. ,0. ,
299 2 1. ,1. ,0. ,
300 2 0. ,0. ,0. ,
301 2 0. ,0. ,0. ,
302 3 0.555555555555556,0.888888888888889,0.555555555555556,
303 3 0. ,0. ,0. ,
304 3 0. ,0. ,0. ,
305 4 0.347854845137454,0.652145154862546,0.652145154862546,
306 4 0.347854845137454,0. ,0. ,
307 4 0. ,0. ,0. ,
308 5 0.236926885056189,0.478628670499366,0.568888888888889,
309 5 0.478628670499366,0.236926885056189,0. ,
310 5 0. ,0. ,0. ,
311 6 0.171324492379170,0.360761573048139,0.467913934572691,
312 6 0.467913934572691,0.360761573048139,0.171324492379170,
313 6 0. ,0. ,0. ,
314 7 0.129484966168870,0.279705391489277,0.381830050505119,
315 7 0.417959183673469,0.381830050505119,0.279705391489277,
316 7 0.129484966168870,0. ,0. ,
317 8 0.101228536290376,0.222381034453374,0.313706645877887,
318 8 0.362683783378362,0.362683783378362,0.313706645877887,
319 8 0.222381034453374,0.101228536290376,0. ,
320 9 0.081274388361574,0.180648160694857,0.260610696402935,
321 9 0.312347077040003,0.330239355001260,0.312347077040003,
322 9 0.260610696402935,0.180648160694857,0.081274388361574/
323 DATA a_gauss /
324 1 0. ,0. ,0. ,
325 1 0. ,0. ,0. ,
326 1 0. ,0. ,0. ,
327 2 -.577350269189626,0.577350269189626,0. ,
328 2 0. ,0. ,0. ,
329 2 0. ,0. ,0. ,
330 3 -.774596669241483,0. ,0.774596669241483,
331 3 0. ,0. ,0. ,
332 3 0. ,0. ,0. ,
333 4 -.861136311594053,-.339981043584856,0.339981043584856,
334 4 0.861136311594053,0. ,0. ,
335 4 0. ,0. ,0. ,
336 5 -.906179845938664,-.538469310105683,0. ,
337 5 0.538469310105683,0.906179845938664,0. ,
338 5 0. ,0. ,0. ,
339 6 -.932469514203152,-.661209386466265,-.238619186083197,
340 6 0.238619186083197,0.661209386466265,0.932469514203152,
341 6 0. ,0. ,0. ,
342 7 -.949107912342759,-.741531185599394,-.405845151377397,
343 7 0. ,0.405845151377397,0.741531185599394,
344 7 0.949107912342759,0. ,0. ,
345 8 -.960289856497536,-.796666477413627,-.525532409916329,
346 8 -.183434642495650,0.183434642495650,0.525532409916329,
347 8 0.796666477413627,0.960289856497536,0. ,
348 9 -.968160239507626,-.836031107326636,-.613371432700590,
349 9 -.324253423403809,0. ,0.324253423403809,
350 9 0.613371432700590,0.836031107326636,0.968160239507626/
351
352
353
354 mtn0 = 0
355 nlymax= 0
356 ipang = 0
357 ipthk = 0
358 ippos = 0
359 ipmat = 0
360
361 gbuf => elbuf_tab(ng)%GBUF
362 nlay = elbuf_tab(ng)%NLAY
363 ir = 1
364 is = 1
365 it = 1
366 inloc = iparg(78,ng)
367 ALLOCATE(var_reg(nel,nlay))
368 sz_r1_free=mvsiz
369 sz_ix=numelq+numels+nsvois
370
371 ibid = 0
372 ibidon(1) = 0
373 IF (igtyp /= 22) THEN
374 isorthg = 0
375 END IF
376
377 nf1=nft+1
378
379
380 IF (isorth > 0) THEN
382 1 6, x, ixs(1,nf1),rx,
383 2 ry, rz, sx, sy,
384 3 sz, tx, ty, tz,
385 4 nel)
386 ENDIF
387
388
389
390 CALL s6rcoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
391 . x1, x2, x3, x4, x5, x6,
392 . y1, y2, y3, y4, y5, y6,
393 . z1, z2, z3, z4, z5, z6,
394 . vx1, vx2, vx3, vx4, vx5, vx6,
395 . vy1, vy2, vy3, vy4, vy5, vy6,
396 . vz1, vz2, vz3, vz4, vz5, vz6,
397 . vd2,vis,gbuf%OFF,offg,gbuf%SMSTR,gbuf%RHO,rhoo,
398 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
399 . nc1,nc2,nc3,nc4,nc5,nc6,ngl,mxt,ngeo,
400 . ioutprt, vgxa, vgya, vgza, vga2,dd,
401 . nel, xgxa, xgya, xgza,xgxa2,xgya2,xgza2,
402 . xgxya,xgyza,xgzxa,iparg(1,ng),gbuf%GAMA_R)
403
404 nn_del = 0
405 pid = ngeo(1)
406 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192,pid)>zero)
407 . nn_del=6
408 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=6
409 mx = mxt(1)
410 c1 =pm(32,mx)
411 ipres = mat_elem%MAT_PARAM(mx)%IPRES
412 isctl = igeo(97,pid)
413 DO i=1,nel
414 sigzm(i) = zero
415 volm(i) = zero
416 nu(i)=
min(half,pm(21,mx))
417 e0(i) =three*(one-two*nu(i))*c1
418 usb(i)=em01/c1
419 stin(i)=zero
420 conden(i)= zero
421 ENDDO
422
423 IF (icp==1) THEN
424 DO i=1,nel
425 nu1(i)=half
426 ENDDO
427 ELSEIF (icp==2) THEN
428 CALL s8csigp3(gbuf%SIG,e0 ,gbuf%PLA,fac,gbuf%G_PLA,nel)
429 DO i=1,nel
430 nu1(i)=nu(i)+(half-nu(i))*fac(i)
431 ENDDO
432 ELSE
433 DO i=1,nel
434 nu1(i) =nu(i)
435 ENDDO
436 ENDIF
437
439 1 offg, voln, ngl, x1,
440 2 x2, x3, x4, x5,
441 3 x6, y1, y2, y3,
442 4 y4, y5, y6, z1,
443 5 z2, z3, z4, z5,
444 6 z6, px1, px2, px3,
445 7 px4, py1, py2, py3,
446 8 py4, pz1, pz2, pz3,
447 9 pz4, px1h, px2h, px3h,
448 a py1h, py2h, py3h, pz1h,
449 b pz2h, pz3h, jac1, jac2,
450 c jac3, jac4, jac5, jac6,
451 d jaci33, b1x, b1y, b2y,
452 e b2x, b1122, b1221, b2212,
453 f b1121, b1xh, b1yh, b2xh,
454 g b2yh, b1122h, b1221h, b2212h,
455 h b1121h, vzl, volg, gbuf%SMSTR,
456 i gbuf%OFF, nel, ismstr)
458 1 volg, deltax, x1, x2,
459 2 x5, x4, x3, x3,
460 3 x6, x6, y1, y2,
461 4 y5, y4, y3, y3,
462 5 y6, y6, z1, z2,
463 6 z5, z4, z3, z3,
464 7 z6, z6, n1x, n2x,
465 8 n3x, n4x, n5x, n6x,
466 9 n1y, n2y, n3y, n4y,
467 a n5y, n6y, n1z, n2z,
468 b n3z, n4z, n5z, n6z,
469 c nel, mtn, jale, jeul)
470 IF (ntsheg > 0.AND.isctl == 0) THEN
472 . x1, x2, x3, x4, x5, x6,
473 . y1, y2, y3, y4, y5, y6,
474 . z1, z2, z3, z4, z5, z6,nel)
475 alpha_e(1:nel) = one
476 DO i=1,nel
477 IF (gbuf%IDT_TSH(i)<=0) cycle
478 facdp = 1.343*llsh(i)/deltax(i)
479 alpha_e(i) = facdp*facdp
480 deltax(i)=
max(llsh(i),deltax(i))
481 ENDDO
482 END IF
484 1 px1, px2, px3, px4,
485 2 py1, py2, py3, py4,
486 3 pz1, pz2, pz3, pz4,
487 4 vx1, vx2, vx3, vx4,
488 5 vx5, vx6, vy1, vy2,
489 6 vy3, vy4, vy5, vy6,
490 7 vz1, vz2, vz3, vz4,
491 8 vz5, vz6, dcxx, dcxy,
492 9 dcxz, dcyx, dcyy, dcyz,
493 a dczx, dczy, dczz, dc4,
494 b dc5, dc6, wxx, wyy,
495 c wzz, dhxx, dhxy, dhxz,
496 d dhyx, dhyy, dhyz, dhzx,
497 e dhzy, dhzz, dh4, dh5,
498 f dh6, px1h, px2h, px3h,
499 g py1h, py2h, py3h, pz1h,
500 h pz2h, pz3h, jaci33, b1x,
501 i b1y, b2y, b2x, b1122,
502 j b1221, b2212, b1121, b1xh,
503 k b1yh, b2xh, b2yh, b1122h,
504 l b1221h, b2212h, b1121h, ddhv,
505 m nu1, nel)
507 1 f11, f21, f31, f12,
508 2 f22, f32, f13, f23,
509 3 f33, f14, f24, f34,
510 4 f15, f25, f35, f16,
511 5 f26, f36, gbuf%SIG, gbuf%EINT,
512 6 gbuf%RHO, gbuf%QVIS, gbuf%PLA, gbuf%EPSD,
513 7 gbuf%G_PLA, gbuf%G_EPSD,nel,nlay)
514
515
516
517 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0)) THEN
519 1 gbuf%OFF, gbuf%SMSTR,x1, x2,
520 2 x3, x4, x5, x6,
521 3 y1, y2, y3, y4,
522 4 y5, y6, z1, z2,
523 5 z3, z4, z5, z6,
524 6 nel)
525 END IF
526
527 IF (isorth > 0) THEN
528 pid = ngeo(1)
529 IF (igtyp == 21) THEN
530 CALL sgetdir3(nel,rx,ry,rz,tx,ty,tz,
531 . r11,r21,r31,r12,r22,r32,
532 . gbuf%GAMA,dir,irep)
533 ENDIF
534 IF (igtyp == 22) THEN
535 nlymax= 200
536 ipang = 200
537 ipthk = ipang+nlymax
538 ippos = ipthk+nlymax
539 ipmat = 100
540 mtn0=mtn
541 DO i=1,nel
542 mxt0(i)=mxt(i)
543 shf(i)=geo(38,ngeo(i))
544 ENDDO
545 ENDIF
546 ENDIF
547
548
549
550
551 IF (inloc > 0) THEN
552 l_nloc = nloc_dmg%L_NLOC
553 dnl => nloc_dmg%DNL(1:l_nloc)
554 DO ilay=1,nlay
555 DO i=1,nel
556 inod(1) = nloc_dmg%IDXI(nc1(i))
557 inod(2) = nloc_dmg%IDXI(nc2(i))
558 inod(3) = nloc_dmg%IDXI(nc3(i))
559 inod(4) = nloc_dmg%IDXI(nc4(i))
560 inod(5) = nloc_dmg%IDXI(nc5(i))
561 inod(6) = nloc_dmg%IDXI(nc6(i))
562 DO j = 1,6
563 ipos(j) = nloc_dmg%POSI(inod(j))+ilay-1
564 ENDDO
565 var_reg(i,ilay) = dnl(ipos(1)) + dnl(ipos(2)) + dnl(ipos(3)) +
566 . dnl(ipos(4)) + dnl(ipos(5)) + dnl(ipos(6))
567 var_reg(i,ilay) = var_reg(i,ilay)*one_over_6
568 ENDDO
569 ENDDO
570 ENDIF
571
572
573
574
575
576 DO ilay=1,nlay
577 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
578 IF (igtyp == 22) THEN
579 mid=igeo(ipmat+ilay,pid)
580 mtn=nint(pm(19,mid))
581 ENDIF
582 DO i=1,nel
583 sigzm(i) = sigzm(i)+lbuf%VOL(i)*lbuf%SIG(i+2*nel)
584 volm(i) = volm(i) +lbuf%VOL(i)
585 ENDDO
586 ENDDO
587 IF (dt1 == zero) THEN
588 dti =zero
589 ELSE
590 dti = one/dt1
591 ENDIF
592
593
594
595 tempel(:) = zero
596 fheat(:) = zero
597 IF (jthe < 0) THEN
598 DO i=1,nel
599 tempel(i) = one_over_6 *(temp(nc1(i)) + temp(nc2(i))
600 . + temp(nc3(i)) + temp(nc4(i))
601 . + temp(nc5(i)) + temp(nc6(i)))
602 gbuf%TEMP(i) = tempel(i)
603 ENDDO
604 ENDIF
605 ioffs=0
606 DO i=1,nel
607 offs(i) = ep20
608 ENDDO
609 IF (jthe < 0) them(1:nel,1:6) = zero
610
611
612
613 DO ilay=1,nlay
614 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
615 IF (igtyp == 22) THEN
616 zt = geo(ippos+ilay,pid)
617 wt = geo(ipthk+ilay,pid)
618 mid=igeo(ipmat+ilay,pid)
619 mtn=nint(pm(19,mid))
620 DO i=1,nel
621 mxt(i)=mid
622 ENDDO
623 ELSE
624 zt = a_gauss(ilay,nlay)
625 wt = w_gauss(ilay,nlay)
626 ENDIF
627
629 1 dxx, dxy, dxz, dyx,
630 2 dyy, dyz, dzx, dzy,
631 3 dzz, d4, d5, d6,
632 4 dcxx, dcxy, dcxz, dcyx,
633 5 dcyy, dcyz, dczx, dczy,
634 6 dczz, dc4, dc5, dc6,
635 7 dhxx, dhxy, dhxz, dhyx,
636 8 dhyy, dhyz, dhzx, dhzy,
637 9 dhzz, dh4, dh5, dh6,
638 a zt, wt, vzl, voln,
639 b volg, lbuf%VOL, ddhv, lbuf%SIG,
640 c sigzm, volm, usb, lbuf%EINT,
641 d off, offg, dti, gbuf%OFF,
642 e dsv, lbuf%VOL0DP,voldp, ipres,
643 f nel )
644 DO i=1,nel
645 rhoo(i)= lbuf%RHO(i)
646 ENDDO
647 IF (isorth > 0) THEN
648 IF (igtyp == 22)
649 .
CALL sgetdir3(nel,rx,ry,rz,tx,ty,tz,
650 . r11,r21,r31,r12,r22,r32,
651 . lbuf%GAMA,dir,irep)
652 CALL scordef3(nel,dxx,dyy,dzz,d4,d5,d6,dir)
653 IF (igtyp == 22) THEN
654 DO i=1,nel
655 d5(i)=shf(i)*d5(i)
656 d6(i)=shf(i)*d6(i)
657 ENDDO
658 ENDIF
659 ENDIF
660
661 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))+dsv(1:nel)
663 1 pm, lbuf%VOL, lbuf%RHO, lbuf%EINT,
664 2 divde, flux(1,nf1),flu1(nf1), voln,
665 3 dvol, ngl, mxt, off,
666 4 0, gbuf%TAG22, voldp, lbuf%VOL0DP,
667 5 amu, gbuf%OFF, nel, mtn,
668 6 jale, ismstr, jeul, jlag)
669
670
671
672
673 CALL csmall3(lbuf%SIG,s1,s2,s3,s4,s5,s6,
674 . gbuf%OFF,off,nel)
675
676
677
678 current_layer=ilay
679 CALL mmain(timers, output,
680 1 elbuf_tab, ng, pm, geo,
681 2 ale_connect, ixs, iparg,
682 3 v, tf, npf, bufmat,
683 4 sti, x, dt2t, neltst,
684 5 ityptst, offset, nel, w,
685 6 off, ngeo, mxt, ngl,
686 7 voln, vd2, dvol, deltax,
687 8 vis, qvis, cxx, s1,
688 9 s2, s3, s4, s5,
689 a s6, dxx, dyy, dzz,
690 b d4, d5, d6, wxx,
691 c wyy, wzz, jac1, jac2,
692 d jac3, jac4, jac5, jac6,
693 e vdx, vdy, vdz, muvoid,
694 f ssp_eq, aire, sigy, et,
695 g r1_free, lbuf%PLA, r3_free, amu,
696 h dxx, dxy, dxz, dyx,
697 i dyy, dyz, dzx, dzy,
698 j dzz, ipm, gama, bid,
699 k bid, bid, bid, bid,
700 l bid, bid, istrain, tempel,
701 m die, iexpan, current_layer,mssa,
702 n dmels, ir, is, it,
703 o table, bid, bid, bid,
704 p bid, iparg(1,ng), igeo, conde,
705 q itask, nloc_dmg, var_reg(1,ilay),mat_elem,
706 r h3d_strain, jplasol, jsph, sz_r1_free,
707 * snpc, stf, sbufmat ,glob_therm,
708 * svis, sz_ix, iresp,
709 * n2d, th_strain, ngroup, tt,
710 . dt1, ntable, numelq, nummat,
711 . numgeo, numnod, numels,
712 . idel7nok, idtmin, maxfunc,
713 . imon_mat, userl_avail, impl_s,
714 . idyna, dt, fheat ,sensors, opt_mtn=mtn,opt_jcvt=jcvt,
715 . opt_isorth=isorth,opt_isorthg=isorthg)
716
717 DO i=1,nel
718 stin(i) = stin(i)+sti(i)
719 ENDDO
720
721 IF(glob_therm%NODADT_THERM == 1) THEN
722 DO i=1,nel
723 conden(i)= conden(i)+ conde(i)
724 ENDDO
725 ENDIF
726 IF (istrain == 1) THEN
728 1 dxx, dyy, dzz, d4,
729 2 d5, d6, lbuf%STRA,wxx,
730 3 wyy, wzz, off, nel,
731 4 jcvt)
732 ENDIF
733
734
735
736 l_pla = elbuf_tab(ng)%BUFLY(ilay)%L_PLA
737 l_epsd = elbuf_tab(ng)%BUFLY(ilay)%L_EPSD
738 IF (isorth > 0) THEN
740
741
743 1 sign, px1, px2, px3,
744 2 px4, py1, py2, py3,
745 3 py4, pz1, pz2, pz3,
746 4 pz4, px1h, px2h, px3h,
747 5 py1h, py2h, py3h, pz1h,
748 6 pz2h, pz3h, jaci33, b1x,
749 7 b1y, b2y, b2x, b1122,
750 8 b1221, b2212, b1121, b1xh,
751 9 b1yh, b2xh, b2yh, b1122h,
752 a b1221h, b2212h, b1121h, f11,
753 b f21, f31, f12, f22,
754 c f32, f13, f23, f33,
755 d f14, f24, f34, f15,
756 e f25, f35, f16, f26,
757 f f36, voln, qvis, lbuf%EINT,
758 g lbuf%RHO, lbuf%QVIS, lbuf%PLA, lbuf%EPSD,
759 h gbuf%EPSD, gbuf%SIG, gbuf%EINT, gbuf%RHO,
760 i gbuf%QVIS, gbuf%PLA, zt, wt,
761 j volg, off, nu1, lbuf%VOL,
762 k gbuf%VOL, l_pla, l_epsd, nel,
763 l svis, gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA )
764 ELSE
766 1 lbuf%SIG, px1, px2, px3,
767 2 px4, py1, py2, py3,
768 3 py4, pz1, pz2, pz3,
769 4 pz4, px1h, px2h, px3h,
770 5 py1h, py2h, py3h, pz1h,
771 6 pz2h, pz3h, jaci33, b1x,
772 7 b1y, b2y, b2x, b1122,
773 8 b1221, b2212, b1121, b1xh,
774 9 b1yh, b2xh, b2yh, b1122h,
775 a b1221h, b2212h, b1121h, f11,
776 b f21, f31, f12, f22,
777 c f32, f13, f23, f33,
778 d f14, f24, f34, f15,
779 e f25, f35, f16, f26,
780 f f36, voln, qvis, lbuf%EINT,
781 g lbuf%RHO, lbuf%QVIS, lbuf%PLA, lbuf%EPSD,
782 h gbuf%EPSD, gbuf%SIG, gbuf%EINT, gbuf%RHO,
783 i gbuf%QVIS, gbuf%PLA, a_gauss(ilay,nlay),w_gauss(ilay,nlay),
784 j volg, off, nu1, lbuf%VOL,
785 k gbuf%VOL, l_pla, l_epsd, nel,
786 l svis, gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA )
787 ENDIF
788
789
790
791 IF (jthe < 0) THEN
792 imat = mxt(1)
793 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
795 1 pm ,imat ,voln ,nc1 ,
796 2 nc2 ,nc3 ,nc4 ,nc5 ,
797 3 nc6 ,px1 ,px2 ,px3 ,
798 4 px4 ,py1 ,py2 ,py3 ,
799 5 py4 ,pz1 ,pz2 ,pz3 ,
800 6 pz4 ,dt1 ,temp ,tempel ,
801 7 fheat ,them ,gbuf%OFF ,lbuf%OFF ,
802 8 nel ,glob_therm%THEACCFACT)
803 ELSE
804 END IF
806 1 pm ,imat ,voln ,nc1 ,
807 2 nc2 ,nc3 ,nc4 ,nc5 ,
808 3 nc6 ,px1 ,px2 ,px3 ,
809 4 px4 ,py1 ,py2 ,py3 ,
810 5 py4 ,pz1 ,pz2 ,pz3 ,
811 6 pz4 ,dt1 ,temp ,tempel ,
812 7 die ,them ,gbuf%OFF ,lbuf%OFF ,
813 8 nel ,glob_therm%THEACCFACT)
814 ENDIF
815 DO i=1,nel
816 offg(i)=
min(offg(i),off(i))
817 IF (lbuf%OFF(i) > one .AND. gbuf%OFF(i) == one) THEN
818 offs(i) =
min(lbuf%OFF(i),offs(i))
819 ioffs = 1
820 END IF
821 ENDDO
822
823 ENDDO
824
825
826
827
828
829 IF (inloc > 0) THEN
830
832 . x1, x2, x3, x4, x5, x6,
833 . y1, y2, y3, y4, y5, y6,
834 . z1, z2, z3, z4, z5, z6,nel)
835
837 1 nloc_dmg ,var_reg ,nel ,off ,
838 2 volg ,nc1 ,nc2 ,nc3 ,
839 3 nc4 ,nc5 ,nc6 ,px1 ,
840 4 px2 ,px3 ,px4 ,py1 ,
841 5 py2 ,py3 ,py4 ,pz1 ,
842 6 pz2 ,pz3 ,pz4 ,mxt(lft),
843 7 itask ,dt2t ,gbuf%VOL,nft ,
844 8 nlay ,w_gauss ,a_gauss ,
area ,
845 9 elbuf_tab(ng)%NLOCTS(1,1))
846 ENDIF
847
848
849 IF (ioffs == 1) THEN
850 DO i=1,nel
851 IF (offs(i)<=two)gbuf%OFF(i) = offs(i)
852 END DO
853 DO ilay=1,nlay
854 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
855 IF (igtyp == 22) THEN
856 mid=igeo(ipmat+ilay,pid)
857 mtn=nint(pm(19,mid))
858 ENDIF
859 DO i=1,nel
860 IF (gbuf%OFF(i) > one) lbuf%OFF(i)=gbuf%OFF(i)
861 END DO
862 END DO
863 END IF
864 IF (igtyp == 22) THEN
865 mtn = mtn0
866 DO i=1,nel
867 mxt(i)=mxt0(i)
868 ENDDO
869 ENDIF
870 IF ( nn_del> 0) THEN
872 . x1, x2, x3, x4, x5, x6,
873 . y1, y2, y3, y4, y5, y6,
874 . z1, z2, z3, z4, z5, z6, nel)
876 . llsh,geo(1,pid),nn_del,dt,nel )
877 ENDIF
878
879
880
881 IF ( impl_s == 0) THEN
882 IF (isctl > 0) THEN
883 dn = geo(13,pid)
884 CALL s6chour_ctl(
885 . x1, x2, x3, x4, x5, x6,
886 . y1, y2, y3, y4, y5, y6,
887 . z1, z2, z3, z4, z5, z6,
888 . vx1, vx2, vx3, vx4, vx5, vx6,
889 . vy1, vy2, vy3, vy4, vy5, vy6,
890 . vz1, vz2, vz3, vz4, vz5, vz6,
891 . f11, f12, f13, f14, f15, f16,
892 . f21, f22, f23, f24, f25, f26,
893 . f31, f32, f33, f34, f35, f36,
894 . pm,npropm, nummat,mtn,mxt,dn,
895 . gbuf%RHO,volg,cxx,gbuf%HOURG,
896 . off,gbuf%VOL,gbuf%EINT,dt1,stin,nel)
897 ELSE
898
900 . x1, x2, x3, x3, x4, x5, x6, x6,
901 . y1, y2, y3, y3, y4, y5, y6, y6,
902 . z1, z2, z3, z3, z4, z5, z6, z6,
903 . vz1, vz2, vz3, vz3, vz4, vz5, vz6, vz6,
904 . f31,f32,f33,f34,f35,f36,
905 . nu,gbuf%HOURG,off,gbuf%VOL,gbuf%EINT,nel)
906 END IF
907 ENDIF
908
909
910
912 1 gbuf%OFF,offg, nel, ismstr)
913
914
915
916 iflag=mod(ncycle,ncpri)
917 IF (ioutprt>0) THEN
918 CALL s6cbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK ,gbuf%VOL,
919 . vgxa, vgya, vgza, vga2, volg,iparts,
920 . gresav,grth,igrth,gbuf%OFF,iexpan,gbuf%EINTTH,
921 . gbuf%FILL, xgxa, xgya, xgza,xgxa2,xgya2,xgza2,
922 . xgxya,xgyza,xgzxa,itask,iparg(1,ng),gbuf%OFF,
923 . sensors,nel,gbuf%G_WPLA,gbuf%WPLA)
924 ENDIF
925
926
927
929 1 x1, x2, x3, x4,
930 2 x5, x6, y1, y2,
931 3 y3, y4, y5, y6,
932 4 z1, z2, z3, z4,
933 5 z5, z6, f11, f12,
934 6 f13, f14, f15, f16,
935 7 f21, f22, f23, f24,
936 8 f25, f26, f31, f32,
937 9 f33, f34, f35, f36,
938 a dd, nel)
940 1 r11, r21, r31, r12,
941 2 r22, r32, r13, r23,
942 3 r33, f11, f21, f31,
943 4 nel)
945 1 r11, r21, r31, r12,
946 2 r22, r32, r13, r23,
947 3 r33, f12, f22, f32,
948 4 nel)
950 1 r11, r21, r31, r12,
951 2 r22, r32, r13, r23,
952 3 r33, f13, f23, f33,
953 4 nel)
955 1 r11, r21, r31, r12,
956 2 r22, r32, r13, r23,
957 3 r33, f14, f24, f34,
958 4 nel)
960 1 r11, r21, r31, r12,
961 2 r22, r32, r13, r23,
962 3 r33, f15, f25, f35,
963 4 nel)
965 1 r11, r21, r31, r12,
966 2 r22, r32, r13, r23,
967 3 r33, f16, f26, f36,
968 4 nel)
969
970
971
972 IF (isctl > 0) THEN
973 alpha_e(1:nel) = one
974 CALL sdistor_ini(
975 1 nel ,sti_c ,npropm ,nummat ,
976 2 ismstr ,mxt ,istab ,pm ,
977 3 gbuf%SIG ,gbuf%RHO ,cxx ,offg ,
978 4 gbuf%OFF ,ll ,voln ,fld ,
979 5 cns2 ,fqmax )
980
981 CALL s6get_xv(
982 . nc1, nc2, nc3,
983 . nc4, nc5, nc6,
984 . x1, x2, x3,
985 . x4, x5, x6,
986 . y1, y2, y3,
987 . y4, y5, y6,
988 . z1, z2, z3,
989 . z4, z5, z6,
990 . vx1, vx2, vx3,
991 . vx4, vx5, vx6,
992 . vy1, vy2, vy3,
993 . vy4, vy5, vy6,
994 . vz1, vz2, vz3,
995 . vz4, vz5, vz6,
996 . x, xdp, v,
997 . numnod, ismstr, nel )
998 CALL s6for_distor(
999 . x1, x2, x3,
1000 . x4, x5, x6,
1001 . y1, y2, y3,
1002 . y4, y5, y6,
1003 . z1, z2, z3,
1004 . z4, z5, z6,
1005 . vx1, vx2, x3,
1006 . vx4, vx5, x6,
1007 . vy1, vy2, y3,
1008 . vy4, vy5, y6,
1009 . vz1, vz2, z3,
1010 . vz4, vz5, z6,
1011 . f11, f12, f13,
1012 . f14, f15, f16,
1013 . f21, f22, f23,
1014 . f24, f25, f26,
1015 . f31, f32, f33,
1016 . f34, f35, f36,
1017 . stin, sti_c, fld,
1018 . cns2, ll , istab,
1019 . fqmax,gbuf%EINT_DISTOR,dt1,
1020 . nel )
1021 ENDIF
1022
1024 1 gbuf%FILL,sti, f11, f21,
1025 2 f31, f12, f22, f32,
1026 3 f13, f23, f33, f14,
1027 4 f24, f34, f15, f25,
1028 5 f35, f16, f26, f36,
1029 6 nel)
1030
1031
1032
1033 IF (iparit == 0) THEN
1035 1 gbuf%OFF,a, nc1, nc2,
1036 2 nc3, nc4, nc5, nc6,
1037 3 stifn, stin, f11, f21,
1038 4 f31, f12, f22, f32,
1039 5 f13, f23, f33, f14,
1040 6 f24, f34, f15, f25,
1041 7 f35, f16, f26, f36,
1042 8 nel, jthe, fthe, them,
1043 9 condn,conden, ifthe, icondn,
1044 . glob_therm%NODADT_THERM)
1045 ELSE
1047 1 gbuf%OFF,stin, fsky, fsky,
1048 2 iads, f11, f21, f31,
1049 3 f12, f22, f32, f13,
1050 4 f23, f33, f14, f24,
1051 5 f34, f15, f25, f35,
1052 6 f16, f26, f36, nel,
1053 7 nft, jthe, fthesky, them,
1054 8 condnsky,conden,
1055 . glob_therm%NODADT_THERM)
1056 ENDIF
1057 IF (ntsheg > 0)
1059 1 gbuf%OFF,alpha_e, nc1, nc2,
1060 2 nc3, nc4, nc5, nc6,
1061 3 nel)
1062
1063 RETURN
subroutine csmall3(sig, s1, s2, s3, s4, s5, s6, offg, off, nel)
subroutine area(d1, x, x2, y, y2, eint, stif0)
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)
subroutine s6cbilan(partsav, eint, rho, rk, vol, vxa, vya, vza, va2, vnew, iparts, gresav, grth, igrth, off, iexpan, eintth, fill, xx, yy, zz, xx2, yy2, zz2, xy, yz, zx, itask, iparg, offg, sensors, nel, g_wpla, wpla)
subroutine s6cdefc3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vx5, vx6, vy1, vy2, vy3, vy4, vy5, vy6, vz1, vz2, vz3, vz4, vz5, vz6, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz, dhxx, dhxy, dhxz, dhyx, dhyy, dhyz, dhzx, dhzy, dhzz, dh4, dh5, dh6, 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, ddhv, nu, nel)
subroutine s6cfint3(sig, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, 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, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, vol, qvis, eint, rho, q, epla, epsd, epsdm, sigm, eintm, rhom, qm, eplasm, zi, wi, volg, off, nu, vol0, vol0g, g_pla, g_epsd, nel, svis, g_wpla, l_wpla, g_wpla_flag)
subroutine s6cfint_reg(nloc_dmg, var_reg, nel, off, vol, nc1, nc2, nc3, nc4, nc5, nc6, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, imat, itask, dt2t, vol0, nft, nlay, ws, as, area, bufnlts)
subroutine s6chour3(rho, vol, ssp, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f31, f32, f33, f35, f36, f37, nu, fhour, off, vol0, eint, nel)
subroutine sdlensh3n(nel, llsh3n, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6)
subroutine s6ctherm(pm, imat, vol, nc1, nc2, nc3, nc4, nc5, nc6, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, dt1, tempnc, tel, heat, fphi, offg, off, nel, theaccfact)
subroutine s6cumu3(offg, e, nc1, nc2, nc3, nc4, nc5, nc6, stifn, sti, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, nel, jthe, fthe, them, condn, conde, ifthe, icondn, nodadt_therm)
subroutine s6cumu3p(offg, sti, fsky, fskyv, iads, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, nel, nft, jthe, fthesky, them, condnsky, conde, nodadt_therm)
subroutine s6czero3(fx1, fy1, fz1, fx2, fy2, fz2, fx3, fy3, fz3, fx4, fy4, fz4, fx5, fy5, fz5, fx6, fy6, fz6, sigm, eintm, rhom, qm, eplasm, epsdm, g_pla, g_epsd, nel, nlay)
subroutine s6fillopt(fill, sti, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, nel)
subroutine s6proj3(x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6, vx1, vx2, vx3, vx4, vx5, vx6, vy1, vy2, vy3, vy4, vy5, vy6, vz1, vz2, vz3, vz4, vz5, vz6, di, nel)
subroutine s6rcoor3(x, ixs, v, w, gama0, gama, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6, vx1, vx2, vx3, vx4, vx5, vx6, vy1, vy2, vy3, vy4, vy5, vy6, vz1, vz2, vz3, vz4, vz5, vz6, vd2, vis, offg, off, sav, rho, rhoo, r11, r12, r13, r21, r22, r23, r31, r32, r33, nc1, nc2, nc3, nc4, nc5, nc6, ngl, mxt, ngeo, ioutprt, vgax, vgay, vgaz, vga2, di, nel, xgax, xgay, xgaz, xgxa2, xgya2, xgza2, xgxya, xgyza, xgzxa, iparg, gama_r)
subroutine s6sav3(offg, sav, xd1, xd2, xd3, xd4, xd5, xd6, yd1, yd2, yd3, yd4, yd5, yd6, zd1, zd2, zd3, zd4, zd5, zd6, nel)
subroutine s8csigp3(sig, e0, defp, fac, g_pla, nel)
subroutine scdefo3(dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, dcxx, dcxy, dcxz, dcyx, dcyy, dcyz, dczx, dczy, dczz, dc4, dc5, dc6, dhxx, dhxy, dhxz, dhyx, dhyy, dhyz, dhzx, dhzy, dhzz, dh4, dh5, dh6, zi, wi, vzl, vol, volg, volo, ddhv, sig, sigzm, volm, usb, eint, off, offg, dti, offs, dvc, vol0dp, voldp, ipres, nel)
subroutine scordef3(nel, dxx, dyy, dzz, d4, d5, d6, dir)
subroutine scroto_sig(nel, sig, sign, dir)
subroutine scumualpha6(offg, alpha_e, nc1, nc2, nc3, nc4, nc5, nc6, nel)
subroutine sdlensh3n2(voln, llsh3n, area, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6, nel)
subroutine sgetdir3(nel, rx, ry, rz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, dir, dirb, irep)
subroutine sgparav3(npe, x, ixs, rx, ry, rz, sx, sy, sz, tx, ty, tz, nel)
subroutine smallb3(offg, off, nel, ismstr)
subroutine sstra3(dxx, dyy, dzz, d4, d5, d6, strain, wxx, wyy, wzz, off, nel, jcvt)
subroutine sdlen3(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, deltax, voln)
subroutine srho3(pm, volo, rhon, eint, dxx, dyy, dzz, voln, dvol, mat)
subroutine s6cderi3(nel, vol, geo, vzl, ngl, deltax, det, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6)
subroutine tshgeodel3(ngl, offg, volg, area, volg0, l_sh, geo, nnod, dt, nel)
subroutine vrrota3(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, y1, z1, nel)