71
72
73
74 USE timer_mod
76 USE mat_elem_mod
78 USE sigeps169_connect_mod
79 USE elbufdef_mod
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146#include "implicit_f.inc"
147#include "param_c.inc"
148#include "com01_c.inc"
149#include "com04_c.inc"
150#include "scr19_c.inc"
151#include "task_c.inc"
152#include "userlib.inc"
153#include "timeri_c.inc"
154
155
156
157 TYPE(TIMER_), INTENT(INOUT) :: TIMERS
158 INTEGER NEL,IOUT,IPROP,IMAT,IOUTPRT,IFAILURE,NPG, JSMS,JTHE
159 INTEGER NGL(NEL),IPARTS(*),NPF(*),IPM(NPROPMI,*),
160 . IGEO(NPROPGI,*),ITASK
161 TARGET :: ipm
162 INTEGER,INTENT(IN) :: IDTMINS
166 . time,timestep,partsav(npsav,*),dmels(*),pm(npropm,*),
167 . stifm(*) ,stifr(*) , viscm(*) ,viscr(*) ,fr_wave(*),tf(*),
168 . xx1(*),xx2(*),xx3(*),xx4(*),xx5(*),xx6(*),xx7(*),xx8(*),
169 . yy1(*),yy2(*),yy3(*),yy4(*),yy5(*),yy6(*),yy7(*),yy8(*),
170 . zz1(*),zz2(*),zz3(*),zz4(*),zz5(*),zz6(*),zz7(*),zz8(*),
171 . ux1(*),ux2(*),ux3(*),ux4(*),ux5(*),ux6(*),ux7(*),ux8(*),
172 . uy1(*),uy2(*),uy3(*),uy4(*),uy5(*),uy6(*),uy7(*),uy8(*),
173 . uz1(*),uz2(*),uz3(*),uz4(*),uz5(*),uz6(*),uz7(*),uz8(*),
174 . vx1(*),vx2(*),vx3(*),vx4(*),vx5(*),vx6(*),vx7
175 . vy1(*),vy2(*),vy3(*),vy4(*),vy5(*),vy6
176 . vz1(*),vz2(*),vz3(*),vz4(*),vz5(*),vz6(*),vz7(*),vz8(*),
177 . fx1(*),fx2(*),fx3(*),fx4(*),fx5(*),fx6(*),fx7(*),fx8(*),
178 . fy1(*),fy2(*),fy3(*),fy4(*),fy5(*),fy6(*),fy7(*),fy8(*),
179 . fz1(*),fz2(*),fz3(*),fz4(*),fz5(*),fz6(*),fz7(*),fz8(*),
180 . geo(npropg,*)
181 TYPE (ELBUF_STRUCT_) ,TARGET :: ELBUF_STR
182 my_real ,
DIMENSION(*) ,
TARGET :: bufmat
183 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(IN) :: MAT_PARAM
184
185
186
187 INTEGER I,I1,I2,II,JJ(6),J,J1,J2,IC,IR,IPG,JPT,IUV,IEL,ISRATE,
188 . NPAR,NPARF,NVARF,NFUNC,NFUNCR,NFAILS,ISMSTR,ILAW_USER,IPTR,,IPTT,
189 . IADBUF,IFAIL,NUVAR,MTN,NDAMF,ISOLID,ISOLIDF,NUMTABL,NVARTMP,LF_DAMMX
190 INTEGER IFUNC(MAXFUNC),IFUNCR(MAXFUNC)
193 . hh(npg,npg),areap(mvsiz,npg),areat(mvsiz),
194 . uxloc(mvsiz,8),uyloc(mvsiz,8),uzloc(mvsiz,8),
195 . vxloc(mvsiz,8),vyloc(mvsiz,8),vzloc(mvsiz,8),
196 . vxz(mvsiz,npg),vyz(mvsiz,npg),vzz(mvsiz,npg),
197 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
198 . r1x(mvsiz),r2x(mvsiz),r3x(mvsiz),r4x(mvsiz),
199 . r5x(mvsiz),r6x(mvsiz),r7x(mvsiz),r8x(mvsiz),
200 . r1y(mvsiz),r2y(mvsiz),r3y(mvsiz),r4y(mvsiz),
201 . r5y(mvsiz),r6y(mvsiz),r7y(mvsiz),r8y(mvsiz),
202 . r1z(mvsiz),r2z(mvsiz),r3z(mvsiz),r4z(mvsiz),
203 . r5z(mvsiz),r6z(mvsiz),r7z(mvsiz),r8z(mvsiz),
204 . rxx(mvsiz),ryy(mvsiz),rzz(mvsiz),ep1(mvsiz),ep2(mvsiz),
205 . ep3(mvsiz),sig0zz(mvsiz),sig0yz(mvsiz),sig0zx(mvsiz),
206 . dein(mvsiz),deit(mvsiz),sym(mvsiz),ssp(mvsiz),rho0(mvsiz),
207 . e1x(mvsiz),e2x(mvsiz),e3x(mvsiz),e1y(mvsiz),e2y(mvsiz),
208 . e3y(mvsiz),e1z(mvsiz),e2z(mvsiz),e3z(mvsiz),viscmax(mvsiz),
209 . bid(mvsiz),dpla(mvsiz),sigy(mvsiz),epszz(mvsiz),epsyz(mvsiz),
210 . epszx(mvsiz),depszz(mvsiz),depsyz(mvsiz),depszx(mvsiz),
211 . signzz(mvsiz),signyz(mvsiz),signzx(mvsiz),soft(nel),deltae(nel),
212 . user_pla(mvsiz),user_off(mvsiz),user_eint(mvsiz),user_rho(mvsiz),user_vol(mvsiz)
213 TYPE(G_BUFEL_) ,POINTER :: GBUF
214 TYPE(L_BUFEL_) ,POINTER :: LBUF
215 TYPE(BUF_MAT_) ,POINTER :: MATBUF
216 TYPE(FAIL_LOC_) ,POINTER :: FLOC
217 TARGET :: areap
218 TYPE(BUF_FAIL_), POINTER :: FBUF
219 TYPE(ULAWINTBUF) :: USERBUF
220 TYPE (TTABLE) , DIMENSION(NTABLE) :: TABLE
221 INTEGER, DIMENSION(:) ,POINTER :: ITABLE,VARTMP
222 my_real,
DIMENSION(:),
POINTER :: eplasn,eplast,epsd,uparam,uvar,
area,arean,offi
223
224
225 gbuf => elbuf_str%GBUF
226
227 i7kglo = 1
228 isolid = 4
229 iadbuf = ipm(7,imat)
230 nuvar = ipm(8,imat)
231 npar = ipm(9,imat)
232 nfunc = ipm(10,imat)
233 numtabl= ipm(226,imat)
234
235 mtn = ipm(2,imat)
236 DO i=1,nfunc
237 ifunc(i)=ipm(10+i,imat)
238 ENDDO
239
240 itable => ipm(226+1:226+numtabl,imat)
241
242 israte = ipm(3,imat)
243 asrate = pm(9,imat)
245
246 ismstr = igeo(5,iprop)
247 tthick = geo(41,iprop)
248 isolidf = 4
249
250 uparam => bufmat(iadbuf:iadbuf+npar-1)
251
252 DO i=1,6
253 jj(i) = nel*(i-1)
254 ENDDO
255
256
258 . gbuf%OFF ,nel ,ioutprt ,gbuf%GAMA ,
259 . xx1 ,xx2 ,xx3 ,xx4 ,xx5 ,xx6 ,xx7 ,xx8 ,
260 . yy1 ,yy2 ,yy3 ,yy4 ,yy5 ,yy6 ,yy7 ,yy8 ,
261 . zz1 ,zz2 ,zz3 ,zz4 ,zz5 ,zz6 ,zz7 ,zz8 ,
262 . vx1 ,vx2 ,vx3 ,vx4 ,vx5 ,vx6 ,vx7 ,vx8 ,
263 . vy1 ,vy2 ,vy3 ,vy4 ,vy5 ,vy6 ,vy7 ,vy8 ,
264 . vz1 ,vz2 ,vz3 ,vz4 ,vz5 ,vz6 ,vz7 ,vz8 ,
265 . r1x ,r2x ,r3x ,r4x ,r5x ,r6x ,r7x ,r8x ,
266 . r1y ,r2y ,r3y ,r4y ,r5y ,r6y ,r7y ,r8y ,
267 . r1z ,r2z ,r3z ,r4z ,r5z ,r6z ,r7z ,r8z ,
268 . rxx ,ryy ,rzz ,vxloc,vyloc,vzloc,
269 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
270 . areap,time ,timestep,ngl,
271 . vgxa ,vgya ,vgza ,vga2, sym , ipm, imat)
272
273 CALL sdef43(nel ,npg ,hh ,
274 . vxz ,vyz ,vzz ,vxloc,vyloc,vzloc)
275
276 DO i=1,nel
277 areat(i) = zero
278 viscm(i) = zero
279 viscr(i) = zero
280 stifm(i) = zero
281 stifr(i) = zero
282 gbuf%SIG(jj(3)+i) = zero
283 gbuf%SIG(jj(5)+i) = zero
284 gbuf%SIG(jj(6)+i) = zero
285 ep1(i) = zero
286 ep2(i) = zero
287 ep3(i) = zero
288 fx1(i) = zero
289 fx2(i) = zero
290 fx3(i) = zero
291 fx4(i) = zero
292 fy1(i) = zero
293 fy2(i) = zero
294 fy3(i) = zero
295 fy4(i) = zero
296 fz1(i) = zero
297 fz2(i) = zero
298 fz3(i) = zero
299 fz4(i) = zero
300 fx5(i) = zero
301 fx6(i) = zero
302 fx7(i) = zero
303 fx8(i) = zero
304 fy5(i) = zero
305 fy6(i) = zero
306 fy7(i) = zero
307 fy8(i) = zero
308 fz5(i) = zero
309 fz6(i) = zero
310 fz7(i) = zero
311 fz8(i) = zero
312 ENDDO
313 IF (gbuf%G_PLA > 0) gbuf%PLA(:nel) = zero
314 IF (ismstr == 1 .AND. time == zero) THEN
315 DO ipg = 1,npg
316 elbuf_str%BUFLY(1)%LBUF(ipg,1,1)%VOL(1:nel)=areap(1:nel,ipg)
317 ENDDO
318 ENDIF
319
320
321
322 IF (mtn == 116 .or. mtn == 83 .or. mtn == 120) THEN
323 gbuf%EPSD(1:nel) = zero
324 ELSE
325 DO ipg=1,npg
326 DO i=1,nel
327 ep1(i) = ep1(i) + vxz(i,ipg)
328 ep2(i) = ep2(i) + vyz(i,ipg)
329 ep3(i) = ep3(i) + vzz(i,ipg)
330 ENDDO
331 ENDDO
332 DO i=1,nel
333 ep1(i) = ep1(i)*fourth
334 ep2(i) = ep2(i)*fourth
335 ep3(i) = ep3(i)*fourth
336 epsp = sqrt(ep1(i)**2 + ep2(i)**2 + ep3(i)**2)
337 IF (israte > 0) THEN
338 epsp =
alpha*epsp + (one -
alpha)*gbuf%EPSD(i)
339 ENDIF
340 gbuf%EPSD(i) = epsp
341 ENDDO
342 END IF
343
344 deltae(1:nel) = zero
345
346 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
347
348
349
350 DO ipg = 1,npg
351 lbuf => elbuf_str%BUFLY(1)%LBUF(ipg,1,1)
352 uvar => elbuf_str%BUFLY(1)%MAT(ipg,1,1)%VAR
353
354 nvartmp = elbuf_str%BUFLY(1)%NVARTMP
355 vartmp => elbuf_str%BUFLY(1)%MAT(ipg,1,1)%VARTMP
356
357 epsd(1:nel) => lbuf%EPSD(1:nel)
358
359 arean(1:nel) => areap(1:nel,ipg)
360
361 IF (ismstr == 1) THEN
362 area(1:nel) => elbuf_str%BUFLY(1)%LBUF(ipg,1,1)%VOL(1:nel)
363 ELSE
364 area(1:nel) => areap(1:nel,ipg)
365 ENDIF
366
367 DO iel=1,nel
368 off_el = lbuf%OFF(iel)
369 depszz(iel) = vzz(iel,ipg)*timestep * off_el
370 depsyz(iel) = vyz(iel,ipg)*timestep * off_el
371 depszx(iel) = vxz(iel,ipg)*timestep * off_el
372 sig0zz(iel) = lbuf%SIG(jj(3)+iel)
373 sig0yz(iel) = lbuf%SIG(jj(5)+iel)
374 sig0zx(iel) = lbuf%SIG(jj(6)+iel)
375 signzz(iel) = zero
376 signyz(iel) = zero
377 signzx(iel) = zero
378 dein(iel) = zero
379 deit(iel) = zero
380 ENDDO
381 IF (elbuf_str%BUFLY(1)%L_EPE > 0) THEN
382 DO iel=1,nel
383 epszz(iel) = lbuf%EPE(jj(1)+iel) + depszz(iel)
384 epsyz(iel) = lbuf%EPE(jj(2)+iel) + depsyz(iel)
385 epszx(iel) = lbuf%EPE(jj(3)+iel) + depszx(iel)
386 ENDDO
387 END IF
388
389
390
391 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
392
393 SELECT CASE(mtn)
394
395 CASE (59)
396
397 eplasn => lbuf%PLA(1:nel)
398 eplast => lbuf%PLA(nel+1:nel*2)
399
401 1 nel ,time ,timestep,uparam ,gbuf%OFF ,
402 2 gbuf%EPSD,stifm ,npar ,
403 3 ifunc ,maxfunc ,npf ,tf ,
area ,
404 4 epszz ,epsyz ,epszx ,depszz ,depsyz ,depszx ,
405 5 sig0zz ,sig0yz ,sig0zx ,signzz ,signyz ,signzx ,
406 6 eplasn ,eplast ,jsms ,dmels )
407
408
409 CASE (83)
410
412 1 nel ,time ,timestep ,uparam ,gbuf%OFF ,
413 2 lbuf%EPSD,stifm ,ifunc ,maxfunc ,npf ,tf ,
414 3
area ,depszz ,depsyz ,depszx ,npar ,epszz ,
415 4 sig0zz ,sig0yz ,sig0zx ,signzz ,signyz ,signzx ,
416 5 lbuf%PLA ,jsms ,dmels ,sym ,uvar ,nuvar ,
418
419 DO iel=1,nel
420 gbuf%PLA(iel) = gbuf%PLA(iel) + fourth*lbuf%PLA(iel)
421 gbuf%EPSD(iel) = gbuf%EPSD(iel) + fourth*lbuf%EPSD(iel)
422 ENDDO
423
424 CASE (116)
425
426 eplasn => lbuf%PLA(1:nel)
427 eplast => lbuf%PLA(nel+1:nel*2)
428
430 1 nel ,npar ,nuvar ,jsms ,time ,timestep ,
431 2 uparam ,uvar ,
area ,epsd ,gbuf%OFF ,lbuf%OFF ,
432 3 epszz ,epsyz ,epszx ,depszz ,depsyz ,depszx ,
433 4 signzz ,signyz ,signzx ,stifm ,dmels ,lbuf%DMG ,
434 5 eplasn ,eplast ,ipg ,isolidf ,ngl )
435
436 gbuf%EPSD(1:nel) = gbuf%EPSD(1:nel) + fourth*lbuf%EPSD(1:nel)
437
438 CASE (117)
439
440
442 1 nel ,npar ,nuvar ,jsms ,time ,timestep ,
443 2 uparam ,uvar ,
area ,gbuf%OFF ,lbuf%OFF ,
444 3 epszz ,epsyz ,epszx ,depszz ,depsyz ,depszx ,
445 4 signzz ,signyz ,signzx ,stifm ,dmels ,lbuf%DMG ,
446 5 ipg ,isolidf ,ngl ,nfunc ,ifunc ,npf ,tf)
447
448 CASE (120)
450 1 nel ,ngl ,time ,timestep ,uparam ,gbuf%OFF ,
451 2 lbuf%EPSD,stifm ,jthe ,
452 3
area ,depszz ,depsyz ,depszx ,epszz ,npar ,
453 4 sig0zz ,sig0yz ,sig0zx ,signzz ,signyz ,signzx ,
454 5 lbuf%PLA ,jsms ,dmels ,uvar ,nuvar ,
455 6 numtabl ,itable ,table ,nvartmp ,vartmp ,lbuf%TEMP,
456 7 lbuf%DMG)
457
458 DO iel=1,nel
459 gbuf%PLA(iel) = gbuf%PLA(iel) + fourth*lbuf%PLA(iel)
460 gbuf%EPSD(iel) = gbuf%EPSD(iel) + fourth*lbuf%EPSD(iel)
461 ENDDO
462
463 CASE (169)
464
465 CALL sigeps169_connect(
466 1 nel ,time ,mat_param(imat)%IPARAM, mat_param(imat)%UPARAM ,
467 2 mat_param(imat)%NIPARAM ,mat_param(imat)%NUPARAM ,stifm ,
468 3
area ,gbuf%OFF ,nuvar ,uvar ,ipg ,
469 4 depszz ,depsyz ,depszx ,epszz ,epsyz ,epszx ,
470 5 sig0zz ,sig0yz ,sig0zx ,signzz ,signyz ,signzx ,
471 6 lbuf%PLA ,iout ,jsms ,lbuf%DMG ,ngl ,dmels ,
472 7 idtmins ,dtfacs ,dtmins ,gbuf%THK)
473
474
475 CASE (99)
476
477 IF (userl_avail>0) THEN
478 iptr = ipg
479 ipts = 1
480 iptt = 1
481 DO iel=1,nel
482 bid(iel) = zero
483 rho0(iel) = pm(1,imat)
484 user_pla(iel) = lbuf%PLA(iel)
485 user_off(iel) = gbuf%OFF(iel)
486 user_eint(iel) = gbuf%EINT(iel)
487 user_rho(iel) = gbuf%RHO(iel)
488 user_vol(iel) = gbuf%VOL(iel)
489 ENDDO
490 ilaw_user = ipm(217, imat)
491 nuvar = elbuf_str%BUFLY(1)%NVAR_MAT
492
493
494 CALL eng_userlib_get_law_var(
495 * ncycle, imat,iptr, ipts,iptt,
496 * e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
497 . bid ,bid, sig0zz, bid, sig0yz,
498 * sig0zx, bid, bid, ep1, bid, ep2, ep3,
499 * bid, bid, bid, bid, bid, bid, bid,
500 * bid, depszz, bid, depsyz, depszx, rho0, bid,
501 * bid, signzz, bid, signyz, signzx, bid, bid,
502 * bid, bid, bid, bid )
503
504
505 CALL eng_userlib_sigeps99(
506 * nel ,npar ,nuvar ,ilaw_user,nfunc,
507 * ifunc ,npf ,tf ,time ,timestep,
508 * bufmat(iadbuf) ,user_rho,user_vol,user_eint,ngl,
509 * ssp ,viscmax ,uvar ,user_off ,sigy ,
510 * user_pla )
511
512
513 CALL eng_userlib_set_law_var(
514 * bid ,bid ,signzz ,bid ,signyz ,signzx ,
515 * bid ,bid ,bid ,bid ,bid ,bid ,
516 * dpla )
517
518 DO iel=1,nel
519 lbuf%PLA(iel) = user_pla(iel)
520 gbuf%OFF(iel) = user_off(iel)
521 gbuf%EINT(iel) = user_eint(iel)
522 gbuf%RHO(iel) = user_rho(iel)
523 gbuf%VOL(iel) = user_vol(iel)
524 stifm(iel) = ssp(iel)*ssp(iel)*
area(iel)*gbuf%RHO(iel)
525 ENDDO
526 ENDIF
527
528 END SELECT
529
530 DO iel=1,nel
531 dein(iel) = lbuf%OFF(iel)*half*
532 . depszz(iel)*(sig0zz(iel) + signzz(iel))
533 deit(iel) = lbuf%OFF(iel)*half*(
534 . depsyz(iel)*(sig0yz(iel) + signyz(iel))+
535 . depszx(iel)*(sig0zx(iel) + signzx(iel)) )
536 ENDDO
537
538 IF ((itask==0).AND.(imon_mat==1))
CALL stoptime(timers,35)
539
540
541
542 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,121)
543
544 soft(1:nel) = one
545
546 IF (ifailure == 1) THEN
547 nfails = mat_param(imat)%NFAIL
548
549 DO ir = 1,nfails
550 ifail = mat_param(imat)%FAIL(ir)%IRUPT
551 nparf = mat_param(imat)%FAIL(ir)%NUPARAM
552 nvarf = mat_param(imat)%FAIL(ir)%NUVAR
553 nfuncr = mat_param(imat)%FAIL(ir)%NFUNC
554 DO i=1,nfuncr
555 ifuncr(i) = mat_param(imat)%FAIL(ir)%IFUNC(i)
556 ENDDO
557
558 floc => elbuf_str%BUFLY(1)%FAIL(ipg,1,1)%FLOC(ir)
559 lf_dammx = floc%LF_DAMMX
560
561 IF (ifail == 20)THEN
562
564 1 nel ,nparf ,nvarf ,nfuncr ,ifuncr ,
565 2 npf ,tf ,time ,timestep ,mat_param(imat)%FAIL(ir)%UPARAM,
566 3 floc%VAR ,ngl ,epszz ,epszx ,epsyz ,
567 4 gbuf%EPSD ,gbuf%OFF ,lbuf%OFF,ipg ,isolidf ,
568 5 signzz ,signyz ,signzx ,dein ,deit ,
569 6 floc%DAMMX,lf_dammx ,floc%TDEL,arean ,soft )
570
571 ELSEIF (ifail == 26)THEN
572
573 ndamf = floc%LF_DAM
575 1 nel ,nparf ,nvarf ,nfuncr ,ifuncr ,
576 2 npf ,tf ,time ,timestep ,mat_param(imat)%FAIL(ir)%UPARAM,
577 3 floc%VAR ,ngl ,ipg ,npg ,ndamf ,
578 4 lbuf%EPSD ,lbuf%PLA ,gbuf%OFF ,lbuf%OFF ,isolidf ,
579 5 signzz ,signyz ,signzx ,sym ,arean ,
580 6 lbuf%DMG ,floc%DAM ,floc%DAMMX,floc%TDEL )
581
582 ENDIF
583
584 ENDDO
585 ENDIF
586
587
588 isolid =
min(isolid, isolidf)
589
590 IF (itask==0 .and. imon_mat==1)
CALL stoptime(timers,121)
591
592
593
594 DO iel=1,nel
595 soft(iel) = soft(iel)*gbuf%OFF(iel)
596 gbuf%SIG(jj(3)+iel) = gbuf%SIG(jj(3)+iel) + signzz(iel)*fourth*soft(iel)
597 gbuf%SIG(jj(5)+iel) = gbuf%SIG(jj(5)+iel) + signyz(iel)*fourth*soft(iel)
598 gbuf%SIG(jj(6)+iel) = gbuf%SIG(jj(6)+iel) + signzx(iel)*fourth*soft(iel)
599 ENDDO
600
601
602
604 . fx1 ,fx2 ,fx3 ,fx4 ,fx5 ,fx6 ,fx7 ,fx8 ,
605 . fy1 ,fy2 ,fy3 ,fy4 ,fy5 ,fy6 ,fy7 ,fy8 ,
606 . fz1 ,fz2 ,fz3 ,fz4 ,fz5 ,fz6 ,fz7 ,fz8 ,
607 . signzz,signyz,signzx)
608
609
610
611 DO iel=1,nel
612 areat(iel) = areat(iel) +
area(iel)
613 deltae(iel) = deltae(iel) + (dein(iel) + deit(iel))*
area(iel)*soft(iel)
614 ENDDO
615
616
617 DO iel=1,nel
618 lbuf%SIG(jj(3)+iel) = signzz(iel)*lbuf%OFF(iel)
619 lbuf%SIG(jj(5)+iel) = signyz(iel)*lbuf%OFF(iel)
620 lbuf%SIG(jj(6)+iel) = signzx(iel)*lbuf%OFF(iel)
621 ENDDO
622 IF (elbuf_str%BUFLY(1)%L_EPE > 0) THEN
623 DO iel=1,nel
624 lbuf%EPE(jj(1)+iel) = epszz(iel)
625 lbuf%EPE(jj(2)+iel) = epsyz(iel)
626 lbuf%EPE(jj(3)+iel) = epszx(iel)
627 ENDDO
628 END IF
629
630
631 ENDDO
632
633
634
635
636
638 . isolid ,time )
639
640
641 DO iel=1,nel
642 gbuf%EINT(iel) = gbuf%EINT(iel) + deltae(iel)
643 ENDDO
644
645 IF (ioutprt/=0)
646 .
CALL sbilan43(nel ,iparts ,partsav,gbuf%EINT,gbuf%RHO,
647 . areat ,vgxa ,vgya ,vgza ,vga2 ,
648 . gbuf%FILL)
649
651 . fx1 ,fx2 ,fx3 ,fx4 ,fx5 ,fx6 ,fx7 ,fx8 ,
652 . fy1 ,fy2 ,fy3 ,fy4 ,fy5 ,fy6 ,fy7 ,fy8 ,
653 . fz1 ,fz2 ,fz3 ,fz4 ,fz5 ,fz6 ,fz7 ,fz8 ,
654 . r1x ,r2x ,r3x ,r4x ,r5x ,r6x ,r7x ,r8x ,
655 . r1y ,r2y ,r3y ,r4y ,r5y ,r6y ,r7y ,r8y ,
656 . r1z ,r2z ,r3z ,r4z ,r5z ,r6z ,r7z ,r8z ,
657 . rxx ,ryy ,rzz ,tthick )
658
660 1 e1x, e1y, e1z, e2x,
661 2 e2y, e2z, e3x, e3y,
662 3 e3z, fx1, fx2, fx3,
663 4 fx4, fx5, fx6, fx7,
664 5 fx8, fy1, fy2, fy3,
665 6 fy4, fy5, fy6, fy7,
666 7 fy8, fz1, fz2, fz3,
667 8 fz4, fz5, fz6, fz7,
668 9 fz8, nel)
669
670 RETURN
subroutine fail_connect(nel, nuparam, nuvar, nfunc, ifunc, npf, tf, time, timestep, uparam, uvar, ngl, eps1, eps2, eps3, epsp, offg, offl, ipg, isolid, signzz, signyz, signzx, dein, deit, dfmax, lf_dammx, tdele, area, soft)
subroutine fail_snconnect(nel, nuparam, nuvar, nfunc, ifunc, npf, tf, time, timestep, uparam, uvar, ngl, ipg, npg, ndamf, epsd, pla, offg, offl, isolid, signzz, signyz, signzx, sym, area, dmg, damt, dfmax, tdele)
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine sbilan43(nel, iparts, partsav, eint, rho, areat, vxa, vya, vza, va2, fill)
subroutine sconnect_off(elbuf_str, offg, nel, npg, ngl, isolid, time)
subroutine scoor43(offg, nel, ioutprt, q, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, r1x, r2x, r3x, r4x, r5x, r6x, r7x, r8x, r1y, r2y, r3y, r4y, r5y, r6y, r7y, r8y, r1z, r2z, r3z, r4z, r5z, r6z, r7z, r8z, rxx, ryy, rzz, vxloc, vyloc, vzloc, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, areap, time, dt, solid_id, vgax, vgay, vgaz, vga2, sym, ipm, imat)
subroutine sdef43(nel, npg, hh, dzx, dyz, dzz, vxloc, vyloc, vzloc)
subroutine sfint43(ipg, npg, nel, hh, areapg, soft, fx1, fx2, fx3, fx4, fx5, fx6, fx7, fx8, fy1, fy2, fy3, fy4, fy5, fy6, fy7, fy8, fz1, fz2, fz3, fz4, fz5, fz6, fz7, fz8, signzz, signyz, signzx)
subroutine sigeps116(nel, nuparam, nuvar, jsms, time, timestep, uparam, uvar, area, epsd, off, offl, epszz, epsyz, epszx, depszz, depsyz, depszx, signzz, signyz, signzx, stifm, dmels, dmg, pla_n, pla_t, ipg, nfail, ngl)
subroutine sigeps117(nel, nuparam, nuvar, jsms, time, timestep, uparam, uvar, area, off, offl, epszz, epsyz, epszx, depszz, depsyz, depszx, signzz, signyz, signzx, stifm, dmels, dmg, ipg, nfail, ngl, nfunc, ifunc, npf, tf)
subroutine sigeps120_connect_main(nel, ngl, time, timestep, uparam, off, epsd, stifm, jthe, area, depszz, depsyz, depszx, epszz, nuparam, sigozz, sigoyz, sigozx, signzz, signyz, signzx, pla, jsms, dmels, uvar, nuvar, numtabl, itable, table, nvartmp, vartmp, temp, dmg)
subroutine sigeps59(nel, time, timestep, uparam, off, epsd, stifm, nuparam, ifunc, maxfunc, npf, tf, area, epszz, epsyz, epszx, depszz, depsyz, depszx, sigozz, sigoyz, sigozx, signzz, signyz, signzx, eplasn, eplast, jsms, dmels)
subroutine sigeps83(nel, time, timestep, uparam, off, epsd, stifm, ifunc, maxfunc, npf, tf, area, depszz, depsyz, depszx, nuparam, epszz, sigozz, sigoyz, sigozx, signzz, signyz, signzx, pla, jsms, dmels, sym, uvar, nuvar, dmg, asrate)
subroutine smom43(nel, f1x, f2x, f3x, f4x, f5x, f6x, f7x, f8x, f1y, f2y, f3y, f4y, f5y, f6y, f7y, f8y, f1z, f2z, f3z, f4z, f5z, f6z, f7z, f8z, r1x, r2x, r3x, r4x, r5x, r6x, r7x, r8x, r1y, r2y, r3y, r4y, r5y, r6y, r7y, r8y, r1z, r2z, r3z, r4z, r5z, r6z, r7z, r8z, rxx, ryy, rzz, tthick)
subroutine srrota3(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8)
subroutine startime(event, itask)
subroutine stoptime(event, itask)