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(*),vx8(*),
175 . vy1(*),vy2(*),vy3(*),vy4(*),vy5(*),vy6(*),vy7(*),vy8(*),
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,J,IR,IPG,IEL,ISRATE,
188 . NPAR,NPARF,NVARF,NFUNC,NFUNCR,NFAILS,ISMSTR,ILAW_USER,IPTR,IPTS,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 .
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(FAIL_LOC_) ,POINTER :: FLOC
216 TARGET :: areap
217 TYPE (TTABLE) , DIMENSION(NTABLE) :: TABLE
218 INTEGER, DIMENSION(:) ,POINTER :: ITABLE,VARTMP
219 my_real,
DIMENSION(:),
POINTER :: eplasn,eplast,epsd,uparam,uvar,
area,arean
220 integer :: JJ(6)
221
222
223 gbuf => elbuf_str%GBUF
224
225 i7kglo = 1
226 isolid = 4
227 iadbuf = ipm(7,imat)
228 nuvar = ipm(8,imat)
229 npar = ipm(9,imat)
230 nfunc = ipm(10,imat)
231 numtabl= ipm(226,imat)
232
233 mtn = ipm(2,imat)
234 DO i=1,nfunc
235 ifunc(i)=ipm(10+i,imat)
236 ENDDO
237
238 itable => ipm(226+1:226+numtabl,imat)
239
240 israte = ipm(3,imat)
241 asrate = pm(9,imat)
243
244 ismstr = igeo(5,iprop)
245 tthick = geo(41,iprop)
246 isolidf = 4
247
248 uparam => bufmat(iadbuf:iadbuf+npar-1)
249
250 DO i=1,6
251 jj(i) = nel*(i-1)
252 ENDDO
253
254
256 . gbuf%OFF ,nel ,ioutprt ,gbuf%GAMA ,
257 . xx1 ,xx2 ,xx3 ,xx4 ,xx5 ,xx6 ,xx7 ,xx8 ,
258 . yy1 ,yy2 ,yy3 ,yy4 ,yy5 ,yy6 ,yy7 ,yy8 ,
259 . zz1 ,zz2 ,zz3 ,zz4 ,zz5 ,zz6 ,zz7 ,zz8 ,
260 . vx1 ,vx2 ,vx3 ,vx4 ,vx5 ,vx6 ,vx7 ,vx8 ,
261 . vy1 ,vy2 ,vy3 ,vy4 ,vy5 ,vy6 ,vy7 ,vy8 ,
262 . vz1 ,vz2 ,vz3 ,vz4 ,vz5 ,vz6 ,vz7 ,vz8 ,
263 . r1x ,r2x ,r3x ,r4x ,r5x ,r6x ,r7x ,r8x ,
264 . r1y ,r2y ,r3y ,r4y ,r5y ,r6y ,r7y ,r8y ,
265 . r1z ,r2z ,r3z ,r4z ,r5z ,r6z ,r7z ,r8z ,
266 . rxx ,ryy ,rzz ,vxloc,vyloc,vzloc,
267 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
268 . areap,time ,timestep,ngl,
269 . vgxa ,vgya ,vgza ,vga2, sym , ipm, imat)
270
271 CALL sdef43(nel ,npg ,hh ,
272 . vxz ,vyz ,vzz ,vxloc,vyloc,vzloc)
273
274 DO i=1,nel
275 areat(i) = zero
276 viscm(i) = zero
277 viscr(i) = zero
278 stifm(i) = zero
279 stifr(i) = zero
280 gbuf%SIG(jj(3)+i) = zero
281 gbuf%SIG(jj(5)+i) = zero
282 gbuf%SIG(jj(6)+i) = zero
283 ep1(i) = zero
284 ep2(i) = zero
285 ep3(i) = zero
286 fx1(i) = zero
287 fx2(i) = zero
288 fx3(i) = zero
289 fx4(i) = zero
290 fy1(i) = zero
291 fy2(i) = zero
292 fy3(i) = zero
293 fy4(i) = zero
294 fz1(i) = zero
295 fz2(i) = zero
296 fz3(i) = zero
297 fz4(i) = zero
298 fx5(i) = zero
299 fx6(i) = zero
300 fx7(i) = zero
301 fx8(i) = zero
302 fy5(i) = zero
303 fy6(i) = zero
304 fy7(i) = zero
305 fy8(i) = zero
306 fz5(i) = zero
307 fz6(i) = zero
308 fz7(i) = zero
309 fz8(i) = zero
310 ENDDO
311 IF (gbuf%G_PLA > 0) gbuf%PLA(:nel) = zero
312 IF (ismstr == 1 .AND. time == zero) THEN
313 DO ipg = 1,npg
314 elbuf_str%BUFLY(1)%LBUF(ipg,1,1)%VOL(1:nel)=areap(1:nel,ipg)
315 ENDDO
316 ENDIF
317
318
319
320 IF (mtn == 116 .or. mtn == 83 .or. mtn == 120) THEN
321 gbuf%EPSD(1:nel) = zero
322 ELSE
323 DO ipg=1,npg
324 DO i=1,nel
325 ep1(i) = ep1(i) + vxz(i,ipg)
326 ep2(i) = ep2(i) + vyz(i,ipg)
327 ep3(i) = ep3(i) + vzz(i,ipg)
328 ENDDO
329 ENDDO
330 DO i=1,nel
331 ep1(i) = ep1(i)*fourth
332 ep2(i) = ep2(i)*fourth
333 ep3(i) = ep3(i)*fourth
334 epsp = sqrt(ep1(i)**2 + ep2(i)**2 + ep3(i)**2)
335 IF (israte > 0) THEN
336 epsp =
alpha*epsp + (one -
alpha)*gbuf%EPSD(i)
337 ENDIF
338 gbuf%EPSD(i) = epsp
339 ENDDO
340 END IF
341
342 deltae(1:nel) = zero
343
344 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
345
346
347
348 DO ipg = 1,npg
349 lbuf => elbuf_str%BUFLY(1)%LBUF(ipg,1,1)
350 uvar => elbuf_str%BUFLY(1)%MAT(ipg,1,1)%VAR
351
352 nvartmp = elbuf_str%BUFLY(1)%NVARTMP
353 vartmp => elbuf_str%BUFLY(1)%MAT(ipg,1,1)%VARTMP
354
355 epsd(1:nel) => lbuf%EPSD(1:nel)
356
357 arean(1:nel) => areap(1:nel,ipg)
358
359 IF (ismstr == 1) THEN
360 area(1:nel) => elbuf_str%BUFLY(1)%LBUF(ipg,1,1)%VOL(1:nel)
361 ELSE
362 area(1:nel) => areap(1:nel,ipg)
363 ENDIF
364
365 DO iel=1,nel
366 off_el = lbuf%OFF(iel)
367 depszz(iel) = vzz(iel,ipg)*timestep * off_el
368 depsyz(iel) = vyz(iel,ipg)*timestep * off_el
369 depszx(iel) = vxz(iel,ipg)*timestep * off_el
370 sig0zz(iel) = lbuf%SIG(jj(3)+iel)
371 sig0yz(iel) = lbuf%SIG(jj(5)+iel)
372 sig0zx(iel) = lbuf%SIG(jj(6)+iel)
373 signzz(iel) = zero
374 signyz(iel) = zero
375 signzx(iel) = zero
376 dein(iel) = zero
377 deit(iel) = zero
378 ENDDO
379 IF (elbuf_str%BUFLY(1)%L_EPE > 0) THEN
380 DO iel=1,nel
381 epszz(iel) = lbuf%EPE(jj(1)+iel) + depszz(iel)
382 epsyz(iel) = lbuf%EPE(jj(2)+iel) + depsyz(iel)
383 epszx(iel) = lbuf%EPE(jj(3)+iel) + depszx(iel)
384 ENDDO
385 END IF
386
387
388
389 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
390
391 SELECT CASE(mtn)
392
393 CASE (59)
394
395 eplasn => lbuf%PLA(1:nel)
396 eplast => lbuf%PLA(nel+1:nel*2)
397
399 1 nel ,time ,timestep,uparam ,gbuf%OFF ,
400 2 gbuf%EPSD,stifm ,npar ,
401 3 ifunc ,maxfunc ,npf ,tf ,
area ,
402 4 epszz ,epsyz ,epszx ,depszz ,depsyz ,depszx ,
403 5 sig0zz ,sig0yz ,sig0zx ,signzz ,signyz ,signzx ,
404 6 eplasn ,eplast ,jsms
405
406
407 CASE (83)
408
410 1 nel ,time ,timestep ,uparam ,gbuf%OFF ,
411 2 lbuf%EPSD,stifm ,ifunc ,maxfunc ,npf ,tf ,
412 3
area ,depszz ,depsyz ,depszx ,npar ,epszz ,
413 4 sig0zz ,sig0yz ,sig0zx ,signzz ,signyz ,signzx ,
414 5 lbuf%PLA ,jsms ,dmels ,sym ,uvar ,nuvar ,
416
417 DO iel=1,nel
418 gbuf%PLA(iel) = gbuf%PLA(iel) + fourth*lbuf%PLA(iel)
419 gbuf%EPSD(iel) = gbuf%EPSD(iel) + fourth*lbuf%EPSD(iel)
420 ENDDO
421
422 CASE (116)
423
424 eplasn => lbuf%PLA(1:nel)
425 eplast => lbuf%PLA(nel+1:nel*2)
426
428 1 nel ,npar ,nuvar ,jsms ,time ,timestep ,
429 2 uparam ,uvar ,
area ,epsd ,gbuf%OFF ,lbuf%OFF ,
430 3 epszz ,epsyz ,epszx ,depszz ,depsyz ,depszx ,
431 4 signzz ,signyz ,signzx ,stifm ,dmels ,lbuf%DMG ,
432 5 eplasn ,eplast ,ipg ,isolidf ,ngl )
433
434 gbuf%EPSD(1:nel) = gbuf%EPSD(1:nel) + fourth*lbuf%EPSD(1:nel)
435
436 CASE (117)
437
438
440 1 nel ,npar ,nuvar ,jsms ,time ,timestep ,
441 2 uparam ,uvar ,
area ,gbuf%OFF ,lbuf%OFF ,
442 3 epszz ,epsyz ,epszx ,depszz ,depsyz ,depszx ,
443 4 signzz ,signyz ,signzx ,stifm ,dmels ,lbuf%DMG ,
444 5 ipg ,isolidf ,ngl ,nfunc ,ifunc ,npf ,tf)
445
446 CASE (120)
448 1 nel ,ngl ,time ,timestep ,uparam ,gbuf%OFF ,
449 2 lbuf%EPSD,stifm ,jthe ,
450 3
area ,depszz ,depsyz ,depszx ,epszz ,npar ,
451 4 sig0zz ,sig0yz ,sig0zx ,signzz ,signyz ,signzx ,
452 5 lbuf%PLA ,jsms ,dmels ,uvar ,nuvar ,
453 6 numtabl ,itable ,table ,nvartmp ,vartmp ,lbuf%TEMP,
454 7 lbuf%DMG)
455
456 DO iel=1,nel
457 gbuf%PLA(iel) = gbuf%PLA(iel) + fourth*lbuf%PLA(iel)
458 gbuf%EPSD(iel) = gbuf%EPSD(iel) + fourth*lbuf%EPSD(iel)
459 ENDDO
460
461 CASE (169)
462
463 CALL sigeps169_connect(
464 1 nel ,time ,mat_param(imat)%IPARAM, mat_param(imat)%UPARAM ,
465 2 mat_param(imat)%NIPARAM ,mat_param(imat)%NUPARAM ,stifm ,
466 3
area ,gbuf%OFF ,nuvar ,uvar ,ipg ,
467 4 depszz ,depsyz ,depszx ,epszz ,epsyz ,epszx ,
468 5 sig0zz ,sig0yz ,sig0zx ,signzz ,signyz ,signzx ,
469 6 lbuf%PLA ,iout ,jsms ,lbuf%DMG ,ngl ,dmels ,
470 7 idtmins ,dtfacs ,dtmins ,gbuf%THK)
471
472
473 CASE (99)
474
475 IF (userl_avail>0) THEN
476 iptr = ipg
477 ipts = 1
478 iptt = 1
479 DO iel=1,nel
480 bid(iel) = zero
481 rho0(iel) = pm(1,imat)
482 user_pla(iel) = lbuf%PLA(iel)
483 user_off(iel) = gbuf%OFF(iel)
484 user_eint(iel) = gbuf%EINT(iel)
485 user_rho(iel) = gbuf%RHO(iel)
486 user_vol(iel) = gbuf%VOL(iel)
487 ENDDO
488 ilaw_user = ipm(217, imat)
489 nuvar = elbuf_str%BUFLY(1)%NVAR_MAT
490
491
492 CALL eng_userlib_get_law_var(
493 * ncycle, imat,iptr, ipts,iptt,
494 * e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
495 . bid ,bid, sig0zz, bid, sig0yz,
496 * sig0zx, bid, bid, ep1, bid, ep2, ep3,
497 * bid, bid, bid, bid, bid, bid, bid,
498 * bid, depszz, bid, depsyz, depszx, rho0, bid,
499 * bid, signzz, bid, signyz, signzx, bid, bid,
500 * bid, bid, bid, bid )
501
502
503 CALL eng_userlib_sigeps99(
504 * nel ,npar ,nuvar ,ilaw_user,nfunc,
505 * ifunc ,npf ,tf ,time ,timestep,
506 * bufmat(iadbuf) ,user_rho,user_vol,user_eint,ngl,
507 * ssp ,viscmax ,uvar ,user_off ,sigy ,
508 * user_pla )
509
510
511 CALL eng_userlib_set_law_var(
512 * bid ,bid ,signzz ,bid ,signyz ,signzx ,
513 * bid ,bid ,bid ,bid ,bid ,bid ,
514 * dpla )
515
516 DO iel=1,nel
517 lbuf%PLA(iel) = user_pla(iel)
518 gbuf%OFF(iel) = user_off(iel)
519 gbuf%EINT(iel) = user_eint(iel)
520 gbuf%RHO(iel) = user_rho(iel)
521 gbuf%VOL(iel) = user_vol(iel)
522 stifm(iel) = ssp(iel)*ssp(iel)*
area(iel)*gbuf%RHO(iel)
523 ENDDO
524 ENDIF
525
526 END SELECT
527
528 DO iel=1,nel
529 dein(iel) = lbuf%OFF(iel)*half*
530 . depszz(iel)*(sig0zz(iel) + signzz(iel))
531 deit(iel) = lbuf%OFF(iel)*half*(
532 . depsyz(iel)*(sig0yz(iel) + signyz(iel))+
533 . depszx(iel)*(sig0zx(iel) + signzx(iel)) )
534 ENDDO
535
536 IF ((itask==0).AND.(imon_mat==1))
CALL stoptime(timers,35)
537
538
539
540 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,121)
541
542 soft(1:nel) = one
543
544 IF (ifailure == 1) THEN
545 nfails = mat_param(imat)%NFAIL
546
547 DO ir = 1,nfails
548 ifail = mat_param(imat)%FAIL(ir)%IRUPT
549 nparf = mat_param(imat)%FAIL(ir)%NUPARAM
550 nvarf = mat_param(imat)%FAIL(ir)%NUVAR
551 nfuncr = mat_param(imat)%FAIL(ir)%NFUNC
552 DO i=1,nfuncr
553 ifuncr(i) = mat_param(imat)%FAIL(ir)%IFUNC(i)
554 ENDDO
555
556 floc => elbuf_str%BUFLY(1)%FAIL(ipg,1,1)%FLOC(ir)
557 lf_dammx = floc%LF_DAMMX
558
559 IF (ifail == 20)THEN
560
562 1 nel ,nparf ,nvarf ,nfuncr ,ifuncr ,
563 2 npf ,tf ,time ,timestep ,mat_param(imat)%FAIL(ir)%UPARAM,
564 3 floc%VAR ,ngl ,epszz ,epszx ,epsyz ,
565 4 gbuf%EPSD ,gbuf%OFF ,lbuf%OFF,ipg ,isolidf ,
566 5 signzz ,signyz ,signzx ,dein ,deit ,
567 6 floc%DAMMX,lf_dammx ,floc%TDEL,arean ,soft )
568
569 ELSEIF (ifail == 26)THEN
570
571 ndamf = floc%LF_DAM
573 1 nel ,nparf ,nvarf ,nfuncr ,ifuncr ,
574 2 npf ,tf ,time ,timestep ,mat_param(imat)%FAIL(ir)%UPARAM,
575 3 floc%VAR ,ngl ,ipg ,npg ,ndamf ,
576 4 lbuf%EPSD ,lbuf%PLA ,gbuf%OFF ,lbuf%OFF ,isolidf ,
577 5 signzz ,signyz ,signzx ,sym ,arean ,
578 6 lbuf%DMG ,floc%DAM ,floc%DAMMX,floc%TDEL )
579
580 ENDIF
581
582 ENDDO
583 ENDIF
584
585
586 isolid =
min(isolid, isolidf)
587
588 IF (itask==0 .and. imon_mat==1)
CALL stoptime(timers,121)
589
590
591
592 DO iel=1,nel
593 soft(iel) = soft(iel)*gbuf%OFF(iel)
594 gbuf%SIG(jj(3)+iel) = gbuf%SIG(jj(3)+iel) + signzz(iel)*fourth*soft(iel)
595 gbuf%SIG(jj(5)+iel) = gbuf%SIG(jj(5)+iel) + signyz(iel)*fourth*soft(iel)
596 gbuf%SIG(jj(6)+iel) = gbuf%SIG(jj(6)+iel) + signzx(iel)*fourth*soft(iel)
597 ENDDO
598
599
600
602 . fx1 ,fx2 ,fx3 ,fx4 ,fx5 ,fx6 ,fx7 ,fx8 ,
603 . fy1 ,fy2 ,fy3 ,fy4 ,fy5 ,fy6 ,fy7 ,fy8 ,
604 . fz1 ,fz2 ,fz3 ,fz4 ,fz5 ,fz6 ,fz7 ,fz8 ,
605 . signzz,signyz,signzx)
606
607
608
609 DO iel=1,nel
610 areat(iel) = areat(iel) +
area(iel)
611 deltae(iel) = deltae(iel) + (dein(iel) + deit(iel))*
area(iel)*soft(iel)
612 ENDDO
613
614
615 DO iel=1,nel
616 lbuf%SIG(jj(3)+iel) = signzz(iel)*lbuf%OFF(iel)
617 lbuf%SIG(jj(5)+iel) = signyz(iel)*lbuf%OFF(iel)
618 lbuf%SIG(jj(6)+iel) = signzx(iel)*lbuf%OFF(iel)
619 ENDDO
620 IF (elbuf_str%BUFLY(1)%L_EPE > 0) THEN
621 DO iel=1,nel
622 lbuf%EPE(jj(1)+iel) = epszz(iel)
623 lbuf%EPE(jj(2)+iel) = epsyz(iel)
624 lbuf%EPE(jj(3)+iel) = epszx(iel)
625 ENDDO
626 END IF
627
628
629 ENDDO
630
631
632
633
634
636 . isolid ,time )
637
638
639 DO iel=1,nel
640 gbuf%EINT(iel) = gbuf%EINT(iel) + deltae(iel)
641 ENDDO
642
643 IF (ioutprt/=0)
644 .
CALL sbilan43(nel ,iparts ,partsav,gbuf%EINT,gbuf%RHO,
645 . areat ,vgxa ,vgya ,vgza ,vga2 ,
646 . gbuf%FILL)
647
649 . fx1 ,fx2 ,fx3 ,fx4 ,fx5 ,fx6 ,fx7 ,fx8 ,
650 . fy1 ,fy2 ,fy3 ,fy4 ,fy5 ,fy6 ,fy7 ,fy8 ,
651 . fz1 ,fz2 ,fz3 ,fz4 ,fz5 ,fz6 ,fz7 ,fz8 ,
652 . r1x ,r2x ,r3x ,r4x ,r5x ,r6x ,r7x ,r8x ,
653 . r1y ,r2y ,r3y ,r4y ,r5y ,r6y ,r7y ,r8y ,
654 . r1z ,r2z ,r3z ,r4z ,r5z ,r6z ,r7z ,r8z ,
655 . rxx ,ryy ,rzz ,tthick )
656
658 1 e1x, e1y, e1z, e2x,
659 2 e2y, e2z, e3x, e3y,
660 3 e3z, fx1, fx2, fx3,
661 4 fx4, fx5, fx6, fx7,
662 5 fx8, fy1, fy2, fy3,
663 6 fy4, fy5, fy6, fy7,
664 7 fy8, fz1, fz2, fz3,
665 8 fz4, fz5, fz6, fz7,
666 9 fz8, nel)
667
668 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)