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