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), (*), PLA(*), SIGF(*),
70 . RX(*), RY(*), RZ(*), SX(*), (*), 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),
87 . WVEC(MVSIZ),S1(MVSIZ), S2(MVSIZ), S3(MVSIZ),
88 . T1(MVSIZ), T2(MVSIZ), T3(MVSIZ),T4(MVSIZ),T5(MVSIZ),T6(MVSIZ),
89 . E1(MVSIZ), E2(MVSIZ), E3(MVSIZ),(MVSIZ),E5(MVSIZ),E6(),
90 . HARD(MVSIZ), SIGMY(MVSIZ), ALPHA(MVSIZ), EFIB(MVSIZ),
91 . epsft(mvsiz), epsfc(mvsiz), sigeq(mvsiz), p(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),
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,
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(i,3)
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(i)+so3(i))
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)
487 3101
FORMAT(/
' 205 WVEC SIGMY T1-T6 ',2e11.4/6e11.4)
490 3102
FORMAT(
' F1 F2 F11 F22 F12 F23 F44 F55',3e11.4/5e11.4)
502 lamda(i)=(dp1(i)*ds1(i)+dp2(i)*ds2(i)+dp3(i)*ds3(i)
503 . +dp4(i)*ds4(i)+dp5(i)*ds5(i)+dp6(i)*ds6(i))*coef(i)
507 3103
FORMAT(
' 207 LAMDA DS1-DS6 ',e11.4/6e11.4)
515 IF (pla(i)>zero) plas(i)=pla(i)**cnn(i)
519 IF (lamda(i)==zero)
GO TO 208
520 lamda(i)=lamda(i)*coef(i)/
521 . (dp1(i)*(d11(i)*dp1(i)+d12(i)*dp2(i)+d13(i)*dp3(i))+
522 . dp2(i)*(d12(i)*dp1(i)+d22(i)*dp2(i)+d23(i)*dp3(i))+
523 . dp3(i)*(d13(i)*dp1(i)+d23(i)*dp2(i)+d33(i)*dp3(i))+
525 . two*dp5(i)*g23(i)*dp5(i)+
526 . two*dp6(i)*g31(i)*dp6(i)+
527 . (so1(i)*dp1(i)+so2(i)*dp2
528 . two*so4(i)*dp4(i)+2.*so5(i)*dp5(i)+2.*so6(i)*dp6(i))
532 3104
FORMAT(
' 208 LAMDA ',e11.4)
535 dp1(i)=lamda(i)*dp1(i)
536 dp2(i)=lamda(i)*dp2(i)
537 dp3(i)=lamda(i)*dp3(i)
538 dp4(i)=lamda(i)*dp4(i)
539 dp5(i)=lamda(i)*dp5(i)
540 dp6(i)=lamda(i)*dp6(i)
543 3105
FORMAT(
' 209 PLA DP1-DP6',e11.4/6e11.4)
546 epe(i,1)=epe(i,1)-dp1(i)
547 epe(i,2)=epe(i,2)-dp2(i)
548 epe(i,3)=epe(i,3)-dp3(i)
552 t1(i)=t1(i)-d11(i)*dp1(i)-d12(i)*dp2(i)-d13(i)*dp3(i)
553 t2(i)=t2(i)-d12(i)*dp1(i)-d22(i)*dp2(i)-d23(i)*dp3(i)
554 t3(i)=t3(i)-d13(i)*dp1(i)-d23(i)*dp2(i)-d33(i)*dp3(i)
555 t4(i)=t4(i)-g12(i)*dp4(i)*two
556 t5(i)=t5(i)-g23(i)*dp5(i)*two
557 t6(i)=t6(i)-g31(i)*dp6(i)*two
564 . (dp1(i)*(t1(i)+so1(i))+
565 . dp2(i)*(t2(i)+so2(i))+
566 . dp3(i)*(t3(i)+so3(i))+
567 . two*dp4(i)*(t4(i)+so4(i))+
568 . two*dp5(i)*(t5(i)+so5(i))+
569 . two*dp6(i)*(t6(i)+so6(i)))
570 dwpla =
max(dwpla ,zero) / wplaref
571 pla(i) = pla(i) + dwpla
572 pla(i)=
max(pla(i),zero)
580 CALL m14ftg(sig,ax ,ay ,az ,bx ,by ,
581 2 bz ,cx ,cy ,cz ,t1 ,t2 ,
582 3 t3 ,t4 ,t5 ,t6 ,nel)
585 sig(i,1)=sig(i,1)*off(i)
586 sig(i,2)=sig(i,2)*off(i)
587 sig(i,3)=sig(i,3)*off(i)
588 sig(i,4)=sig(i,4)*off(i)
589 sig(i,5)=sig(i,5)*off(i)
590 sig(i,6)=sig(i,6)*off(i)
597 eint(i)=eint(i)+dt5*vnew(i)*
598 . ( d1(i)*(sold1(i)+sig(i,1))
599 . + d2(i)*(sold2(i)+sig(i,2))
600 . + d3(i)*(sold3(i)+sig(i,3))
601 . + d4(i)*(sold4(i)+sig(i,4))
602 . + d5(i)*(sold5(i)+sig(i,5))
603 . + d6(i)*(sold6(i)+sig(i,6)))
604 eint(i)=eint(i)/vol(i)
605 dam(i,5)=kd1(i)*1000 + kd2(i)*100 + kd3(i)*10 + kd4(i) + 10000
609 sigym =
max(em20,half*(one/f11(i)+one/f22(i)))
610 sigy(i)=sigmy(i)*sqrt(sigym)
614 1000
FORMAT(1x,
'RUPTURE OF SOLID ELEMENT NUMBER ',i10)
615 6001
FORMAT(i6,
' FAIL(14) E(',i5,
') M(',a3,
') T(',6e10.3,
')')