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