34 2 PLA, SIGF, EPSF, DAM,
40 8 SOLD1, SOLD2, SOLD3, SOLD4,
41 9 SOLD5, SOLD6, SIGY, DEFP,
42 A NGL, SEQ_OUTPUT,NEL, TSAIWU,
47#include "implicit_f.inc"
64 INTEGER,
INTENT(IN) :: JCVT
65 INTEGER,
INTENT(IN) :: JSPH
66 INTEGER MAT(MVSIZ),NGL(MVSIZ),NEL
69 . PM(NPROPM,*), OFF(*), SIG(NEL,6), EINT(*), PLA(*), SIGF(*),
70 . RX(*), RY(*), RZ(*), SX(*), SY(*), SZ(*),
71 . EPSF(*), DAM(NEL,5), EPE(NEL,3), EPC(NEL,3), A(MVSIZ,6), VOL(*),
72 . VNEW(MVSIZ), DVOL(MVSIZ), SSP(MVSIZ),
73 . D1(MVSIZ), D2(MVSIZ), D3(MVSIZ),D4(MVSIZ),D5(MVSIZ),D6(MVSIZ),
74 . SOLD1(MVSIZ), SOLD2(MVSIZ), SOLD3(MVSIZ), SOLD4(MVSIZ),
75 . sold5(mvsiz), sold6(mvsiz),sigy(*),defp(*),seq_output(*),
80 INTEGER KD1(MVSIZ), KD2(MVSIZ), KD3(MVSIZ),
81 . KD4(MVSIZ),ICC(MVSIZ),ICC_1,
82 . I, IDAM, KDX, MX, NINDX, INDEX(MVSIZ), J
85 . AX(MVSIZ), AY(MVSIZ), AZ(MVSIZ), BX(MVSIZ), BY(MVSIZ),
86 . BZ(MVSIZ), CX(MVSIZ), CY(MVSIZ),CZ(MVSIZ),
88 . T1(MVSIZ), T2(MVSIZ), T3(MVSIZ),T4(MVSIZ),T5(MVSIZ),T6(MVSIZ),
89 . E1(MVSIZ), E2(MVSIZ), E3(MVSIZ),E4(MVSIZ),E5(MVSIZ),E6(MVSIZ),
90 . SIGMY(MVSIZ), ALPHA(MVSIZ), EFIB(MVSIZ),
91 . epsft(mvsiz), epsfc(mvsiz),
92 . d11(mvsiz), d12(mvsiz), d13(mvsiz), d22(mvsiz),
93 . d23(mvsiz), d33(mvsiz), g12(mvsiz), g23(mvsiz), g31(mvsiz),
94 . c11(mvsiz), c22(mvsiz), c33(mvsiz), c12(mvsiz), c23(mvsiz),
95 . c13(mvsiz), f11(mvsiz), f22(mvsiz), f44(mvsiz), f55(mvsiz),
96 . f12(mvsiz), f23(mvsiz), f1(mvsiz), f2(mvsiz), f4(mvsiz),
97 . f5(mvsiz), delta(mvsiz), so1(mvsiz),
98 . so2(mvsiz), so3(mvsiz), so4(mvsiz), so5(mvsiz), so6(mvsiz),
99 . ds1(mvsiz), ds2(mvsiz), ds3(mvsiz), ds4(mvsiz), ds5(mvsiz),
100 . ds6(mvsiz), dp1(mvsiz), dp2(mvsiz), dp3(mvsiz), dp4(mvsiz),
101 . dp5(mvsiz), dp6(mvsiz), lamda(mvsiz), coef(mvsiz), plas(mvsiz),
102 . cn(mvsiz), cb(mvsiz), cnn(mvsiz), sigt1(mvsiz), sigt2(mvsiz),
103 . sigt3(mvsiz),cc(mvsiz),epdr(mvsiz)
105 . fib, ca, sigmx, epsp, dt5 ,sigym,
106 . cb_1,cn_1,cc_1,epdr_1,
107 . f1_1,f2_1,f4_1,f5_1,f11_1,
108 . f22_1,f44_1,f55_1,f12_1,f23_1,
109 . c11_1,c22_1,c33_1,c12_1,c23_1,
110 . c13_1,d11_1,d12_1,d13_1,d22_1,
111 . d23_1,d33_1,g12_1,g23_1,g31_1,
112 . alpha_1,wplaref,dwpla
114 IF (ncycle==0 .AND. irun==1)
THEN
123 idam = int(dam(i,5))-10000
125 kdx = idam - kd1(i)*1000
127 kdx = kdx - kd2(i)*100
129 kd4(i) = kdx - kd3(i)*10
152 5 cz, nel, jcvt, jsph)
153 CALL m14gtf(sig,ax ,ay ,az ,bx ,by,
154 2 bz ,cx ,cy ,cz ,d1 ,d2,
155 3 d3 ,d4 ,d5 ,d6 ,t1 ,t2,
156 4 t3 ,t4 ,t5 ,t6 ,e1 ,e2,
157 5 e3 ,e4 ,e5 ,e6 ,nel)
167 icc_1 =nint(pm(52,mx))
176 epsp =
max(abs(e1(i)),abs(e2(i)),abs(e3(i)),abs(e4(i)),abs(e5(i)))
177 IF (epsp>epdr(i) .AND. cc(i)/=zero)
THEN
178 epsp=one + cc(i) * log(epdr(i)/epsp)
183 sigmx =pm(28,mx)*epsp
184 ELSEIF (icc(i)==2)
THEN
186 ELSEIF (icc(i)==3)
THEN
187 sigmx =pm(28,mx)*epsp
189 ELSEIF (icc(i)==4)
THEN
195 sigmy(i)=
min(sigmx,ca+cb(i)*pla(i)**cn(i))
196 IF (sigmy(i)==sigmx .AND. off(i)==one)
THEN
213 WRITE(iout,1000) ngl(i)
214#include "lockoff.inc"
228 epe(i,1)=epe(i,1)+e1(i)
229 epe(i,2)=epe(i,2)+e2(i)
230 epe(i,3)=epe(i,3)+e3(i)
304 t1(i)=t1(i)+d11(i)*e1(i)+d12(i)*e2(i)+d13(i)*e3(i)
305 t2(i)=t2(i)+d12(i)*e1(i)+d22(i)*e2(i)+d23(i)*e3(i)
306 t3(i)=t3(i)+d13(i)*e1(i)+d23(i)*e2(i)+d33(i)*e3(i)
307 t4(i)=t4(i)+g12(i)*e4(i)
308 t5(i)=t5(i)+g23(i)*e5(i)
309 t6(i)=t6(i)+g31(i)*e6(i)
320 epsf(i) = epsf(i)+ e1(i)
321 sigf(i) = efib(i)*epsf(i)
331 IF (off(i)<em01) off(i)=zero
332 IF (off(i)<one) off(i)=off(i)*four_over_5
341 wvec(i)=(one-dam(i,1))*sigt1(i)
342 IF (t1(i)>wvec(i))
THEN
344 IF (epc(i,1)==zero)
THEN
345 epc(i,1) =
max(epe(i,1),zero)
347 epc(i,1) =
max(epc(i,1)+e1(i),zero)
351 t2(i)=t2(i)-d12(i)*e1(i)*dam(i,1)
352 t3(i)=t3(i)-d13(i)*e1(i)*dam(i,1)
358 dam(i,1)=
min((dam(i,1)+delta(i)),one)
359 IF (dam(i,1)>=1. .AND. kd1(i)/=2)
THEN
366 IF( e1(i)<zero .AND. dam(i,1)>zero)
367 . epc(i,1)=
max(epc(i,1)+e1(i),zero)
371 wvec(i)=(one-dam(i,2))*sigt2(i)
372 IF (t2(i)>wvec(i))
THEN
374 IF (epc(i,2)==zero)
THEN
375 epc(i,2)=
max(epe(i,2),zero)
377 epc(i,2)=
max(epc(i,2)+e2(i),zero)
380 t1(i)=t1(i)-d12(i)*e2(i)*dam(i,2)
382 t3(i)=t3(i)-d23(i)*e2(i)*dam(i,2)
388 dam(i,2)=
min((dam(i,2)+delta(i)),one)
389 IF (dam(i,2)>=one.AND. kd2(i)/=2)
THEN
396 IF (e2(i)<zero .AND. dam(i,2)>zero)
397 . epc(i,2)=
max(epc(i,2)+e2(i),zero)
401 wvec(i)=(one-dam(i,3))*sigt3(i)
402 IF (t3(i)>wvec(i))
THEN
404 IF (epc(i,3)==zero)
THEN
405 epc(i,3)=
max(epe(i,3),zero)
407 epc(i,3)=
max(epc(i,3)+e3(i),zero)
410 t1(i)=t1(i)-d13(i)*e3(i)*dam(i,3)
411 t2(i)=t2(i)-d23(i)*e3(i)*dam(i,3)
418 dam(i,3)=
min((dam(i,3)+delta(i)),one)
419 IF (dam(i,3)>=1. .AND. kd3(i)/=2)
THEN
426 IF (e3(i)<zero .AND. dam(i,3)>zero)
427 . epc(i,3)=
max(epc(i,3)+e3(i),zero)
434 IF (t1(i)<zero.AND.epc(i,1)>zero)
THEN
436 t2(i)=t2(i)-d12(i)*e1(i)*dam(i,1)
437 t3(i)=t3(i)-d13(i)*e1(i)*dam(i,1)
439 IF (t2(i)<zero.AND.epc(i,2)>zero)
THEN
440 t1(i)=t1(i)-d12(i)*e2(i)*dam(i,2)
442 t3(i)=t3(i)-d23(i)*e2(i)*dam(i,2)
444 IF (t3(i)<zero.AND.epc(i,3)>zero)
THEN
446 t1(i)=t1(i)-d13(i)*e3(i)*dam(i,3)
447 t2(i)=t2(i)-d23(i)*e3(i)*dam
454 wvec(i)=f1(i)*t1(i)+f2(i)*(t2(i)+t3(i))+
455 . f11(i)*t1(i)*t1(i)+f22(i)*(t2(i)*t2(i)+t3(i)*t3(i))+
456 . f55(i)*t5(i)*t5(i)+f44(i)*(t4(i)*t4(i)+t6(i)*t6(i))+
457 . two*f12(i)*(t1(i)*t2(i)+t1(i)*t3(i))+2*f23(i)*t2(i)*t3(i)
459 tsaiwu(i)=
max(
min(wvec(i)/sigmy(i),one),tsaiwu(i))
465 IF (wvec(i)>sigmy(i).AND.off(i)==one)
THEN
476 dp1(i)=f1(i)+two*f11(i)*so1(i)+two*f12(i)*(so2
477 dp2(i)=f2(i)+two*f22(i)*so2(i)+two*f12(i)*so1(i)
478 . + so3(i)*f23(i)*two
479 dp3(i)=f2(i)+two*f22(i)*so3(i)+two*f12(i)*so1(i)
480 . + so2(i)*f23(i)*two
481 dp4(i)=two*f44(i)*so4(i)
482 dp5(i)=two*f55(i)*so5(i)
483 dp6(i)=two*f44(i)*so6(i)
496 lamda(i)=(dp1(i)*ds1(i)+dp2(i)*ds2(i)+dp3(i)*ds3(i)
497 . +dp4(i)*ds4(i)+dp5(i)*ds5(i)+dp6(i)*ds6(i))*coef(i)
506 IF (pla(i)>zero) plas(i)=pla(i)**cnn(i)
510 IF (lamda(i)==zero)
GO TO 208
511 lamda(i)=lamda(i)*coef(i)/
512 . (dp1(i)*(d11(i)*dp1(i)+d12(i)*dp2(i)+d13(i)*dp3(i))+
513 . dp2(i)*(d12(i)*dp1(i)+d22(i)*dp2(i)+d23(i)*dp3(i))+
514 . dp3(i)*(d13(i)*dp1(i)+d23(i)*dp2(i)+d33(i)*dp3(i))+
515 . two*dp4(i)*g12(i)*dp4(i)+
516 . two*dp5(i)*g23(i)*dp5(i)+
517 . two*dp6(i)*g31(i)*dp6(i)+
518 . (so1(i)*dp1(i)+so2(i)*dp2(i)+so3(i)*dp3(i)+
519 . two*so4(i)*dp4(i)+2.*so5(i)*dp5(i)+2.*so6(i)*dp6(i))
520 . *cn(i)*cb(i)*plas(i))
523 3104
FORMAT(
' 208 LAMDA ',e11.4)
526 dp1(i)=lamda(i)*dp1(i)
527 dp2(i)=lamda(i)*dp2(i)
528 dp3(i)=lamda(i)*dp3(i)
529 dp4(i)=lamda(i)*dp4(i)
530 dp5(i)=lamda(i)*dp5(i)
531 dp6(i)=lamda(i)*dp6(i)
535 epe(i,1)=epe(i,1)-dp1(i)
536 epe(i,2)=epe(i,2)-dp2(i)
537 epe(i,3)=epe(i,3)-dp3(i)
541 t1(i)=t1(i)-d11(i)*dp1(i)-d12(i)*dp2(i)-d13(i)*dp3(i)
542 t2(i)=t2(i)-d12(i)*dp1(i)-d22(i)*dp2(i)-d23(i)*dp3(i)
543 t3(i)=t3(i)-d13(i)*dp1(i)-d23(i)*dp2(i)-d33(i)*dp3(i)
544 t4(i)=t4(i)-g12(i)*dp4(i)*two
545 t5(i)=t5(i)-g23(i)*dp5(i)*two
546 t6(i)=t6(i)-g31(i)*dp6(i)*two
553 . (dp1(i)*(t1(i)+so1(i))+
554 . dp2(i)*(t2(i)+so2(i))+
555 . dp3(i)*(t3(i)+so3(i))+
556 . two*dp4(i)*(t4(i)+so4(i))+
557 . two*dp5(i)*(t5(i)+so5(i))+
558 . two*dp6(i)*(t6(i)+so6(i)))
559 dwpla =
max(dwpla ,zero) / wplaref
560 pla(i) = pla(i) + dwpla
561 pla(i)=
max(pla(i),zero)
569 CALL m14ftg(sig,ax ,ay ,az ,bx ,by ,
570 2 bz ,cx ,cy ,cz ,t1 ,t2 ,
571 3 t3 ,t4 ,t5 ,t6 ,nel)
574 sig(i,1)=sig(i,1)*off(i)
575 sig(i,2)=sig(i,2)*off(i)
576 sig(i,3)=sig(i,3)*off(i)
577 sig(i,4)=sig(i,4)*off(i)
578 sig(i,5)=sig(i,5)*off(i)
579 sig(i,6)=sig(i,6)*off(i)
586 eint(i)=eint(i)+dt5*vnew(i)*
587 . ( d1(i)*(sold1(i)+sig(i,1))
588 . + d2(i)*(sold2(i)+sig(i,2))
589 . + d3(i)*(sold3(i)+sig(i,3))
590 . + d4(i)*(sold4(i)+sig(i,4))
591 . + d5(i)*(sold5(i)+sig(i,5))
592 . + d6(i)*(sold6(i)+sig(i,6)))
593 eint(i)=eint(i)/vol(i)
594 dam(i,5)=kd1(i)*1000 + kd2(i)*100 + kd3(i)*10 + kd4(i) + 10000
598 sigym =
max(em20,half*(one/f11(i)+one/f22(i)))
599 sigy(i)=sigmy(i)*sqrt(sigym)
603 1000
FORMAT(1x,
'RUPTURE OF SOLID ELEMENT NUMBER ',i10)