115
116
117
118 USE timer_mod
120 USE mat_elem_mod
126 USE sensor_mod
127 USE elbufdef_mod
129 use glob_therm_mod
130 use dttherm_mod
131
132
133
134#include "implicit_f.inc"
135
136
137
138#include "param_c.inc"
139#include "mvsiz_p.inc"
140
141
142
143#include "com_xfem1.inc"
144#include "scr14_c.inc"
145#include "scr18_c.inc"
146#include "parit_c.inc"
147#include "timeri_c.inc"
148#include "impl1_c.inc"
149#include "com04_c.inc"
150
151
152
153 TYPE(TIMER_), INTENT(INOUT) :: TIMERS
154 INTEGER , INTENT(IN) :: NCYCLE
155 INTEGER,INTENT(IN) :: USERL_AVAIL
156 INTEGER,INTENT(IN) :: MAXFUNC
157 INTEGER,INTENT(INOUT) :: IDEL7NOK
158 INTEGER,INTENT(IN) :: SBUFMAT
159 INTEGER,INTENT(IN) :: STF
160 INTEGER,INTENT(IN) :: SNPC
161 INTEGER JFT,JLT,NFT,NPT,MTN,IPRI,ITHK,NELTST,
162 . ITYPTST ,ISTRAIN ,IPLA,NVC,JSMS,ITASK,IEXPAN,IXFEM,
163 . IOFC,IHBE,KFTS,ISMSTR,IFAILURE,JTHE,ISUBSTACK,NEL,N1,N2,N3,N4
164 INTEGER IXC(NIXC,*),IADC(4,*),IPARTC(*),NPF(*),IGEO(NPROPGI,*),
165 . IPM(NPROPMI,*),INDXOF(MVSIZ),GRTH(*),IGRTH(*),IPARG(*),ITAB(*),
166 . KNOD2ELC(*),XEDGE4N(4,*),
167 . ELCUTC(2,*),INOD_CRK(*),IEL_CRK(*),
168 . NODENR(*),IADC_CRK(4,*),NODEDGE(2,*),CRKNODIAD(*),INDX_DRAPE(SCDRAPE)
169 INTEGER :: IGRE,JTUR
170
172 . f11(mvsiz), f12(mvsiz), f13(mvsiz), f14(mvsiz),
173 . f21(mvsiz), f22(mvsiz), f23(mvsiz), f24(mvsiz),
174 . f31(mvsiz), f32(mvsiz), f33(mvsiz), f34(mvsiz),
175 . m11(mvsiz), m12(mvsiz), m13(mvsiz), m14(mvsiz),
176 . m21(mvsiz), m22(mvsiz), m23(mvsiz), m24(mvsiz),
177 . m31(mvsiz), m32(mvsiz), m33(mvsiz), m34(mvsiz),
178 . tf(*), pm(npropm,*),geo(npropg,*),partsav(*),
179 . bufmat(*), x(3,*),dr(*),v(3,*),vr(3,*),f(3,*),m(3,*),
180 . stifn(*), stifr(*),fsky(*),tani(6,*),thke(*),
181 . fzero(3,4,*),temp(*),fthe(*),fthesky(*),gresav(*),
182 . msc(*), dmelc(*),condn(*),condnsky(*)
184 TYPE(TTABLE) TABLE(*)
185 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
186 TYPE (NLOCAL_STR_) , TARGET :: NLOC_DMG
187 TYPE (ELBUF_STRUCT_), DIMENSION(NXEL) :: XFEM_STR
188 TYPE (XFEM_EDGE_) , DIMENSION(NXLAYMAX) :: CRKEDGE
189 TYPE (STACK_PLY) :: STACK
190 TYPE (FAILWAVE_STR_) :: FAILWAVE
191 TYPE (GROUP_PARAM_) :: GROUP_PARAM
192 TYPE (DRAPE_) , DIMENSION(NUMELC_DRAPE) :: DRAPE_SH4N
193 TYPE (SENSORS_) ,INTENT(INOUT) :: SENSORS
194 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
195 TYPE (DT_) ,INTENT(IN) :: DT
196 type (glob_therm_) ,intent(inout) :: glob_therm
197
198
199
200 LOGICAL PLAT(MVSIZ)
201 INTEGER
202 . I,J,IR,IS,MX,NNOD,NUPAR,NLAY,NXLAY,ILAY,NPG,IXEL,IFAILWAVE,
203 . IBID,ISROT,NG,IXFEM2,L_DIRA,L_DIRB,J1,J2,IORTH,IGTYP,IGMAT,IXLAY,
204 . NPTTOT,IREP,IPOUT,IDRAPE,NPTT,IT,ACTIFXFEM,SEDRAPE,NUMEL_DRAPE
205 INTEGER MAT(MVSIZ),PID(MVSIZ),NGL(MVSIZ),FWAVE_EL(NEL)
206 parameter(nnod = 4)
208 . rh0(mvsiz),ll(mvsiz),
209 . vl13(mvsiz,3), vl24(mvsiz,3), vlhi(mvsiz,3), rlxyz(mvsiz,8),
210 . x13(mvsiz), x24(mvsiz), y13(mvsiz), y24(mvsiz),
211 . mx13(mvsiz), mx23(mvsiz), mx34(mvsiz),
212 . my13(mvsiz), my23(mvsiz), my34(mvsiz), z1(mvsiz),z2(mvsiz),
213 . vq(mvsiz,9), vdef(mvsiz,8), off(mvsiz), dhg(mvsiz,6),
214 .
area(mvsiz), vqn(mvsiz,12), l13(mvsiz), l24(mvsiz),
215 . zcfac(mvsiz,2), a_i(mvsiz), thk02(mvsiz),
216 . exx(mvsiz) ,eyy(mvsiz) ,exy(mvsiz) ,exz(mvsiz) ,eyz(mvsiz),
217 . kxx(mvsiz) ,kyy(mvsiz) ,kxy(mvsiz) ,sigy(mvsiz),
218 . dt1c(mvsiz),ssp(mvsiz) ,viscmx(mvsiz),rho(mvsiz) ,
219 . nu(mvsiz) ,g(mvsiz) ,a11(mvsiz) ,a12(mvsiz) ,vol0(mvsiz),
220 . thk0(mvsiz),sti(mvsiz) ,stir(mvsiz) ,shf(mvsiz) ,
221 . vf(mvsiz,12),vm(mvsiz,8),gs(mvsiz) ,fac1(mvsiz),
222 . alpe(mvsiz),ym(mvsiz) ,bid,facn(mvsiz,2),
223 . lxyz(mvsiz,8),dd(mvsiz,6),db(mvsiz,12),amu(mvsiz),
224 . gsr(mvsiz), a11sr(mvsiz), a12sr(mvsiz), nusr(mvsiz),
225 . shfsr(mvsiz),px2(mvsiz),py1(mvsiz),py2(mvsiz),px1(mvsiz),
226 . die(mvsiz), tempel(mvsiz),them(mvsiz,4),
227 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
228 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
229 . r31(mvsiz),r32(mvsiz),r33(mvsiz),
230 . rlz(mvsiz,4),vhgzk(mvsiz,5),vhgze(mvsiz,5),vrlz(mvsiz),
231 . bm0rz(mvsiz,4,4),bmkrz(mvsiz,4,4),bmerz(mvsiz,4,4),
232 . vmz(mvsiz,4),krz(mvsiz),diz(mvsiz,3),
233 . x1g(mvsiz), x2g(mvsiz), x3g(mvsiz), x4g(mvsiz),
234 . y1g(mvsiz), y2g(mvsiz), y3g(mvsiz), y4g(mvsiz),
235 . z1g(mvsiz), z2g(mvsiz), z3g(mvsiz), z4g(mvsiz),
236 . vl1(mvsiz,3),vl2(mvsiz,3),vl3(mvsiz,3),vl4(mvsiz,3),
237 . vrl1(mvsiz,3),vrl2(mvsiz,3),vrl3(mvsiz,3),vrl4(mvsiz,3),
238 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
239 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
240 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
241 . vrx1(mvsiz),vrx2(mvsiz),vrx3(mvsiz),vrx4(mvsiz),
242 . vry1(mvsiz),vry2(mvsiz),vry3(mvsiz),vry4(mvsiz),
243 . vrz1(mvsiz),vrz2(mvsiz),vrz3(mvsiz),vrz4(mvsiz),
244 . ux1(mvsiz),ux2(mvsiz),ux3(mvsiz),ux4(mvsiz),
245 . uy1(mvsiz),uy2(mvsiz),uy3(mvsiz),uy4(mvsiz),
246 . hm(mvsiz,6), hf(mvsiz,6), hc(mvsiz,2),hmfor(mvsiz,6),
247 . conde(mvsiz),a11r(mvsiz),xl2(mvsiz),xl3(mvsiz),xl4(mvsiz),
248 . yl2(mvsiz),yl3(mvsiz),yl4(mvsiz)
250 . areat(mvsiz),x13t(mvsiz) ,y13t(mvsiz), x24t(mvsiz),y24t(mvsiz),
251 . mx13t(mvsiz), mx23t(mvsiz), mx34t(mvsiz),
252 . my13t(mvsiz), my23t(mvsiz), my34t(mvsiz), z1t(mvsiz),
253 . a_it(mvsiz),f_def(mvsiz,8), u13(mvsiz,2),u24(mvsiz,2),
254 . axyz(mvsiz,4),wxy(mvsiz),fac58(mvsiz,2)
255 my_real ,
DIMENSION (NEL) :: zoffset
256 my_real :: dtinv,asrate,eps_m2,eps_k2
257 my_real,
dimension(nel) :: epsd_pg
258 my_real,
dimension(mvsiz) :: fheat
259
260
261 INTEGER :: NDDL, K, INOD(4),NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
262 . IPOS(4), L_NLOC, IMAT, INLOC,IINT
263 my_real,
DIMENSION(:,:),
ALLOCATABLE :: var_reg
264 my_real,
DIMENSION(:),
POINTER :: bpreld,dnl,uvar
265
266 INTEGER, DIMENSION(NEL) :: OFFLY
267 INTEGER, ALLOCATABLE, DIMENSION(:) :: ELCRKINI
268 my_real,
ALLOCATABLE,
DIMENSION(:) :: dira,dirb,dir1_crk,dir2_crk
269 my_real,
DIMENSION(:) ,
POINTER :: dir_a,dir_b,crkdir,crklen,dadv
270 TARGET :: dira,dirb
271
272 TYPE(BUF_LAY_) ,POINTER :: BUFLY
273 TYPE(G_BUFEL_) ,POINTER :: GBUF
274 TYPE(L_BUFEL_) ,POINTER :: LBUF
275 TYPE(L_BUFEL_DIR_) ,POINTER :: LBUF_DIR
276 INTEGER SDIR_A
277 INTEGER SDIR_B
278
279
280
281
282
283 gbuf => elbuf_str%GBUF
284 idrape = elbuf_str%IDRAPE
285
286 ibid = 0
287 bid = zero
288 isrot = iparg(41)
289 irep = iparg(35)
290 inloc = iparg(78)
291 iint = iparg(36)
292 actifxfem = iparg(70)
293 nlay = elbuf_str%NLAY
296 tempel(:) = zero
297 fheat(:) = zero
298
299
300
301 ixel = 0
302 ixlay = 0
303 npg = 0
304 ir = 1
305 is = 1
306 ng = 1
307
308 npttot = 0
309 DO ilay=1,nlay
310 npttot = npttot + elbuf_str%BUFLY(ilay)%NPTT
311 ENDDO
312 uvar => elbuf_str%BUFLY(1)%MAT(ir,is,1)%VAR
313
314
315 nddl = npttot
316 ALLOCATE(var_reg(nel,nddl))
317
318 IF (npt == 0) npttot = npt
319
320 l_dira = elbuf_str%BUFLY(1)%LY_DIRA
321 l_dirb = elbuf_str%BUFLY(1)%LY_DIRB
322 igtyp = igeo(11,ixc(6,1))
323 IF(idrape > 0 .AND. (igtyp == 51 .OR. igtyp == 52)) THEN
324 ALLOCATE(dira(npttot*nel*l_dira))
325 ALLOCATE(dirb(npttot*nel*l_dirb))
326 IF (l_dira == 0) THEN
327 CONTINUE
328 ELSEIF (irep == 0) THEN
329 npttot = 0
330 DO ilay=1,nlay
331 nptt = elbuf_str%BUFLY(ilay)%NPTT
332 DO it=1,nptt
333 j = npttot + it
334 lbuf_dir => elbuf_str%BUFLY(ilay)%LBUF_DIR(it)
335 j1 = 1+(j-1)*l_dira*nel
336 j2 = j*l_dira*nel
337 dira(j1:j2) = lbuf_dir%DIRA(1:nel*l_dira)
338 ENDDO
339 npttot = npttot + nptt
340 ENDDO
341 ENDIF
342 sdir_a=npttot*nel*l_dira
343 sdir_b=npttot*nel*l_dirb
344 dir_a => dira(1:npttot*nel*l_dira)
345 dir_b => dirb(1:npttot*nel*l_dirb)
346 ELSE
347 sdir_a=nlay*nel*l_dira
348 sdir_b=nlay*nel*l_dirb
349 ALLOCATE(dira(nlay*nel*l_dira))
350 ALLOCATE(dirb(nlay*nel*l_dirb))
351 dira=zero
352 dirb=zero
353 IF (l_dira == 0) THEN
354 CONTINUE
355 ELSEIF (irep == 0) THEN
356 DO j=1,nlay
357 j1 = 1+(j-1)*l_dira*nel
358 j2 = j*l_dira*nel
359 dira(j1:j2) = elbuf_str%BUFLY(j)%DIRA(1:nel*l_dira)
360 ENDDO
361 ENDIF
362 sdir_a=nlay*nel*l_dira
363 sdir_b=nlay*nel*l_dirb
364 dir_a => dira(1:nlay*nel*l_dira)
365 dir_b => dirb(1:nlay*nel*l_dirb)
366 ENDIF ! idrape
367
368 DO i=jft,jlt
369 mat(i) = ixc(1,i)
370 pid(i) = ixc(6,i)
371 ngl(i) = ixc(7,i)
372 ENDDO
373 DO i=jft,jlt
374 sigy(i) = ep30
375 zcfac(i,1) = one
376 zcfac(i,2) = one
377 alpe(i) = one
378 ENDDO
379
380 DO i=jft,jlt
381 fac1(i) = geo(17,pid(i))
382 vf(i,1:12) =zero
383 vm(i,1:8) =zero
384 ENDDO
385
386 imat = ixc(1,jft)
387 igtyp = igeo(11,pid(1))
388 igmat = igeo(98,pid(1))
389
390
391
392 ifailwave = iparg(79)
393 IF (ifailwave > 0) THEN
394 fwave_el(:) = zero
395 offly(:) = elbuf_str%BUFLY(1)%OFF(:)
396 DO i=2,nlay
397 DO j=1,nel
398 offly(j) =
max(offly(j), elbuf_str%BUFLY(i)%OFF(j))
399 ENDDO
400 ENDDO
401 dadv => gbuf%DMG
403 . nel ,ixc ,itab ,ngl ,offly )
404 ENDIF
405
406
407
408
409
410 ixfem2 = 0
411 nxlay = nlay
412 IF (ixfem > 0) THEN
413 ALLOCATE(elcrkini(nxlaymax*mvsiz))
414 ALLOCATE(dir1_crk(nxlaymax*mvsiz))
415 ALLOCATE(dir2_crk(nxlaymax*mvsiz))
416 dir1_crk = zero
417 dir2_crk = zero
418 elcrkini = 0
419 IF (nlevset > 0) THEN
420 CALL precrklay(jft ,jlt ,nft ,nxlay ,elcrkini,
421 . iel_crk,inod_crk,nodenr ,crkedge,xedge4n )
422 ENDIF
423 ELSE
424 ALLOCATE(elcrkini(0))
425 ALLOCATE(dir1_crk(0))
426 ALLOCATE(dir2_crk(0))
427 ENDIF
428
429 CALL czcorc1(numnod,numelc ,elbuf_str,
430 1 jft ,jlt ,x ,v ,vr ,
431 2 ixc ,pm ,plat ,
area ,
432 3 a_i ,vl13 ,vl24 ,vlhi ,rlxyz ,
433 4 vqn ,vq ,ll ,l13 ,l24 ,
434 5 x13 ,x24 ,y13 ,y24 ,mx13 ,
435 6 mx23 ,mx34 ,my13 ,my23 ,my34 ,
436 7 z1 ,lxyz ,dd ,db ,gbuf%SMSTR,
437 9 irep ,npt ,nlay ,ismstr ,
438 a dir_a ,dir_b ,gbuf%OFF,rlxyz ,lxyz ,
439 b facn ,py1 ,px2 ,py2 ,r11 ,
440 c r12 ,r13 ,r21 ,r22 ,r23 ,
441 d r31 ,r32 ,r33 ,rlz ,isrot ,
442 e ixfem2 ,vx1 ,vx2 ,vx3 ,vx4 ,
443 f vy1 ,vy2 ,vy3 ,vy4 ,vz1 ,
444 g vz2 ,vz3 ,vz4 ,vrx1 ,vrx2 ,
445 h vrx3 ,vrx4 ,vry1 ,vry2 ,vry3 ,
446 i vry4 ,vrz1 ,vrz2 ,vrz3 ,vrz4 ,
447 j x1g ,x2g ,x3g ,x4g ,y1g ,
448 k y2g ,y3g ,y4g ,z1g ,z2g ,
449 l z3g ,z4g ,thke ,diz ,ux1 ,
450 m ux2 ,ux3 ,ux4 ,uy1 ,uy2 ,
451 n uy3 ,uy4 ,xl2 ,xl3 ,xl4 ,
452 o yl2 ,yl3 ,yl4 ,vl1 ,vl2 ,
453 p vl3 ,vl4 ,nel ,z2 )
454
455 CALL cncoef3b(jft ,jlt ,pm ,mat ,geo ,
456 2 pid ,
area ,shf ,thk0 ,
457 3 thk02 ,nu ,g ,ym ,
458 4 a11 ,a12 ,gbuf%THK,thke ,ssp ,
459 5 rho ,vol0 ,gs ,mtn ,ithk ,
460 6 npttot ,dt1c ,dt1 ,ihbe ,amu ,
461 7 gsr ,a11sr ,a12sr ,nusr ,shfsr ,
462 8 krz ,igeo ,a11r , isubstack , stack%PM,
463 9 mat_elem%MAT_PARAM(imat)%UPARAM ,dira ,dirb ,
464 a uvar ,fac58 ,nel ,zoffset )
465
467 1 pid ,mtn ,npttot ,hm ,hf ,
468 2 hc ,hmfor ,iorth ,dir_a ,igeo ,
469 3 isubstack,stack,elbuf_str ,nlay ,gbuf%THK,
470 4 drape_sh4n ,nft ,nel ,indx_drape , thke,
471 5 sedrape,numel_drape ,mat_elem )
472
473
474
475 CALL czdef(jft ,jlt ,
area ,a_i ,vl13 ,vl24 ,
476 2 vlhi ,rlxyz ,vdef ,dhg ,x13 ,
477 3 x24 ,y13 ,y24 ,mx13 ,mx23 ,mx34 ,
478 4 my13 ,my23 ,my34 ,z1 ,dt1 ,off ,
479 5 gbuf%OFF,rlxyz )
480 IF (isrot > 0) THEN
482 1 vdef ,vhgzk ,vhgze ,x13 ,x24 ,
483 2 y13 ,y24 ,mx13 ,mx23 ,mx34 ,
484 3 my13 ,my23 ,my34 ,z1 ,dhg ,
485 4 bm0rz ,bmkrz ,bmerz ,vl13 ,vl24 ,
486 5 vrlz )
487 ENDIF
488 IF (ismstr == 10 ) THEN
490 1 jft ,jlt ,x ,v ,vr ,
491 2 ixc ,pm ,gbuf%OFF,areat ,a_it ,
492 3 u13 ,u24 ,dr ,axyz ,vq ,
493 4 x13t ,x24t ,y13t ,y24t ,mx13t ,
494 5 mx23t ,mx34t ,my13t ,my23t ,my34t ,
495 6 z1t ,gbuf%SMSTR,thke,npttot ,ismstr ,
496 7 isrot ,lxyz ,z1 ,vqn ,nel )
497
498 CALL czdeft(jft ,jlt ,u13 ,u24 ,axyz ,
499 2 f_def,x13t ,x24t,y13t ,y24t ,
500 3 z1t ,a_it )
501 IF (isrot > 0) THEN
502 CALL czdefrzt(jft ,jlt ,areat,a_it ,axyz ,
503 1 f_def,x13t,x24t ,y13t ,y24t ,
504 2 mx13t,mx23t,mx34t ,my13t,my23t,
505 3 my34t,z1t )
506 END IF
507 CALL czdeftw(jft ,jlt ,a_i ,vl13 ,vl24,
508 2 rlxyz,x13 ,x24 ,y13 ,y24 ,
509 3 z1 ,wxy)
510 END IF
511
512
513
514 CALL czstra3(jft ,jlt ,nft ,vdef ,gbuf%STRA,
515 2 exx ,eyy ,exy ,exz ,eyz ,
516 3 kxx ,kyy ,kxy ,dt1c ,tani ,
517 4 iepsdot,istrain,ux1 ,ux2 ,ux3 ,
518 5 ux4 ,uy1 ,uy2 ,uy3 ,uy4 ,
519 6 y24 ,px2 ,py1 ,py2 ,
area ,
520 7 ismstr ,mtn ,wxy ,f_def,gbuf%STRW,
521 8 nel )
522 IF (gbuf%G_STRPG > gbuf%G_STRA) THEN
523 CALL czstrah3(jft ,jlt ,gbuf%STRPG,dhg ,a_i ,
524 3 mx23 ,mx34 ,my23 ,my34 ,dt1c ,
525 4 exx ,eyy ,exy ,exz ,eyz ,
526 3 kxx ,kyy ,kxy ,nel )
527 END IF
528 IF (npttot == 1 .AND. mtn==58) THEN
530 1 jft ,jlt ,x ,v ,vr ,
531 2 ixc ,pm ,gbuf%OFF,
532 3 vq ,gbuf%HOURG,thke ,npttot ,ismstr ,
533 7 lxyz ,z2 ,iint ,nel )
534 END IF
535
536
537
538 IF (inloc > 0) THEN
539 l_nloc = nloc_dmg%L_NLOC
540 dnl => nloc_dmg%DNL(1:l_nloc)
541 DO i=jft,jlt
542 nc1(i) = ixc(2,i)
543 nc2(i) = ixc(3,i)
544 nc3(i) = ixc(4,i)
545 nc4(i) = ixc(5,i)
546 ENDDO
547 DO k = 1,nddl
548#include "vectorize.inc"
549 DO i=jft,jlt
550 inod(1) = nloc_dmg%IDXI(nc1(i))
551 inod(2) = nloc_dmg%IDXI(nc2(i))
552 inod(3) = nloc_dmg%IDXI(nc3(i))
553 inod(4) = nloc_dmg%IDXI(nc4(i))
554 ipos(1) = nloc_dmg%POSI(inod(1))
555 ipos(2) = nloc_dmg%POSI(inod(2))
556 ipos(3) = nloc_dmg%POSI(inod(3))
557 ipos(4) = nloc_dmg%POSI(inod(4))
558 var_reg(i,k) = fourth*(dnl(ipos(1)+k-1) + dnl(ipos(2)+k-1)
559 . + dnl(ipos(3)+k-1) + dnl(ipos(4)+k-1))
560 ENDDO
561 ENDDO
562 ENDIF
563
564
565
566
567
568
569
570 dtinv = dt1 /
max(dt1**2,em20)
571 asrate = one
572#include "vectorize.inc"
573 do i = 1,nel
574 eps_k2 = (kxx(i)**2+kyy(i)**2+kxx(i)*kyy(i)+fourth*kxy(i)**2)
575 . * one_over_9*gbuf%thk(i)**2
576 eps_m2 = four_over_3*(exx(i)**2+eyy(i)**2+exx(i)*eyy(i) + fourth*exy(i)**2)
577 epsd_pg(i) = sqrt(eps_k2 + eps_m2)*dtinv
578 end do
579
580
581 IF (jthe /= 0) THEN
582 CALL tempcg(numnod,nel ,ixc ,temp ,tempel )
583 ENDIF
584
585 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
586
588 1 elbuf_str ,jft ,jlt ,nft ,iparg ,
589 2 nel ,mtn ,ipla ,ithk ,group_param,
590 3 pm ,geo ,npf ,tf ,bufmat ,
591 4 ssp ,rho ,viscmx ,dt1c ,sigy ,
592 5
area ,exx ,eyy ,exy ,exz ,
593 6 eyz ,kxx ,kyy ,kxy ,nu ,
594 7 off ,thk0 ,mat ,pid ,mat_elem ,
595 8 gbuf%FOR ,gbuf%MOM ,gbuf%STRA ,failwave ,fwave_el ,
596 9 gbuf%THK ,gbuf%EINT ,iofc ,
597 a g ,a11 ,a12 ,vol0 ,indxof ,
598 b ngl ,zcfac ,shf ,gs ,epsd_pg ,
599 c kfts ,ihbe ,alpe ,
600 d dir_a ,dir_b ,igeo ,
601 e ipm ,ifailure ,npg ,fheat ,
602 f tempel ,die ,jthe ,iexpan ,gbuf%TEMP ,
603 g ibid ,bid ,
604 h bid ,bid ,bid ,bid ,bid ,
605 i bid ,bid ,bid ,r11 ,r12 ,
606 j r13 ,r21 ,r22 ,r23 ,r31 ,
607 k r32 ,r33 ,ng ,table ,ixfem ,
608 l bid ,sensors ,bid ,elcrkini ,
609 m dir1_crk ,dir2_crk ,ll ,glob_therm%IDT_THERM ,glob_therm%THEACCFACT,
610 n ismstr ,ir ,is ,nlay ,npt ,
611 o ixlay ,ixel ,isubstack ,stack ,
612 p f_def ,itask ,drape_sh4n ,var_reg ,nloc_dmg ,
613 r indx_drape,thke ,sedrape ,numel_drape,dt ,
614 q ncycle ,snpc ,stf ,nxlaymax ,idel7nok ,
615 s userl_avail ,maxfunc ,npttot ,sbufmat ,sdir_a ,
616 t sdir_b ,gbuf%FOR_G )
617
618
619
620 IF ((itask==0).AND.(imon_mat==1))
CALL stoptime(timers,35)
621
622
623
624 ipout=2
625 IF (ipri == 1)
627 1 jft, jlt, pm, v,
628 2 ixc, gbuf%THK, gbuf%EINT, partsav,
629 3
area, mat, ipartc, x,
630 4 vr, bid, bid, bid,
631 5 thk02, ipout, off, nft,
632 6 gresav, grth, igrth, vl1,
633 7 vl2, vl3, vl4, vrl1,
634 8 vrl2, vrl3, vrl4, x1g,
635 9 x2g, x3g, x4g, y1g,
636 a y2g, y3g, y4g, z1g,
637 b z2g, z3g, z4g, ibid,
638 c iexpan, gbuf%EINTTH,itask, gbuf%VOL,
639 d actifxfem, igre, sensors, nel,
640 e gbuf%G_WPLA,gbuf%WPLA )
641
643 1 jft ,jlt ,off ,dt2t ,amu ,
644 2 neltst ,ityptst,sti ,stir ,gbuf%OFF,
645 3 ssp ,viscmx ,rho ,vol0 ,thk0,thk02,
646 4 a11 ,ll ,alpe,ngl,ismstr,
647 5 iofc ,nnod ,
area,g ,shf ,
648 6 msc ,dmelc,jsms,bid , igtyp ,
649 7 igmat ,a11r ,gbuf%G_DT, gbuf%DT,mtn ,
650 8 pm ,mat(jft),nel, zoffset)
651
652 CALL czfintce(jft ,jlt ,thk0 ,thk02,a_i ,x13 ,
653 2 x24 ,y13 ,y24 ,z1 ,mx23 ,mx13 ,
654 3 mx34 ,my13 ,my23 ,my34 ,gbuf%FOR,gbuf%MOM,
655 4 vf ,vm ,nel )
656
657 IF (isrot > 0) THEN
659 1 jft ,jlt ,thk0 ,vol0 ,
area ,x13 ,
660 2 x24 ,y13 ,y24 ,z1 ,mx23 ,mx13 ,
661 3 mx34 ,my13 ,my23 ,my34 ,gbuf%FOR,gbuf%HOURG,
662 4 vf ,vmz ,bm0rz,krz ,vrlz ,dt1c ,
663 5 gbuf%EINT,off ,nel )
664 IF (impl_s > 0 .OR. iorth == 0) THEN
666 1 jft ,jlt ,thk0 ,thk02 ,a_i ,dhg ,
667 2 x13 ,x24 ,y13 ,y24 ,z1 ,mx23 ,
668 3 mx13 ,mx34 ,my13 ,my23 ,my34 ,gbuf%HOURG,
669 4 gbuf%FOR,gbuf%MOM,vf ,vm ,zcfac ,a11 ,
670 5 a12 ,g ,shf ,sigy ,off ,fac1 ,
671 6 rho ,
area ,dt1 ,gbuf%EINT,amu ,vlhi ,
672 7 npttot ,ipartc ,partsav,kfts ,gsr ,
673 8 a11sr ,a12sr ,nusr ,shfsr ,bmkrz ,bmerz ,
674 9 vhgzk ,vhgze ,krz ,vmz ,nel )
675 ELSE
677 2 x13 ,x24 ,y13 ,y24 ,z1 ,mx23 ,
678 3 mx13 ,mx34 ,my13 ,my23 ,my34 ,gbuf%HOURG,
679 4 gbuf%FOR,gbuf%MOM,vf ,vm ,zcfac ,a11 ,
680 5 a12 ,g ,gs ,sigy ,off ,fac1 ,
681 6 rho ,
area , dt1,gbuf%EINT,amu ,vlhi ,
682 7 npttot,ipartc,partsav,kfts ,gsr ,
683 8 a11sr,a12sr ,nusr,shfsr,bmkrz,bmerz ,
684 9 vhgzk,vhgze ,krz ,vmz ,iorth ,hm ,
685 a hf ,hc ,hmfor, mtn ,nel)
686 ENDIF
687
688 ELSE
689
690 IF (impl_s > 0 .OR. iorth == 0) THEN
692 1 jft ,jlt ,thk0 ,thk02 ,a_i ,dhg ,
693 2 x13 ,x24 ,y13 ,y24 ,z1 ,mx23 ,
694 3 mx13 ,mx34 ,my13 ,my23 ,my34 ,gbuf%HOURG,
695 4 gbuf%FOR,gbuf%MOM,vf ,vm ,zcfac ,a11 ,
696 5 a12 ,g ,shf ,sigy ,off ,fac1 ,
697 6 rho ,
area ,dt1 ,gbuf%EINT,amu ,vlhi ,
698 7 npttot ,ipartc ,partsav,kfts ,gsr ,nel ,
699 8 a11sr ,a12sr ,nusr ,shfsr ,mtn ,fac58 )
700 ELSE
701 CALL czfintn_or(jft ,jlt ,thk0 ,thk02,a_i ,dhg ,
702 2 x13 ,x24 ,y13 ,y24 ,z1 ,mx23 ,
703 3 mx13 ,mx34 ,my13 ,my23 ,my34 ,gbuf%HOURG,
704 4 gbuf%FOR,gbuf%MOM,vf ,vm ,zcfac ,a11 ,
705 5 a12 ,g ,gs ,sigy ,off ,fac1 ,
706 6 rho ,
area , dt1,gbuf%EINT,amu ,vlhi ,
707 7 npttot,ipartc,partsav,kfts ,gsr ,
708 8 a11sr,a12sr ,nusr,shfsr ,iorth ,hm ,
709 9 hf ,hc ,hmfor,mtn ,nel)
710 END IF
711 ENDIF
712
713
714
715 IF (inloc > 0) THEN
716
718 1 nloc_dmg, var_reg, gbuf%THK, nel,
719 2 off,
area, nc1, nc2,
720 3 nc3, nc4, y24, py1,
721 4 px2, py2, elbuf_str%NLOC(1,1), imat,
722 5 nddl, itask, dt2t, ll,
723 7 gbuf%THK_I, gbuf%AREA, nft)
724 ENDIF
725
726 IF (npttot == 1) THEN
727 IF (mtn==58.OR.mtn==19.OR.mtn==119) THEN
728 CALL czfintnm1(jft ,jlt ,thk0 ,a_i ,dhg ,
729 2 x13 ,x24 ,y13 ,y24 ,vf ,
730 4 mx13 ,mx23 ,my13 ,my23 ,
731 3 g ,rho ,
area ,amu ,dt1 ,
732 4 vl13 ,vl24 ,vlhi ,gbuf%HOURG,
733 4 off ,ipartc,partsav,kfts ,nel )
734 ELSE
735 CALL czfintnm(jft ,jlt ,thk0 ,a_i ,dhg ,
736 2 x13 ,x24 ,y13 ,y24 ,vf ,
737 3 g ,rho ,
area ,amu ,dt1 ,
738 4 off ,ipartc,partsav,kfts )
739 END IF
740 END IF
742 1 jft ,jlt ,vqn ,vq ,vf ,
743 2 vm ,plat ,
744 3 f11 ,f12 ,f13 ,f14 ,f21,
745 4 f22 ,f23 ,f24 ,f31 ,f32,
746 5 f33 ,f34 ,m11 ,m12 ,m13,
747 6 m14 ,m21 ,m22 ,m23 ,m24,
748 7 m31 ,m32 ,m33 ,m34 ,fzero,
749 8 z1 ,lxyz ,dd ,db ,lxyz,
750 9 isrot ,diz ,vmz )
751
752
753
754 IF (jthe /= 0) THEN
755 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
756 CALL thermc(jft ,jlt ,pm ,mat ,thk0 ,ixc ,
757 . y24 ,px2 ,py1 ,py2 ,
area ,dt1c ,
758 . temp ,tempel ,fheat ,them ,glob_therm%THEACCFACT)
759 ELSE
760 CALL thermc(jft ,jlt ,pm ,mat ,thk0 ,ixc ,
761 . y24 ,px2 ,py1 ,py2 ,
area ,dt1c ,
762 . temp ,tempel ,die ,them ,glob_therm%THEACCFACT)
763 END IF
764 ENDIF
765
766
767
768 IF (jthe /= 0 .AND. glob_therm%IDT_THERM == 1) THEN
769 call dttherm(nel ,pm(1,mat(1)) ,npropm ,glob_therm ,
770 . jtur ,tempel ,vol0 ,rho ,
771 . ll ,off ,conde ,gbuf%re ,gbuf%rk )
772 ENDIF
773
774
775
776
777 IF (iparit == 3) THEN
778 CALL cupdt3f(jft ,jlt ,f ,m ,nvc ,
779 2 gbuf%OFF,off ,sti ,stir ,stifn ,
780 3 stifr ,ixc ,pm ,
area ,gbuf%THK ,
781 4 f11 ,f12 ,f13 ,f14 ,f21 ,
782 5 f22 ,f23 ,f24 ,f31 ,f32 ,
783 6 f33 ,f34 ,m11 ,m12 ,m13 ,
784 7 m14 ,m21 ,m22 ,m23 ,m24 ,
785 8 m31 ,m32 ,m33 ,m34 ,gbuf%EINT,
786 9 partsav ,mat ,ipartc,glob_therm%NODADT_THERM)
787 ELSEIF (iparit == 0) THEN
788 CALL cupdtn3(jft ,jlt ,f ,m ,nvc ,
789 2 gbuf%OFF,off ,sti ,stir ,stifn ,
790 3 stifr ,ixc ,pm ,
area ,gbuf%THK ,
791 4 f11 ,f12 ,f13 ,f14 ,f21 ,
792 5 f22 ,f23 ,f24 ,f31 ,f32 ,
793 6 f33 ,f34 ,m11 ,m12 ,m13 ,
794 7 m14 ,m21 ,m22 ,m23 ,m24 ,
795 8 m31 ,m32 ,m33 ,m34 ,gbuf%EINT,
796 a partsav ,mat ,ipartc,facn ,jthe ,
797 b them ,fthe ,condn ,conde,glob_therm%NODADT_THERM)
798 ELSE
799 CALL cupdtn3p(jft ,jlt ,gbuf%OFF,off ,sti ,
800 2 stir ,fsky ,fsky ,iadc ,
801 4 f11 ,f12 ,f13 ,f14 ,f21 ,
802 5 f22 ,f23 ,f24 ,f31 ,f32 ,
803 6 f33 ,f34 ,m11 ,m12 ,m13 ,
804 7 m14 ,m21 ,m22 ,m23 ,m24 ,
805 8 m31 ,m32 ,m33 ,m34 ,ixc ,
806 a gbuf%EINT,partsav ,mat ,ipartc,pm ,
807 b
area ,gbuf%THK,facn ,jthe ,them ,
808 c fthesky ,condnsky,conde ,glob_therm%NODADT_THERM)
809 ENDIF
810
811
812
813 IF (ixfem > 0) THEN
814 DO ilay=1,nxlay
815
816 crklen => elbuf_str%BUFLY(ilay)%DMG(1:nel)
818 . nel ,nft ,ilay ,nlay ,ixc ,
819 . crklen ,elcrkini ,iel_crk ,dir1_crk ,dir2_crk ,
820 . nodedge ,crkedge ,xedge4n ,ngl ,xl2 ,
821 . xl3 ,xl4 ,yl2 ,yl3 ,yl4 ,
822 . ll )
823
824
826 . xfem_str ,nel ,nft ,ixc ,elcutc ,
827 . ilay ,nxlay ,iel_crk ,inod_crk ,
828 . iadc_crk ,nodenr ,elcrkini ,dir1_crk ,dir2_crk ,
829 . nodedge ,crknodiad,knod2elc ,crkedge ,a_i ,
830 . xl2 ,xl3 ,xl4 ,yl2 ,yl3 ,
831 . yl4 ,xedge4n ,ngl )
832
833
835 . xfem_str ,nel ,nft ,ixc
836 . ilay ,nxlay ,iel_crk ,inod_crk ,
837 . iadc_crk ,nodenr ,elcrkini ,dir1_crk ,dir2_crk ,
838 . nodedge ,crknodiad,knod2elc ,crkedge ,a_i ,
839 . xl2 ,xl3 ,xl4 ,yl2 ,yl3 ,
840 . yl4 ,xedge4n ,ngl )
841 ENDDO
842
843 CALL crkoffc(elbuf_str,xfem_str ,
844 . jft ,jlt ,nft ,ir ,is ,
845 . nxlay ,iel_crk ,crkedge,xedge4n )
846 ENDIF
847
848
849
850
851 IF (ifailwave > 0) THEN
852 crkdir => elbuf_str%BUFLY(1)%CRKDIR
853
855 . nel ,ixc ,itab ,crkdir ,dir_a ,
856 . l_dira ,xl2 ,xl3 ,xl4 ,yl2 ,
857 . yl3 ,yl4 )
858 ENDIF
859
860 IF (ALLOCATED(dir2_crk)) DEALLOCATE(dir2_crk)
861 IF (ALLOCATED(dir1_crk)) DEALLOCATE(dir1_crk)
862 IF (ALLOCATED(elcrkini)) DEALLOCATE(elcrkini)
863 IF (ALLOCATED(dirb)) DEALLOCATE(dirb)
864 IF (ALLOCATED(dira)) DEALLOCATE(dira)
865 IF (ALLOCATED(var_reg)) DEALLOCATE(var_reg)
866
867 RETURN
subroutine cbilan(jft, jlt, pm, v, ixc, thk, eint, partsav, area, mat, ipartc, x, vr, vol0, vol00, thk0, thk02, ifla, off, nft1, gresav, grth, igrth, vl1, vl2, vl3, vl4, vrl1, vrl2, vrl3, vrl4, x1g, x2g, x3g, x4g, y1g, y2g, y3g, y4g, z1g, z2g, z3g, z4g, ixfem, iexpan, eintth, itask, gvol, actifxfem, igre, sensors, nel, g_wpla, wpla)
subroutine cfint_reg(nloc_dmg, var_reg, thk, nel, off, area, nc1, nc2, nc3, nc4, px1, py1, px2, py2, bufnl, imat, nddl, itask, dt2t, le, thk0, area0, nft)
subroutine cmain3(timers, elbuf_str, jft, jlt, nft, iparg, nel, mtn, ipla, ithk, group_param, pm, geo, npf, tf, bufmat, ssp, rho, viscmx, dt1c, sigy, area, exx, eyy, exy, exz, eyz, kxx, kyy, kxy, nu, off, thk0, mat, pid, mat_elem, for, mom, gstr, failwave, fwave_el, thk, eint, iofc, g, a11, a12, vol0, indxdel, ngl, zcfac, shf, gs, epsd_pg, kfts, jhbe, alpe, dir_a, dir_b, igeo, ipm, ifailure, npg, fheat, tempel, die, jthe, iexpan, tempel0, ishplyxfem, ply_exx, ply_eyy, ply_exy, ply_exz, ply_eyz, ply_f, del_ply, th_iply, sig_iply, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, ng, table, ixfem, offi, sensors, a11_iply, elcrkini, dir1_crk, dir2_crk, aldt, idt_therm, theaccfact, ismstr, ir, is, nlay, npt, ixlay, ixel, isubstack, stack, f_def, itask, drape, varnl, nloc_dmg, indx_drape, thke, sedrape, numel_drape, dt, ncycle, snpc, stf, nxlaymax, idel7nok, userl_avail, maxfunc, varnl_npttot, sbufmat, sdir_a, sdir_b, for_g)
subroutine cncoef3b(jft, jlt, pm, mat, geo, pid, area, shf, thk0, thk02, nu, g, ym, a11, a12, thk, thke, ssp, rho, volg, gs, mtn, ithk, npt, dt1c, dt1, ihbe, amu, gsr, a11sr, a12sr, nusr, shfsr, krz, igeo, a11r, isubstack, pm_stack, uparam, dira, dirb, uvar, fac58, nel, zoffset)
subroutine cncoefort(jft, jlt, pm, mat, geo, pid, mtn, npt, hm, hf, hc, hmfor, iorth, dir, igeo, isubstack, stack, elbuf_str, nlay, thk, drape, nft, nel, indx_drape, thke, sedrape, numel_drape, mat_elem)
subroutine cndt3(jft, jlt, off, dt2t, amu, neltst, ityptst, sti, stir, offg, ssp, viscmx, rho, vol0, thk0, thk02, a1, aldt, alpe, ngl, ismstr, iofc, nne, area, g, shf, msc, dmelc, jsms, ptg, igtyp, igmat, a11r, g_dt, dtel, mtn, pm, imat, nel, zoffset)
subroutine crklayer4n_adv(xfem_str, nel, nft, ixc, elcutc, ilay, nlay, iel_crk, inod_crk, iadc_crk, nodenr, elcrkini, dir1, dir2, nodedge, crknodiad, knod2elc, crkedge, a_i, xl2, xl3, xl4, yl2, yl3, yl4, xedge4n, ngl)
subroutine crklayer4n_ini(xfem_str, nel, nft, ixc, elcutc, ilay, nlay, iel_crk, inod_crk, iadc_crk, nodenr, elcrkini, dir1, dir2, nodedge, crknodiad, knod2elc, crkedge, a_i, xl2, xl3, xl4, yl2, yl3, yl4, xedge4n, ngl)
subroutine crklen4n_adv(nel, nft, ilay, nlay, ixc, crklen, elcrkini, iel_crk, dir1, dir2, nodedge, crkedge, xedge4n, ngl, xl2, xl3, xl4, yl2, yl3, yl4, aldt)
subroutine cupdt3f(jft, jlt, i8f, i8m, nvc, offg, off, sti, stir, i8stifn, i8stifr, ixc, pm, area, thk, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, eint, partsav, mat, ipartc, nodadt_therm)
subroutine cupdtn3p(jft, jlt, offg, off, sti, stir, fsky, fskyv, iadc, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, ixc, eint, partsav, mat, ipartc, pm, area, thk, fac, jthe, them, fthesky, condnsky, conde, nodadt_therm)
subroutine cupdtn3(jft, jlt, f, m, nvc, offg, off, sti, stir, stifn, stifr, ixc, pm, area, thk, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, eint, partsav, mat, ipartc, fac, jthe, them, fthe, condn, conde, nodadt_therm)
subroutine czcorc1(numnod, numelc, elbuf_str, jft, jlt, x, v, vr, ixc, pm, plat, area, area_i, v13, v24, vhi, rlxyz, vqn, vq, ll, l13, l24, x13, x24, y13, y24, mx13, mx23, mx34, my13, my23, my34, z1, corel, di, db, smstr, irep, npt, nlay, ismstr, dir_a, dir_b, offg, rlxyzv, corelv, facn, py1, px2, py2, r11, r12, r13, r21, r22, r23, r31, r32, r33, rlz, idril, ixfem, vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, vrx1, vrx2, vrx3, vrx4, vry1, vry2, vry3, vry4, vrz1, vrz2, vrz3, vrz4, x1g, x2g, x3g, x4g, y1g, y2g, y3g, y4g, z1g, z2g, z3g, z4g, thk, diz, ux1, ux2, ux3, ux4, uy1, uy2, uy3, uy4, xl2, xl3, xl4, yl2, yl3, yl4, vl1, vl2, vl3, vl4, nel, z2)
subroutine czcorcht(elbuf_str, jft, jlt, x, v, vr, ixc, pm, offg, vq, hourg, thk, npt, ismstr, xlcor, zl2, iint, nel)
subroutine czcorct(elbuf_str, jft, jlt, x, v, vr, ixc, pm, offg, area, area_i, v13, v24, dr, rlxyz, vq, x13_t, x24_t, y13_t, y24_t, mx13, mx23, mx34, my13, my23, my34, z1, smstr, thk, npt, ismstr, idril, xlcor, zl, vqn, nel)
subroutine czdef(jft, jlt, area, aa, v13, v24, vhi, rlxyz, vdef, vhg, x13, x24, y13, y24, mx13, mx23, mx34, my13, my23, my34, z1, dt1, off, offg, rlxyzv)
subroutine czdeftw(jft, jlt, aa, v13, v24, rlxyz, x13, x24, y13, y24, z1, wxy)
subroutine czdeft(jft, jlt, v13, v24, rlxyz, vdef, x13, x24, y13, y24, z1, aa)
subroutine czdefrzt(jft, jlt, area, aa, rlxyz, vdef, x13, x24, y13, y24, mx13, mx23, mx34, my13, my23, my34, z1)
subroutine czdefrz(jft, jlt, area, aa, rlz, vdef, vhgzk, vhgze, x13, x24, y13, y24, mx13, mx23, mx34, my13, my23, my34, z1, vhg, bm0rz, bmkrz, bmerz, v13, v24, vrlz)
subroutine czfintce(jft, jlt, thk, c1, a_i, x13, x24, y13, y24, z1, mx23, mx13, mx34, my13, my23, my34, vstre, mstre, vf, vm, nel)
subroutine czfintcrz(jft, jlt, thk, vol, area, x13, x24, y13, y24, z1, mx23, mx13, mx34, my13, my23, my34, vstre, vsrz, vf, vmz, bm0rz, krz, vrlz, dt1c, eint, off, nel)
subroutine czfintn1(jft, jlt, thk, c1, aa, vhg, x13, x24, y13, y24, z1, mx23, mx13, mx34, my13, my23, my34, vglas, vstre, mstre, vf, vm, fac, a11, a12, g, shf, sigy, off, fac1, rho, area, dt1, eint, amu, vhi, npt, ipartc, evis, kfts, gsr, nel, a11sr, a12sr, nusr, shfsr, mtn, fac58)
subroutine czfintn_or(jft, jlt, thk, c1, aa, vhg, x13, x24, y13, y24, z1, mx23, mx13, mx34, my13, my23, my34, vglas, vstre, mstre, vf, vm, fac, a11, a12, g, gs, sigy, off, fac1, rho, area, dt1, eint, amu, vhi, npt, ipartc, evis, kfts, gsr, a11sr, a12sr, nusr, shfsr, iorth, hm, hf, hc, hmfor, mtn, nel)
subroutine czfintnm1(jft, jlt, thk, aa, vhg, x13, x24, y13, y24, vf, mx13, mx23, my13, my23, g, rho, area, amu, dt1, v13, v24, vhi, vglas, off, ipartc, evis, kfts, nel)
subroutine czfintnm(jft, jlt, thk, aa, vhg, x13, x24, y13, y24, vf, g, rho, area, amu, dt1, off, ipartc, evis, kfts)
subroutine czfintnrz(jft, jlt, thk, c1, aa, vhg, x13, x24, y13, y24, z1, mx23, mx13, mx34, my13, my23, my34, vglas, vstre, mstre, vf, vm, fac, a11, a12, g, shf, sigy, off, fac1, rho, area, dt1, eint, amu, vhi, npt, ipartc, evis, kfts, gsr, a11sr, a12sr, nusr, shfsr, bmkrz, bmerz, vhgzk, vhgze, krz, vmz, nel)
subroutine czfintnrz_or(jft, jlt, thk, c1, aa, vhg, x13, x24, y13, y24, z1, mx23, mx13, mx34, my13, my23, my34, vglas, vstre, mstre, vf, vm, fac, a11, a12, g, gs, sigy, off, fac1, rho, area, dt1, eint, amu, vhi, npt, ipartc, evis, kfts, gsr, a11sr, a12sr, nusr, shfsr, bmkrz, bmerz, vhgzk, vhgze, krz, vmz, iorth, hm, hf, hc, hmfor, mtn, nel)
subroutine czproj1(jft, jlt, vqn, vq, vf, vm, plat, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, fzero, z1, corel, di, db, corelv, idril, diz, vmz)
subroutine czstra3(jft, jlt, nft, vdef, gstr, exx, eyy, exy, exz, eyz, kxx, kyy, kxy, dt1c, epsdot, iepsdot, istrain, ux1, ux2, ux3, ux4, uy1, uy2, uy3, uy4, px1, px2, py1, py2, area, ismstr, mtn, wxy, f_def, gstrw, nel)
subroutine czstrah3(jft, jlt, stra_h, vhg, a_i, mx23, mx34, my23, my34, dt1c, exx, eyy, exy, exz, eyz, kxx, kyy, kxy, nel)
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine crkoffc(elbuf_str, xfem_str, jft, jlt, nft, ir, is, nxlay, iel_crk, crkedge, xedge4n)
subroutine precrklay(jft, jlt, nft, nlay, elcrkini, iel_crk, inod_crk, nodenr, crkedge, xedge4n)
subroutine set_failwave_nod4(failwave, fwave_el, ngl, nel, ixc, itab, crkdir, dir_a, nrot, xl2, xl3, xl4, yl2, yl3, yl4)
subroutine startime(event, itask)
subroutine stoptime(event, itask)
subroutine tempcg(numnod, nel, ixc, temp, tempel)
subroutine thermc(jft, jlt, pm, mat, thk, ixc, px1, px2, py1, py2, area, dt1c, tempnc, tempel, die, fphi, theaccfact)
subroutine set_failwave_sh4n(failwave, fwave_el, dadv, nel, ixc, itab, ngl, offly)