95
96 USE timer_mod
101 USE mat_elem_mod
104 USE sensor_mod
105 USE elbufdef_mod
107 use glob_therm_mod
108
109
110
111#include "implicit_f.inc"
112
113
114
115#include "mvsiz_p.inc"
116
117
118
119#include "param_c.inc"
120#include "com04_c.inc"
121#include "com_xfem1.inc"
122#include "parit_c.inc"
123#include "timeri_c.inc"
124
125
126
127 TYPE(TIMER_) :: TIMERS
128 INTEGER,INTENT(IN) :: USERL_AVAIL
129 INTEGER,INTENT(IN) :: MAXFUNC
130 INTEGER,INTENT(INOUT) :: IDEL7NOK
131INTEGERINTENT(IN)
132 INTEGER,INTENT(IN) :: STF
133 INTEGER,INTENT(IN) :: SNPC
134 INTEGER, INTENT(IN) :: IGRE, NCYCLE
135 INTEGER ,JLT,NVC,MTN,NELTST,ITYPTST,OFFSET,
136 . NEL,ISTRAIN,ISH3N,ICSEN,
137 . ITHK,IOFC,IPLA,NFT,ISMSTR,KFTS,IFAILURE,
138 . JSMS,IXEL,ISUBSTACK,NLEVXF,IPRI
139 INTEGER NPF(*),IXTG(NIXTG,*),IADTG(3,*),IGEO(NPROPGI,*),IPM(*),
140 . IPARTTG(*),ITASK,JTHE,IEXPAN,GRTH(*),IGRTH(*),IPARG(*),
141 . IXFEM,INOD_CRK(*),IEL_CRK(*),IADTG_CRK(3,*),
142 . ELCUTC(2,*),NODEDGE(2,*),INDX_DRAPE(STDRAPE)
144 . pm(npropm,*),f(*),m(*),v(*),r(*),
145 . geo(npropg,*),tf(*),bufmat(*),pmsav(*),stifn(*),
146 . stifr(*),fsky(*),epsdot(6,*),thke(*),dt2t,
147 . f11(mvsiz),f12(mvsiz),f13(mvsiz),
148 . f21(mvsiz),f22(mvsiz),f23(mvsiz),
149 . f31(mvsiz),f32(mvsiz),f33(mvsiz),
150 . m11(mvsiz),m12(mvsiz),m13(mvsiz),
151 . m21(mvsiz),m22(mvsiz),m23(mvsiz),
152 . m31(mvsiz),m32(mvsiz),m33(mvsiz),
153 . fzero(3,3,*),temp(*),fthe(*),fthesky
154 . mstg(*), dmeltg(*),ptg(3,*),
155 . uxint_mean(nlevxf,mvsiz),uyint_mean(nlevxf,mvsiz),
156 . uzint_mean(nlevxf,mvsiz)
157
158 REAL(kind=8), dimension(*), INTENT(in) :: x
159 TYPE(TTABLE) TABLE(*)
160 TYPE (ELBUF_STRUCT_), TARGET :: XFEM_STR
162 TYPE (XFEM_SKY_) , DIMENSION(*) :: CRKSKY
163 TYPE (STACK_PLY) :: STACK
164 TYPE (FAILWAVE_STR_) :: FAILWAVE
165 TYPE (GROUP_PARAM_) :: GROUP_PARAM
166 TYPE () :: DRAPE_SH3N(NUMELTG_DRAPE)
167 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
168 TYPE (NLOCAL_STR_) :: NLOC_DMG
169TYPE (SENSORS_) ,INTENT(INOUT) :: SENSORS
170 TYPE (DT_), INTENT(IN) :: DT
171 type (glob_therm_) ,intent(inout) :: glob_therm
172
173
174
175
176 INTEGER
177 . I,J,J1,J2,IR,IS,IT,IPT,IFLAG,IGTYP,IXFEM2,IREP,IMAT,
178 . IUN,NPG,IBID,IDRIL,NG,IXLAY,NXLAY,NLAYER,NPTT,STEP,
179 . L_DIRA,L_DIRB,ILEV,IGMAT,IPTHK,,IDRAPE,ACTIFXFEM,
180 . SEDRAPE, NUMEL_DRAPE
181 INTEGER MAT(),PID(MVSIZ),NGL(MVSIZ),INDX(MVSIZ),FWAVE(MVSIZ)
182 my_real sti(mvsiz),stir(mvsiz),rho(mvsiz),
183 . ssp(mvsiz),viscmx(mvsiz),
area(mvsiz),
184 . x21(mvsiz), y21(mvsiz), z21(mvsiz),
185 . x31(mvsiz), y31(mvsiz), z31(mvsiz),
186 . exx(mvsiz),eyy(mvsiz),exy(mvsiz),eyz(mvsiz),ezx(mvsiz),
187 . kxx(mvsiz),kyy(mvsiz),kxy(mvsiz),
188 . px1(mvsiz),py1(mvsiz),py2(mvsiz),
189 . x2(mvsiz), x3(mvsiz), y2(mvsiz), y3(mvsiz),
190 . x21g(mvsiz), y21g(mvsiz), z21g(mvsiz),
191 . x31g(mvsiz), y31g(mvsiz), z31g(mvsiz),
192 . off(mvsiz),sigy(mvsiz),thk0(mvsiz),
193 . nu(mvsiz),shf(mvsiz),dt1c(mvsiz),
194 . g(mvsiz),ym(mvsiz),a11(mvsiz),a12(mvsiz),
195 . vol0(mvsiz),thk02(mvsiz),zcfac(mvsiz,2),gs(mvsiz),
196 . vol00(mvsiz),alpe(mvsiz),die(mvsiz),tempel(mvsiz),
197 . e1x0(mvsiz), e1y0(mvsiz), e1z0(mvsiz), e2x0(mvsiz),
198 . e2y0(mvsiz), e2z0(mvsiz), e3x0(mvsiz), e3y0(mvsiz), e3z0(mvsiz),
199 . e1x(mvsiz),e1y(mvsiz),e1z(mvsiz),e2x(mvsiz),
200 . e2y(mvsiz),e2z(mvsiz),e3x(mvsiz),e3y(mvsiz),e3z(mvsiz),
201 . vl1(mvsiz,3),vl2(mvsiz,3),vl3(mvsiz,3),
202 . vrl1(mvsiz,3),vrl2(mvsiz,3),vrl3(mvsiz,3),them(mvsiz,3),
203 . ux1(mvsiz),ux2(mvsiz),ux3(mvsiz),
204 . uy1(mvsiz),uy2(mvsiz),uy3(mvsiz),
205 . vx13(mvsiz), vx23(mvsiz),vy12(mvsiz),
206 . rlz(mvsiz,3),wxy(mvsiz),mlz(mvsiz,3),krz(mvsiz),
207 . b0rz(mvsiz,3),bkrz(mvsiz,2),berz(mvsiz,2),bm0rz(mvsiz,3,2),
208 . ecos(mvsiz),esin(mvsiz),a11r(mvsiz),thke0(mvsiz),aldt(mvsiz)
210 my_real ,
DIMENSIOn(NEL) :: zoffset
212 . bid,thkr,f_def(mvsiz,8),wkxy(mvsiz)
213
214 REAL(kind=8), dimension(mvsiz) ::x1g,x2g,x3g
215 REAL(kind=8), dimension(mvsiz) ::y1g,y2g,y3g
216 REAL(kind=8), dimension(mvsiz) ::z1g,z2g,z3g
217
218 INTEGER, ALLOCATABLE, DIMENSION(:) :: ELCRKINI
220 . ALLOCATABLE, DIMENSION(:) :: dira,dirb,dir1_crk,dir2_crk
222 . DIMENSION(:) ,POINTER :: dir_a,dir_b
223 TARGET :: dira,dirb
224
225 TYPE(BUF_LAY_) ,POINTER :: BUFLY
226 TYPE(G_BUFEL_) ,POINTER :: GBUF
227 TYPE(L_BUFEL_) ,POINTER :: LBUF
228
229
230 my_real,
dimension(mvsiz) :: fheat
231
233 . DIMENSION(:) ,POINTER :: offg,thkg,strag,forg,momg,
234 . eintg,epsdg,tempg,eintth,hourgg
235 DOUBLE PRECISION,
236 . DIMENSION(:) ,POINTER :: SMSTRG
238 . DIMENSION(:,:), ALLOCATABLE :: varnl
239 INTEGER NPTTOT
240 INTEGER SDIR_A
241 INTEGER SDIR_B
242
243
244
245 bid = zero
246 iun = 1
247 ibid = 0
248 npg = 0
249 ir = 1
250 is = 1
251 it = 1
252 ng = 1
254 numel_drape = numeltg_drape
255 npttot = 1
256 ALLOCATE(varnl(nel,1))
257 varnl = zero
258 dtime = dt1c(1)
259
260 IF (ismstr>=10) ismstr=4
261
262 DO i=jft,jlt
263 mat(i) = ixtg(1,i)
264 pid(i) = ixtg(5,i)
265 ngl(i) = ixtg(6,i)
266 thk0(i) = thke(i)
267 ENDDO
268 imat = ixtg(1,jft)
269 icsen = igeo(3,pid(1))
270 igtyp = igeo(11,pid(1))
271 irep = iparg(35)
272 idril = iparg(41)
273 actifxfem = iparg(70)
274
275 gbuf => xfem_str%GBUF
276 nxlay = xfem_str%NLAY
277 nlayer = 1
278
279 IF (ixfem == 2) THEN
280 ixfem2 = 1
281 ELSE
282 ixfem2 = ixfem
283 ENDIF
284
285 ALLOCATE(elcrkini(nxlaymax*nel))
286 ALLOCATE(dir1_crk(nxlaymax*nel))
287 ALLOCATE(dir2_crk(nxlaymax*nel))
288 elcrkini = 0
289 dir1_crk = zero
290 dir2_crk = zero
291
292 l_dira = xfem_str%BUFLY(1)%LY_DIRA
293 l_dirb = xfem_str%BUFLY(1)%LY_DIRB
294
295 ALLOCATE(dira(nxlay*nel*l_dira))
296 ALLOCATE(dirb(nxlay*nel*l_dirb))
297 dira=zero
298 dirb=zero
299 sdir_a=nxlay*nel*l_dira
300 sdir_b=nxlay*nel*l_dirb
301 dir_a => dira(1:nxlay*nel*l_dira)
302 dir_b => dirb(1:nxlay*nel*l_dirb)
303
304 DO ixlay=1,nxlay
305 nptt = xfem_str%BUFLY(ixlay)%NPTT
306 IF (l_dira == 0) THEN
307 dira = zero
308 ELSEIF (irep == 0) THEN
309 j1 = 1+(ixlay-1)*l_dira*nel
310 j2 = ixlay*l_dira*nel
311 dira(j1:j2) = xfem_str%BUFLY(ixlay)%DIRA(1:nel*l_dira)
312 ENDIF
313
314 DO i=jft,jlt
315 sigy(i) = ep30
316 zcfac(i,1) = one
317 zcfac(i,2) = one
318 alpe(i) = one
319 tempel(i) = zero
320 ENDDO
321
322 ilev = nxel*(ixlay-1) + ixel
323
324 IF (igtyp == 1 .or. igtyp == 9) THEN
325 DO i=jft,jlt
326 thke0(i) = thke(i)
327 END DO
328 ELSEIF (igtyp == 51 .OR. igtyp == 52) THEN
329 ipthk = 1 + nxlay
330 thkr = stack%GEO(ipthk+ixlay,isubstack)
331 DO i=jft,jlt
332 thke0(i) = thke(i) * thkr
333 ENDDO
334 ELSE
335 ipthk = 300
336 DO i=jft,jlt
337 thke0(i) = thke(i) * geo(ipthk+ixlay,ixtg(5,1))
338 END DO
339 ENDIF
340
341 IF (nxlay > 1) THEN
342 lbuf => xfem_str%BUFLY(ixlay)%LBUF(ir,is,1)
343 bufly => xfem_str%BUFLY(ixlay)
344 offg => lbuf%OFF
345 smstrg => lbuf%SMSTR
346 thkg => lbuf%THK
347 strag => lbuf%STRA
348 forg => lbuf%FOR
349 momg => lbuf%MOM
350 eintg => lbuf%EINT
351 epsdg => lbuf%EPSD
352 tempg => lbuf%TEMP
353 eintth => lbuf%EINTTH
354 hourgg => bufly%HOURG
355 ELSEIF (nxlay == 1) THEN
356 offg => gbuf%OFF
357 smstrg => gbuf%SMSTR
358 thkg => gbuf%THK
359 strag => gbuf%STRA
360 forg => gbuf%FOR
361 momg => gbuf%MOM
362 eintg => gbuf%EINT
363 epsdg => gbuf%EPSD
364 tempg => gbuf%TEMP
365 eintth => gbuf%EINTTH
366 hourgg => gbuf%HOURG
367 ENDIF
368
370 . dt1c ,thke0 ,vl1 ,vl2 ,vl3 ,
371 . vrl1 ,vrl2 ,vrl3 ,x1g ,x2g ,
372 . x3g ,y1g ,y2g ,y3g ,z1g ,
373 . z2g ,z3g ,ilev ,iel_crk ,iadtg_crk,
374 . nft )
375
376 ish3nfr = 1
377 CALL c3evec3(xfem_str ,dir_a ,dir_b ,jft ,jlt ,
378 . irep ,e1x0 ,e1y0 ,e1z0 ,e2x0 ,
379 . e2y0 ,e2z0 ,e3x0 ,e3y0 ,e3z0 ,
380 . e1x ,e1y ,e1z ,e2x ,
381 . e2y ,e2z ,e3x ,e3y ,e3z ,
382 . nxlay ,gbuf%OFF,ecos ,esin
384 . x31g ,y31g ,z31g ,
385 . x1g ,x2g ,x3g ,y1g ,y2g ,
386 . y3g ,z1g ,z2g ,z3g )
387 IF (ismstr /= 3) THEN
388 CALL c3deri3(jft ,jlt ,px1 ,py1 ,py2 ,
389 . smstrg ,offg ,ismstr ,alpe ,aldt ,
390 . ux1 ,ux2 ,ux3 ,uy1 ,uy2 ,
391 . uy3 ,nel ,
area ,x21g ,y21g ,
392 . z21g ,x31g ,y31g ,z31g ,x2 ,
393 . y2 ,x3 ,y3 ,
394 . e1x ,e1y ,e1z ,e2x ,
395 . e2y ,e2z ,e3x ,e3y ,e3z )
396 ELSE
397
398 CALL c3pxpy3(jft ,jlt ,pm ,sti ,stir,
399 2 smstrg ,px1 ,py1 ,py2 ,mat ,
400 3 ssp ,nel )
401 ENDIF
402
403 IF (idril > 0)
CALL c3brz3(jft ,jlt ,
area ,x2 ,x3 ,
404 . y3 ,bm0rz,b0rz ,bkrz ,berz )
405
406 CALL c3coef3(jft ,jlt ,pm ,mat ,geo ,
407 2 pid ,off ,
area ,sti ,stir ,
408 3 shf ,thk0 ,thk02 ,nu ,
409 4 g ,ym ,a11
410 5 ssp ,rho ,vol0 ,gs ,mtn ,
411 6 ithk ,nptt ,ismstr ,vol00 ,igeo ,
412 7 a11r , isubstack, stack%PM, nel ,zoffset
413
414 CALL c3defo3(jft ,jlt ,vl1 ,vl2 ,vl3 ,
415 . ixtg ,ish3n,px1 ,py1 ,py2 ,
416 . exx ,eyy ,exy ,eyz ,ezx ,
417 . vx13 ,vx23 ,vy12 ,
418 . e1x ,e1y ,e1z ,e2x ,
419 . e2y ,e2z ,e3x ,e3y ,e3z )
420
421 IF (idril > 0) THEN
422 CALL c3defrz(jft ,jlt ,rlz ,bm0rz ,b0rz,
423 1 bkrz ,berz ,e3x0 ,e3y0 ,e3z0 ,
424 2 vrl1 ,vrl2 ,vrl3 ,exx ,eyy ,
425 3 exy ,px1 ,py1 ,py2 ,wxy ,
426 4
area ,vx13 ,vx23 ,vy12 )
428 ENDIF
429
430 CALL c3curv3(jft,jlt,vrl1,vrl2,vrl3,
431 . ixtg,wkxy ,ismstr,kxx,kyy,
432 . kxy ,px1 ,py1 ,py2 ,eyz ,ezx ,
433 . e1x ,e1y ,e1z ,e2x ,e2y ,
434 . e2z ,e3x ,e3y ,e3z )
435
437 2 mat ,
area ,exx ,eyy ,exy ,
438 3 ezx ,eyz ,kxx ,kyy ,kxy ,
439 4 geo ,pid ,nu ,shf ,strag ,
440 5 ssp ,rho ,epsdot ,
441 6 nft ,istrain ,ismstr ,
442 7 ux1 ,ux2 ,ux3 ,uy1 ,uy2 ,
443 8 uy3 ,px1 ,py1 ,py2 ,mtn ,
444 9 f_def ,wkxy ,gbuf%STRW,nel )
445
446
447 IF (jthe > 0 )
CALL temp3cg(jft ,jlt ,pm ,mat ,ixtg,
448 . temp ,tempel)
449
450 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
451
453 1 xfem_str ,jft ,jlt ,nft ,iparg ,
454 2 nel ,mtn ,ipla ,ithk ,group_param,
455 3 pm ,geo ,npf ,tf ,bufmat ,
456 4 ssp ,rho ,viscmx ,dt1c ,sigy ,
457 5
area ,exx ,eyy ,exy ,ezx ,
458 6 eyz ,kxx ,kyy ,kxy ,nu ,
459 7 off ,thk0 ,mat ,pid ,mat_elem ,
460 8 forg ,momg ,strag ,failwave ,fwave ,
461 9 thkg ,eintg ,iofc ,
462 a g ,a11 ,a12 ,vol0 ,indx ,
463 b ngl ,zcfac ,shf ,gs ,epsdg ,
464 c kfts ,ish3n ,alpe ,
465 d dir_a ,dir_b ,igeo ,
466 e ipm ,ifailure ,npg ,fheat ,
467 f tempel ,die ,jthe ,iexpan ,tempg ,
468 g ibid ,bid ,
469 h bid ,bid ,bid ,bid ,bid
470 i bid ,bid ,bid ,e1x ,e1y ,
471 j e1z ,e2x ,e2y ,e2z ,e3x ,
472 k e3y ,e3z ,ng ,table ,ixfem ,
473 l bid ,sensors ,bid ,elcrkini ,
474 m dir1_crk ,dir2_crk ,aldt ,glob_therm%IDT_THERM ,glob_therm%THEACCFACT,
475 p ismstr ,ir ,is ,nlayer ,nptt ,
476 q ixlay ,ixel ,isubstack ,stack
477 p bid ,itask ,drape_sh3n ,varnl
478 r indx_drape , thke ,sedrape ,numel_drape, dt ,
479 q ncycle ,snpc , stf ,nxlaymax ,idel7nok ,
480 s userl_avail, maxfunc, npttot,bufmat ,sdir_a ,
481 t sdir_b ,gbuf%FOR_G)
482
483
484 IF ((itask==0).AND.(imon_mat==1))
CALL stoptime(timers,35)
485
486
487
488 IF (ismstr /= 3)
CALL c3dt3(
489 1 jft ,jlt ,pm ,off ,dt2t ,
490 2 neltst ,ityptst ,sti ,stir ,offg ,
491 3 ssp ,viscmx ,ismstr ,nft ,iofc ,
492 4 alpe ,mstg ,dmeltg ,jsms ,ptg ,
493 5 shf ,igtyp ,igmat ,g ,a11 ,
494 6 a11r ,gbuf%G_DT ,gbuf%DT ,aldt ,thk0 ,
495 7
area ,ngl ,imat ,mtn ,nel ,
496 8 zoffset)
497
498
499
500
501
502 IF (ipri>0)
504 1 jft, jlt, pm, v,
505 2 thkg, eintg, pmsav, iparttg,
506 3 rho, vol00, ixtg, x,
507 4 r, thk02,
area, gresav,
508 5 grth, igrth, off, ixfem2,
509 6 ilev, iel_crk, iadtg_crk,nft,
510 7 iexpan, eintth, itask, mat,
511 8 gbuf%VOL, actifxfem,igre,sensors,
512 9 nel, gbuf%G_WPLA,gbuf%WPLA)
513
514
515
516 CALL c3fint3(jft ,jlt ,forg ,momg ,thk0,
517 2 px1 ,py1 ,py2 ,f11 ,f12
518 3 f13 ,f21 ,f22 ,f23
519 4 f32 ,f33 ,m11 ,m12 ,m13 ,
520 5 m21 ,m22 ,m23 ,nel )
521
522 IF (idril > 0) THEN
524 2 py1 ,py2 ,f11 ,f12 ,f13 ,
525 3 f21 ,f22 ,f23 ,wxy ,forg ,
526 4 hourgg ,mlz ,bm0rz,b0rz ,bkrz ,
527 5 berz ,krz ,rlz ,dt1c ,eintg ,
528 6 off ,vol0 ,nel )
529 ENDIF
530
531
532
533 IF (jthe > 0) THEN
534 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
535 CALL therm3c(nel ,pm(1,imat) ,thk0 ,ixtg,
536 . px1 ,py1 ,py2 ,
area ,dtime ,
537 . temp ,tempel,fheat ,them ,glob_therm%THEACCFACT)
538 ELSE
539 CALL therm3c(nel ,pm(1,imat) ,thk0 ,ixtg,
540 . px1 ,py1 ,py2 ,
area ,dtime ,
541 . temp ,tempel,die ,them ,glob_therm%THEACCFACT)
542 END IF
543 ENDIF
544
545
546
547
548
549
551 . f11,f12,f13,f21,f22,f23,
552 . f31,f32,f33,fzero,
553 . e1x ,e1y ,e1z ,e2x ,e2y ,
554 . e2z ,e3x ,e3y ,e3z )
555
556 CALL c3mcum3(jft,jlt,m,m11,m12,
557 . m13,m21,m22,m23,m31,m32,m33,
558 . e1x ,e1y ,e1z ,e2x ,e2y ,
559 . e2z ,e3x ,e3y ,e3z )
560 IF (idril > 0) THEN
561 CALL c3mzcum3(jft ,jlt ,mlz ,e3x ,e3y,
562 . e3z ,m11 ,m12 ,m13 ,m21,
563 . m22 ,m23 ,m31 ,m32 ,m33)
564 ENDIF
565
566
567 IF (iparit == 1)
569 . jft ,jlt ,nft ,ixtg ,off ,iadtg ,
570 . f11 ,f21 ,f31 ,f12 ,f22 ,f32 ,
571 . f13 ,f23 ,f33 ,
572 . m11 ,m21 ,m31 ,m12 ,m22 ,m32 ,
573 . m13 ,m23 ,m33 ,
574 . sti ,stir ,fsky ,elcutc,iadtg_crk,iel_crk,
575 . ilev ,ixlay ,offg ,crksky)
576
577 IF (icsen > 0)
CALL csens3(jft ,jlt ,pid ,igeo ,epsdg)
578
579 ENDDO
580
581 IF (ALLOCATED(dira)) DEALLOCATE(dira)
582 IF (ALLOCATED(dirb)) DEALLOCATE(dirb)
583 IF (ALLOCATED(elcrkini)) DEALLOCATE(elcrkini)
584 IF (ALLOCATED(dir1_crk)) DEALLOCATE(dir1_crk)
585 IF (ALLOCATED(dir2_crk)) DEALLOCATE(dir2_crk)
586 IF (ALLOCATED(varnl)) DEALLOCATE(varnl)
587
588 RETURN
subroutine c3bilan(jft, jlt, pm, v, thk, eint, partsav, iparttg, rho, vol00, ixtg, x, vr, thk02, area, gresav, grth, igrth, off, ixfem, ilev, iel_crk, iadtg_crk, nft1, iexpan, eintth, itask, mat, gvol, actifxfem, igre, sensors, nel, g_wpla, wpla)
subroutine c3coef3(jft, jlt, pm, mat, geo, pid, off, area, sti, stir, shf, thk0, thk02, nu, g, ym, a11, a12, thk, ssp, rho, vol0, gs, mtn, ithk, npt, ismstr, vol00, igeo, a11r, isubstack, pm_stack, nel, zoffset)
subroutine c3coor3_crk(jft, jlt, offg, off, sigy, dt1c, thke, vl1, vl2, vl3, vrl1, vrl2, vrl3, x1, x2, x3, y1, y2, y3, z1, z2, z3, ilev, iel_crk, iadc_crk, nft)
subroutine c3curv3(jft, jlt, vrl1, vrl2, vrl3, ixtg, wxy, ismstr, kxx, kyy, kxy, px1, py1, py2, eyz, ezx, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)
subroutine c3defo3(jft, jlt, vl1, vl2, vl3, ixtg, ish3n, px1, py1, py2, exx, eyy, exy, eyz, ezx, vx13, vx23, vy12, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)
subroutine c3defrz(jft, jlt, rlz, bm0rz, b0rz, bkrz, berz, e3x, e3y, e3z, vrl1, vrl2, vrl3, exx, eyy, exy, px1, py1, py2, wxy, area, vx13, vx23, vy12)
subroutine c3brz3(jft, jlt, area, x2, x3, y3, bm0rz, b0rz, bkrz, berz)
subroutine c3deri3(jft, jlt, px1, py1, py2, smstr, offg, ismstr, alpe, aldt, ux1, ux2, ux3, uy1, uy2, uy3, nel, area, x21g, y21g, z21g, x31g, y31g, z31g, x2, y2, x3, y3, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)
subroutine c3dt3(jft, jlt, pm, off, dt2t, neltst, ityptst, sti, stir, offg, ssp, viscmx, ismstr, nft, iofc, alpe, mstg, dmeltg, jsms, ptg, shf, igtyp, igmat, g, a1, a11r, g_dt, dtel, aldt, thk0, area, ngl, imat, mtn, nel, zoffset)
subroutine c3fcum3(jft, jlt, f, f11, f12, f13, f21, f22, f23, f31, f32, f33, fzero, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)
subroutine c3fint3(jft, jlt, for, mom, thk, px1, py1, py2, fx1, fx2, fx3, fy1, fy2, fy3, fz1, fz2, fz3, mx1, mx2, mx3, my1, my2, my3, nel)
subroutine c3fintrz(jft, jlt, thk, area, px1, py1, py2, f11, f12, f13, f21, f22, f23, wxy, vstre, vsrz, vmz, bm0rz, b0rz, bkrz, berz, krz, rlz, dt1c, eint, off, vol, nel)
subroutine c3mcum3(jft, jlt, m, m11, m12, m13, m21, m22, m23, m31, m32, m33, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)
subroutine c3mzcum3(jft, jlt, mlz, e3x, e3y, e3z, m11, m12, m13, m21, m22, m23, m31, m32, m33)
subroutine c3pxpy3(jft, jlt, pm, sti, stir, smstr, px1, py1, py2, mat, ssp, nel)
subroutine c3stra3(jft, jlt, pm, mat, area, exx, eyy, exy, exz, eyz, kxx, kyy, kxy, geo, pid, nu, shf, gstr, ssp, rho, epsdot, nft, istrain, ismstr, ux1, ux2, ux3, uy1, uy2, uy3, px1, py1, py2, mtn, f_def, wxy, gstrw, nel)
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 c3coefrz3(jft, jlt, g, krz, area, thk)
subroutine csens3(jft, jlt, pid, igeo, epsp)
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine c3evec3(jft, jlt, area, x1, x2, x3, y1, y2, y3, z1, z2, z3, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, x31, y31, z31, x2l, x3l, y3l)
subroutine startime(event, itask)
subroutine stoptime(event, itask)
subroutine temp3cg(jft, jlt, pm, mat, ixtg, temp, tempel)
subroutine therm3c(nel, pm, thk, ixtg, px1, py1, py2, area, dt, tempnc, tempel, dheat, fphi, theaccfact)
subroutine c3updt3_crk(jft, jlt, nft, ixtg, off, iadc, f11, f21, f31, f12, f22, f32, f13, f23, f33, m11, m21, m31, m12, m22, m32, m13, m23, m33, sti, stir, fsky, elcutc, iad_crktg, iel_crktg, ilev, ilay, offg, crksky)