90
91
92
93 USE timer_mod
98 USE mat_elem_mod
101 USE sensor_mod
102 USE elbufdef_mod
104 use glob_therm_mod
105
106
107
108#include "implicit_f.inc"
109
110
111
112#include "param_c.inc"
113#include "mvsiz_p.inc"
114
115
116
117#include "com_xfem1.inc"
118#include "scr14_c.inc"
119#include "parit_c.inc"
120#include "timeri_c.inc"
121#include "comlock.inc"
122#include "com04_c.inc"
123
124
125
126 TYPE(TIMER_), INTENT(INOUT) :: TIMERS
127 INTEGER,INTENT(IN) :: USERL_AVAIL ! Flag for User libraries availability
128 INTEGER,INTENT(IN) :: MAXFUNC
129 INTEGER,INTENT(INOUT) :: IDEL7NOK
130 INTEGER,INTENT(IN) :: SBUFMAT
131 INTEGER,INTENT(IN) :: STF
132 INTEGER,INTENT(IN) :: SNPC
133 INTEGER JFT ,JLT,NFT,IPARI,MTN,IPRI,ITHK,NELTST,
134 . ITYPTST,ISTRAIN,IPLA,OFFSET,NVC,JSMS,IOFC,IHBE,
135 . KFTS,ISMSTR,IFAILURE,JTHE,IXEL,ISUBSTACK,
136 INTEGER IXC(NIXC,*),IADC(4,*),IPARTC(*),NPF(*),IGEO(NPROPGI,*),
137 . IPM(NPROPMI,*),INDXOF(MVSIZ),ITASK,IEXPAN,GRTH(*),IGRTH(*),
138 . IPARG(*),IXFEM,INOD_CRK(*),IEL_CRK(*),IADC_CRK(4,*),
139 . ELCUTC(2,*),NODEDGE(2,*),INDX_DRAPE(SCDRAPE)
140 INTEGER, INTENT(IN) :: IGRE, NCYCLE
141
143 . f11(mvsiz),f12(mvsiz),f13(mvsiz),f14(mvsiz),
144 . f21(mvsiz),f22(mvsiz),f23(mvsiz),f24(mvsiz),
145 . f31(mvsiz),f32(mvsiz),f33(mvsiz),f34(mvsiz),
146 . m11(mvsiz),m12(mvsiz),m13(mvsiz),m14(mvsiz),
147 . m21(mvsiz),m22(mvsiz),m23(mvsiz),m24(mvsiz),
148 . m31(mvsiz),m32(mvsiz),m33(mvsiz),m34(mvsiz),
149 . tf(*),pm(npropm,*),geo(npropg,*),partsav(*),
150 . bufmat(*),x(3,*),d(*),dr(*),v(3,*),vr(3,*),
151 . f(3,*),m(3,*),stifn(*), stifr(*),fsky(8,*),tani(6,*),
152 . eani(*),thke(*),fzero(3,4,*),temp(*),fthe(*),
153 . fthesky(*),gresav(*),msc(*), dmelc(*),
154 . uxint_mean(nlevxf,mvsiz),
155 . uyint_mean(nlevxf,mvsiz),uzint_mean(nlevxf,mvsiz)
157 . tt,dt1,dt2t
158 TARGET :: bufmat
159 TYPE(TTABLE) TABLE(*)
160 TYPE (elbuf_struct_), TARGET :: xfem_str
161 TYPE (XFEM_EDGE_) , DIMENSION(*) :: CRKEDGE
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_) , DIMENSION(NUMELC_DRAPE) :: DRAPE_SH4N
167 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
168 TYPE (NLOCAL_STR_) :: NLOC_DMG
169 TYPE (SENSORS_) ,INTENT(INOUT) :: SENSORS
170 TYPE (DT_), INTENT(IN) :: DT
171 type (glob_therm_) ,intent(inout) :: glob_therm
172
173
174
175 LOGICAL PLAT(MVSIZ)
176 INTEGER
177 . I,J,NEL,MX,NNOD,NPG,IBID,ISROT,IXLAY,NXLAY,NLAYER,NPTT,
178 . IR,IS,IT,IPT,NG,L_DIRA,L_DIRB,J1,J2,IXFEM2,IPTHK,
179 . IORTH,ILEV,IGMAT,IGTYP,IREP,IMAT,
180 . ACTIFXFEM, SEDRAPE,NUMEL_DRAPE
181 INTEGER MAT(MVSIZ),PID(MVSIZ),NGL(MVSIZ),FWAVE(MVSIZ)
182 parameter(nnod = 4)
184 . rh0(mvsiz),ll(mvsiz),vl13(mvsiz,3),vl24(mvsiz,3),vlhi(mvsiz,3),
185 . rlxyz(mvsiz,8),x13(mvsiz),x24(mvsiz),y13(mvsiz),y24(mvsiz),
186 . mx13(mvsiz),mx23(mvsiz),mx34(mvsiz),my13(mvsiz),my23(mvsiz),
187 . my34(mvsiz),z1(mvsiz),z2(mvsiz)
189 . vq(mvsiz,9),vdef(mvsiz,8),off(mvsiz),dhg(mvsiz,6),
190 .
area(mvsiz),vqn(mvsiz,12),l13(mvsiz),l24(mvsiz),
191 . zcfac(mvsiz,2),a_i(mvsiz),thk02(mvsiz)
193 . exx(mvsiz),eyy(mvsiz),exy(mvsiz),exz(mvsiz),eyz(mvsiz),
194 . kxx(mvsiz),kyy(mvsiz),kxy(mvsiz),sigy(mvsiz),
195 . dt1c(mvsiz),ssp(mvsiz),viscmx(mvsiz),rho(mvsiz) ,
196 . nu(mvsiz),g(mvsiz),a11(mvsiz),a12(mvsiz),vol0(mvsiz),
197 . thk0(mvsiz),sti(mvsiz),stir(mvsiz),shf(mvsiz) ,
198 . vf(mvsiz,12),vm(mvsiz,8),gs(mvsiz),fac1(mvsiz),
199 . alpe(mvsiz),ym(mvsiz),facn(mvsiz,2),lxyz(mvsiz,8),
200 . dd(mvsiz,6),db(mvsiz,12),amu(mvsiz),gsr(mvsiz),
201 . a11sr(mvsiz),a12sr(mvsiz),nusr(mvsiz),shfsr(mvsiz),
202 . px2(mvsiz),py1(mvsiz),py2(mvsiz),die(mvsiz),tempel(mvsiz),
203 . them(mvsiz,4),r11(mvsiz),r12(mvsiz),r13(mvsiz),
204 . r21(mvsiz),r22(mvsiz),r23(mvsiz),r31(mvsiz),
205 . r32(mvsiz),r33(mvsiz),rlz(mvsiz,4),vhgzk(mvsiz,5),
206 . vhgze(mvsiz,5),vrlz(mvsiz),bm0rz(mvsiz,4,4),bmkrz(mvsiz,4,4),
207 . bmerz(mvsiz,4,4),vmz(mvsiz,4),krz(mvsiz),diz(mvsiz,3)
209 . x1g(mvsiz),x2g(mvsiz),x3g(mvsiz),x4g(mvsiz),
210 . y1g(mvsiz),y2g(mvsiz),y3g(mvsiz),y4g(mvsiz),
211 . z1g(mvsiz),z2g(mvsiz),z3g(mvsiz),z4g(mvsiz),
212 . vl1(mvsiz,3),vl2(mvsiz,3),vl3(mvsiz,3),vl4(mvsiz,3),
213 . vrl1(mvsiz,3),vrl2(mvsiz,3),vrl3(mvsiz,3),vrl4(mvsiz,3),
214 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
215 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
216 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
217 . vrx1(mvsiz),vrx2(mvsiz),vrx3(mvsiz),vrx4(mvsiz),
218 . vry1(mvsiz),vry2(mvsiz),vry3(mvsiz),vry4(mvsiz),
219 . vrz1(mvsiz),vrz2(mvsiz),vrz3(mvsiz),vrz4(mvsiz),
220 . ux1(mvsiz),ux2(mvsiz),ux3(mvsiz),ux4(mvsiz),
221 . uy1(mvsiz),uy2(mvsiz),uy3(mvsiz),uy4(mvsiz),a11r(mvsiz),
222 . thke0(mvsiz),xl2(mvsiz),xl3(mvsiz),xl4(mvsiz),
223 . yl2(mvsiz),yl3(mvsiz),yl4(mvsiz),fac58(mvsiz,2)
225
226 my_real,
DIMENSION(MVSIZ) :: zoffset
227
228 INTEGER, ALLOCATABLE, DIMENSION(:) :: ELCRKINI
230 . ALLOCATABLE, DIMENSION(:) :: dira,dirb,dir1_crk,dir2_crk
232 . DIMENSION(:) ,POINTER :: dir_a,dir_b,uvar
233 TARGET :: dira,dirb
234
235 my_real,
dimension(mvsiz) :: fheat
236
237
238 TYPE(BUF_LAY_) ,POINTER :: BUFLY
239 TYPE(G_BUFEL_) ,POINTER :: GBUF
240 TYPE(L_BUFEL_) ,POINTER :: LBUF
242 . hm(mvsiz,6), hf(mvsiz,6), hc(mvsiz,2),hmfor(mvsiz,6)
244 . DIMENSION(:) ,POINTER :: offg,thkg,strag,forg,momg,
245 . eintg,epsdg,tempg,eintth,hourgg
246 DOUBLE PRECISION,
247 . DIMENSION(:) ,POINTER :: SMSTRG
249 . DIMENSION(:,:), ALLOCATABLE :: varnl
250 INTEGER NPTTOT
251 INTEGER SDIR_A ! Size of DIR_A
252 INTEGER
253
254 nel = jlt-jft+1
255 bid = zero
256 ibid = 0
257 npg = 0
258 ng = 1
259 ir = 1
260 is = 1
261 it = 1
264 npttot = 1
265 ALLOCATE(varnl(nel,1))
266 varnl = zero
267
268 IF (ismst r>= 10) ismstr=4
269
270 DO i=jft,jlt
271 mat(i) = ixc(1,i)
272 pid(i) = ixc(6,i)
273 ngl(i) = ixc(7,i)
274 ENDDO
275
276 DO i=jft,jlt
277 fac1(i) = geo(17,pid(i))
278 ENDDO
279
280 isrot = iparg(41)
281 igtyp = igeo(11,pid(1))
282 igmat = igeo(98,pid(1))
283 irep = iparg(35)
284 actifxfem = iparg(70)
285 imat = ixc(1,jft)
286
287 gbuf => xfem_str%GBUF
288
289 nxlay = xfem_str%NLAY
290 nlayer = 1
291
292 ixfem2 = 1
293
294 ALLOCATE(elcrkini(nxlay*nel))
295 ALLOCATE(dir1_crk(nxlay*nel))
296 ALLOCATE(dir2_crk(nxlay*nel))
297 elcrkini = 0
298 dir1_crk = zero
299 dir2_crk = zero
300
301 l_dira = xfem_str%BUFLY(1)%LY_DIRA
302 l_dirb = xfem_str%BUFLY(1)%LY_DIRB
303
304 ALLOCATE(dira(nxlay*nel*l_dira))
305 ALLOCATE(dirb(nxlay*nel*l_dirb))
306 dira = zero
307 dirb = zero
308 sdir_a = nxlay*nel*l_dira
309 sdir_b = nxlay*nel*l_dirb
310 dir_a => dira(1:nxlay*nel*l_dira)
311 dir_b => dirb(1:nxlay*nel*l_dirb)
312 uvar => xfem_str%BUFLY(1)%MAT(ir,is,it)%VAR
313
314
315
316 DO ixlay = 1,nxlay
317 nptt = xfem_str%BUFLY(ixlay)%NPTT
318 IF (l_dira == 0) THEN
319 dira = zero
320 ELSEIF (irep == 0) THEN
321 j1 = 1+(ixlay-1)*l_dira*nel
322 j2 = ixlay*l_dira*nel
323 dira(j1:j2) = xfem_str%BUFLY(ixlay)%DIRA(1:nel*l_dira)
324 ENDIF
325
326 DO i=jft,jlt
327 sigy(i) = ep30
328 zcfac(i,1) = one
329 zcfac(i,2) = one
330 alpe(i) = one
331 ENDDO
332
333
334
335 ilev = nxel*(ixlay-1) + ixel
336
337
338 IF (igtyp == 1 .or. igtyp == 9) THEN
339 DO i=jft,jlt
340 thke0(i) = thke(i)
341 ENDDO
342 ELSEIF (igtyp == 51 .OR. igtyp == 52) THEN
343 ipthk = 1 + nxlay
344 thkr = stack%GEO(ipthk+ixlay,isubstack)
345 DO i=jft,jlt
346 thke0(i) = thke(i) * thkr
347 ENDDO
348 ELSE
349 ipthk = 300
350 thkr = geo(ipthk+ixlay,pid(1))
351 DO i=jft,jlt
352 thke0(i) = thke(i) * thkr
353 ENDDO
354 ENDIF
355
356 IF (nxlay > 1) THEN
357 lbuf => xfem_str%BUFLY(ixlay)%LBUF(ir,is,it)
358 bufly => xfem_str%BUFLY(ixlay)
359 offg => lbuf%OFF
360 smstrg => lbuf%SMSTR
361 thkg => lbuf%THK
362 strag => lbuf%STRA
363 forg => lbuf%FOR
364 momg => lbuf%MOM
365 eintg => lbuf%EINT
366 epsdg => lbuf%EPSD
367 tempg => lbuf%TEMP
368 eintth => lbuf%EINTTH
369 hourgg => bufly%HOURG
370 ELSEIF (nxlay == 1) THEN
371 offg => gbuf%OFF
372 smstrg => gbuf%SMSTR
373 thkg => gbuf%THK
374 strag => gbuf%STRA
375 forg => gbuf%FOR
376 momg => gbuf%MOM
377 eintg => gbuf%EINT
378 epsdg => gbuf%EPSD
379 tempg => gbuf%TEMP
380 eintth => gbuf%EINTTH
381 hourgg => gbuf%HOURG
382 ENDIF
383
384
386 2 vl1 ,vl2 ,vl3 ,vl4 ,vrl1 ,
387 3 vrl2 ,vrl3 ,vrl4 ,x1g ,x2g ,
388 4 x3g ,x4g ,y1g ,y2g ,y3g ,
389 5 y4g ,z1g ,z2g ,z3g ,z4g ,
390 6 vx1 ,vx2 ,vx3 ,vx4 ,vy1 ,
391 7 vy2 ,vy3 ,vy4 ,vz1 ,vz2 ,
392 8 vz3 ,vz4 ,vrx1 ,vrx2 ,vrx3 ,
393 9 vrx4 ,vry1 ,vry2 ,vry3 ,vry4 ,
394 a vrz1 ,vrz2 ,vrz3 ,vrz4 ,ilev ,
395 b offg )
396
397 CALL czcorc1(numnod ,numelc ,xfem_str,
398 1 jft ,jlt ,x ,v ,vr ,
399 2 ixc ,pm ,plat ,
area ,
400 3 a_i ,vl13 ,vl24 ,vlhi ,rlxyz ,
401 4 vqn ,vq ,ll ,l13 ,l24 ,
402 5 x13 ,x24 ,y13 ,y24 ,mx13 ,
403 6 mx23 ,mx34 ,my13 ,my23 ,my34 ,
404 7 z1 ,lxyz ,dd ,db ,smstrg ,
405 9 irep ,nptt ,nxlay ,ismstr ,
406 a dir_a ,dir_b ,offg ,rlxyz ,lxyz ,
407 b facn ,py1 ,px2 ,py2 ,r11 ,
408 c r12 ,r13 ,r21 ,r22 ,r23 ,
409 d r31 ,r32 ,r33 ,rlz ,isrot ,
410 e ixfem2 ,vx1 ,vx2 ,vx3 ,vx4 ,
411 f vy1 ,vy2 ,vy3 ,vy4 ,vz1
412 g vz2 ,vz3 ,vz4 ,vrx1
413 h vrx3 ,vrx4 ,vry1 ,vry2 ,vry3 ,
414 i vry4 ,vrz1 ,vrz2 ,vrz3 ,vrz4 ,
415 j x1g ,x2g ,x3g ,x4g ,y1g ,
416 k y2g ,y3g ,y4g ,z1g ,z2g ,
417 l z3g ,z4g ,thke0 ,diz ,ux1 ,
418 m ux2 ,ux3 ,ux4 ,uy1 ,uy2 ,
419 n uy3 ,uy4 ,xl2 ,xl3 ,xl4 ,
420 o yl2 ,yl3 ,yl4 ,vl1 ,vl2 ,
421 p vl3 ,vl4 ,nel ,z2 )
422
423 CALL cncoef3b(jft ,jlt ,pm ,mat ,geo ,
424 2 pid ,
area ,shf ,thk0 ,
425 3 thk02 ,nu ,g ,ym ,
426 4 a11 ,a12 ,thkg ,thke0 ,ssp ,
427 5 rho ,vol0 ,gs ,mtn ,ithk ,
428 6 nptt ,dt1c ,dt1 ,ihbe ,amu ,
429 7 gsr ,a11sr ,a12sr ,nusr ,shfsr ,
430 8 krz ,igeo ,a11r ,isubstack, stack%PM,
431 9 mat_elem%MAT_PARAM(imat)%UPARAM ,dira ,dirb ,
432 a uvar ,fac58 ,nel ,zoffset)
433
435 1 pid ,mtn ,nptt ,hm ,hf ,
436 2 hc ,hmfor ,iorth ,dir_a ,igeo ,
437 3 isubstack,stack,xfem_str ,nxlay ,thkg ,
438 4 drape_sh4n ,nft ,nel ,indx_drape , thke,
439 5 sedrape,numel_drape , mat_elem)
440
441
442
443 CALL czdef(jft ,jlt ,
area ,a_i ,vl13 ,vl24 ,
444 2 vlhi ,rlxyz,vdef ,dhg ,x13 ,
445 3 x24 ,y13 ,y24 ,mx13 ,mx23 ,mx34 ,
446 4 my13 ,my23 ,my34 ,z1 ,dt1 ,off ,
447 5 offg ,rlxyz)
448 IF (isrot > 0) THEN
450 1 vdef ,vhgzk,vhgze,x13 ,x24 ,
451 2 y13 ,y24 ,mx13 ,mx23,mx34 ,
452 3 my13 ,my23 ,my34 ,z1 ,dhg ,
453 4 bm0rz,bmkrz,bmerz,vl13,vl24 ,
454 5 vrlz )
455 ENDIF
456
457
458
459 CALL czstra3(jft ,jlt ,nft, vdef,strag ,
460 2 exx ,eyy ,exy, exz ,eyz ,
461 3 kxx ,kyy ,kxy, dt1c,tani ,
462 4 iepsdot,istrain,ux1 ,ux2 ,ux3 ,
463 5 ux4 ,uy1 ,uy2 ,uy3 ,uy4 ,
464 6 y24 ,px2 ,py1 ,py2 ,
area ,
465 7 ismstr ,mtn ,bid ,bid ,bid ,
466 8 nel )
467
468
469
470 DO i = jft,jlt
471 tempel(i) = zero
472 ENDDO
473 IF (jthe /= 0 )
CALL tempcg(numnod, nel ,ixc ,temp ,tempel)
474
475 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
476
478 1 xfem_str ,jft ,jlt ,nft ,iparg ,
479 2 nel ,mtn ,ipla ,ithk ,group_param,
480 3 pm ,geo ,npf ,tf ,bufmat ,
481 4 ssp ,rho ,viscmx ,dt1c ,sigy ,
482 5
area ,exx ,eyy ,exy ,exz ,
483 6 eyz ,kxx ,kyy ,kxy ,nu ,
484 7 off ,thk0 ,mat ,pid ,mat_elem,
485 8 forg ,momg ,strag ,failwave ,fwave ,
486 9 thkg ,eintg ,iofc ,
487 a g ,a11 ,a12 ,vol0 ,indxof ,
488 b ngl ,zcfac ,shf ,gs ,epsdg ,
489 c kfts ,ihbe ,alpe ,
490 d dir_a ,dir_b ,igeo ,
491 e ipm ,ifailure ,npg ,fheat ,
492 f tempel ,die ,jthe ,iexpan ,tempg ,
493 g ibid ,bid ,
494 h bid ,bid ,bid ,bid ,bid ,
495 i bid ,bid ,bid ,r11 ,r12 ,
496 j r13 ,r21 ,r22 ,r23 ,r31 ,
497 k r32 ,r33 ,ibid ,table ,ixfem ,
498 l bid ,sensors ,bid ,elcrkini,
499 m dir1_crk ,dir2_crk ,ll ,glob_therm%IDT_THERM ,glob_therm%THEACCFACT,
500 n ismstr ,ir ,is ,nlayer ,nptt ,
501 o ixlay ,ixel ,isubstack ,stack ,
502 p bid ,itask ,drape_sh4n ,varnl ,nloc_dmg,
503 r indx_drape, thke ,sedrape ,numel_drape,dt ,
504 q ncycle ,snpc ,stf ,nxlaymax ,idel7nok ,
505 s userl_avail ,maxfunc ,npttot ,sbufmat ,sdir_a ,
506 t sdir_b ,gbuf%FOR_G)
507
508 IF ((itask==0).AND.(imon_mat==1))
CALL stoptime(timers,35)
509
510
511
512 IF (ipri == 1)
514 1 jft, jlt, pm, v,
515 2 ixc, thkg, eintg, partsav,
516 3
area, mat, ipartc, bid,
517 4 bid, bid, bid, bid,
518 5 bid, ibid, off, nft,
519 6 gresav, grth, igrth, vl1,
520 7 vl2, vl3, vl4, vrl1,
521 8 vrl2, vrl3, vrl4, x1g,
522 9 x2g, x3g, x4g, y1g,
523 a y2g, y3g, y4g, z1g,
524 b z2g, z3g, z4g, ixfem2,
525 c iexpan, eintth, itask, gbuf%VOL,
526 d actifxfem,igre,sensors,nel,gbuf%G_WPLA,
527 e gbuf%WPLA )
528
530 1 jft ,jlt ,off , dt2t ,amu ,
531 2 neltst ,ityptst,sti , stir ,offg ,
532 3 ssp ,viscmx ,rho , vol0 ,thk0 ,thk02,
533 4 a11 ,ll ,alpe , ngl ,ismstr,
534 5 iofc ,nnod ,
area , g ,shf ,
535 6 msc ,dmelc ,jsms , bid ,igtyp ,
536 7 igmat ,a11r ,gbuf%G_DT, gbuf%DT,mtn ,
537 8 pm ,mat(jft),nel ,zoffset)
538 CALL czfintce(jft ,jlt ,thk0 ,thk02,a_i ,x13 ,
539 2 x24 ,y13 ,y24 ,z1 ,mx23 ,mx13 ,
540 3 mx34 ,my13 ,my23 ,my34 ,forg ,momg ,
541 4 vf ,vm ,nel )
542 IF (isrot > 0) THEN
544 2 x24 ,y13 ,y24 ,z1 ,mx23 ,mx13 ,
545 3 mx34 ,my13 ,my23 ,my34 ,forg ,hourgg,
546 4 vf ,vmz ,bm0rz,krz ,vrlz ,dt1c ,
547 5 eintg ,off ,nel )
549 1 jft ,jlt ,thk0 ,thk02 ,a_i ,dhg ,
550 2 x13 ,x24 ,y13 ,y24 ,z1 ,mx23 ,
551 3 mx13 ,mx34 ,my13 ,my23 ,my34 ,hourgg ,
552 4 forg ,momg ,vf ,vm ,zcfac,a11 ,
553 5 a12 ,g ,gs ,sigy ,off ,fac1 ,
554 6 rho ,
area ,dt1 ,eintg ,amu ,vlhi ,
555 7 nptt ,ipartc ,partsav,kfts ,gsr ,
556 8 a11sr ,a12sr ,nusr ,shfsr ,bmkrz,bmerz ,
557 9 vhgzk ,vhgze ,krz ,vmz ,iorth,hm ,
558 a hf ,hc ,hmfor ,mtn ,nel )
559 ELSE
560 IF (iorth == 0) THEN
561 CALL czfintn1(jft ,jlt ,thk0 ,thk02,a_i ,dhg ,
562 2 x13 ,x24 ,y13 ,y24 ,z1 ,mx23 ,
563 3 mx13 ,mx34 ,my13 ,my23 ,my34 ,hourgg,
564 4 forg ,momg ,vf ,vm ,zcfac,a11 ,
565 5 a12 ,g ,shf ,sigy ,off ,fac1 ,
566 6 rho ,
area ,dt1 ,eintg,amu ,vlhi ,
567 7 nptt ,ipartc ,partsav,kfts ,gsr ,nel ,
568 8 a11sr ,a12sr ,nusr ,shfsr,mtn ,fac58 )
569 ELSE
570 CALL czfintn_or(jft ,jlt ,thk0 ,thk02,a_i ,dhg ,
571 2 x13 ,x24 ,y13 ,y24 ,z1 ,mx23 ,
572 3 mx13 ,mx34 ,my13 ,my23 ,my34 ,hourgg ,
573 4 forg ,momg ,vf ,vm ,zcfac ,a11 ,
574 5 a12 ,g ,gs ,sigy ,off ,fac1 ,
575 6 rho ,
area , dt1,eintg,amu ,vlhi ,
576 7 nptt ,ipartc,partsav,kfts ,gsr ,
577 8 a11sr,a12sr ,nusr,shfsr ,iorth ,hm ,
578 9 hf ,hc ,hmfor,mtn ,nel)
579 ENDIF
580 ENDIF
581
582 IF (nptt == 1)
583 1
CALL czfintnm(jft ,jlt ,thk0 ,a_i ,dhg ,
584 2 x13 ,x24 ,y13 ,y24 ,vf ,
585 3 g ,rho ,
area ,amu ,dt1 ,
586 4 off ,ipartc,partsav,kfts )
588 1 jft ,jlt ,vqn ,vq ,vf ,
589 2 vm ,plat ,
590 3 f11 ,f12 ,f13 ,f14 ,f21 ,
591 4 f22 ,f23 ,f24 ,f31 ,f32 ,
592 5 f33 ,f34 ,m11 ,m12 ,m13 ,
593 6 m14 ,m21 ,m22 ,m23 ,m24 ,
594 7 m31 ,m32 ,m33 ,m34 ,fzero,
595 8 z1 ,lxyz ,dd ,db ,lxyz ,
596 9 isrot ,diz ,vmz )
597
598
599
600
601 IF (jthe /= 0) THEN
602 IF (mat_elem%MAT_PARAM(mat(1))%HEAT_FLAG == 1) THEN
603 CALL thermc(jft ,jlt ,pm ,mat ,thk0 ,ixc ,
604 . y24 ,px2 ,py1 ,py2 ,
area ,dt1c ,
605 . temp ,tempel ,fheat ,them ,glob_therm%THEACCFACT)
606 ELSE
607 CALL thermc(jft ,jlt ,pm ,mat ,thk0 ,ixc ,
608 . y24 ,px2 ,py1 ,py2 ,
area ,dt1c ,
609 . temp ,tempel ,die ,them ,glob_therm%THEACCFACT)
610 ENDIF
611 ENDIF
612
613
614
615
616 IF (iparit == 1)
618 . jft ,jlt ,nft ,ixc ,off ,iadc ,
619 . f11 ,f21 ,f31 ,f12 ,f22 ,f32 ,
620 . f13 ,f23 ,f33 ,f14 ,f24 ,f34 ,
621 . m11 ,m21 ,m31 ,m12 ,m22 ,m32 ,
622 . m13 ,m23 ,m33 ,m14 ,m24 ,m34 ,
623 . sti ,stir ,fsky ,elcutc,iadc_crk,iel_crk,
624 . ilev ,inod_crk,facn ,offg ,eintg,partsav,
625 . ipartc,ixlay ,crksky)
626
627 ENDDO
628
629 IF (ALLOCATED(dira)) DEALLOCATE(dira)
630 IF (ALLOCATED(dirb)) DEALLOCATE(dirb)
631 IF (ALLOCATED(elcrkini)) DEALLOCATE(elcrkini)
632 IF (ALLOCATED(dir1_crk)) DEALLOCATE(dir1_crk)
633 IF (ALLOCATED(dir2_crk)) DEALLOCATE(dir2_crk)
634 IF (ALLOCATED(varnl)) DEALLOCATE(varnl)
635
636 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 ccoor3z_crk(jft, jlt, nft, iel_crk, iadc_crk, vl1, vl2, vl3, vl4, vrl1, vrl2, vrl3, vrl4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, vrx1, vrx2, vrx3, vrx4, vry1, vry2, vry3, vry4, vrz1, vrz2, vrz3, vrz4, ilev, offg)
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 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 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 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 czfintnm(jft, jlt, thk, aa, vhg, x13, x24, y13, y24, vf, g, rho, area, amu, dt1, off, ipartc, evis, kfts)
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 area(d1, x, x2, y, y2, eint, stif0)
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 cupdtn3_crk(jft, jlt, nft, ixc, off, iadc, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, m11, m21, m31, m12, m22, m32, m13, m23, m33, m14, m24, m34, sti, stir, fsky, elcutc, iadc_crk, iel_crk, ilev, inod_crk, fac, offg, eint, partsav, ipartc, ilay, crksky)