32 1 NEL ,NUPARAM,NUVAR ,NFUNC ,IFUNC ,
33 2 NPF ,TF ,TIME ,TIMESTEP,UPARAM ,
34 3 RHO0 ,RHO ,VOLUME ,EINT ,
35 4 EPSPXX ,EPSPYY ,EPSPZZ ,EPSPXY ,EPSPYZ ,EPSPZX ,
36 5 DEPSXX ,DEPSYY ,DEPSZZ ,DEPSXY ,DEPSYZ ,DEPSZX ,
37 6 EPSXX ,EPSYY ,EPSZZ ,EPSXY ,EPSYZ ,EPSZX ,
38 7 SIGOXX ,SIGOYY ,SIGOZZ ,SIGOXY ,SIGOYZ ,SIGOZX ,
39 8 SIGNXX ,SIGNYY ,SIGNZZ ,SIGNXY ,SIGNYZ ,SIGNZX ,
40 9 SIGVXX ,SIGVYY ,SIGVZZ ,SIGVXY ,SIGVYZ ,SIGVZX ,
41 A SOUNDSP,VISCMAX,UVAR ,OFF ,YLD ,PLA ,
42 B DPLA ,ETSE ,IPM ,MAT ,ISRATE ,
50#include "implicit_f.inc"
107 INTEGER :: , NUPARAM, NUVAR
108 INTEGER :: IPM(NPROPMI,*),ISRATE(NEL),MAT(NEL)
110 . TIME,TIMESTEP,UPARAM(NUPARAM),
111 . RHO(NEL),RHO0(NEL),VOLUME(NEL),EINT(NEL),
112 . EPSPXX(NEL),(NEL),EPSPZZ(NEL),
113 . EPSPXY(NEL),EPSPYZ(NEL),EPSPZX(NEL),
114 . DEPSXX(NEL),DEPSYY(NEL),(NEL),
115 . DEPSXY(NEL),(NEL),DEPSZX(NEL),
116 . EPSXX(NEL) ,EPSYY(NEL) ,EPSZZ(NEL) ,
117 . EPSXY(NEL) ,EPSYZ(NEL) ,EPSZX(NEL) ,
118 . SIGOXX(NEL),SIGOYY(NEL),SIGOZZ(NEL),
119 . sigoxy(nel),sigoyz(nel),sigozx(nel),
120 . facyldi(nel),epsp(nel)
125 . signxx(nel),signyy(nel),signzz(nel),
126 . signxy(nel),signyz(nel),signzx(nel),
127 . sigvxx(nel),sigvyy(nel),sigvzz(nel),
128 . sigvxy(nel),sigvyz(nel),sigvzx(nel),
129 . soundsp(nel),viscmax(nel),yld(nel) ,
130 . pla(nel),dpla(nel),etse(nel)
135 . uvar(nel,nuvar), off(nel)
139 INTEGER NPF(*), NFUNC, IFUNC(NFUNC)
153 INTEGER I,II,J,K,NRATE,JJ(NEL),J1,J2,N,NINDX,IFLAG,,EXPA,EXPAM2,
154 . nmax,indx(nel), ipos1(nel),ilen1(nel),iad1(nel),
155 . ipos2(nel),ilen2(nel),iad2(nel)
157 . y1(nel),y2(nel),dydx(nel),dydx1(nel),dydx2(nel),
158 . xpxx(nel),xpyy(nel),xpxy(nel),xpyz(nel),xpzx(nel),
159 . xppxx(nel),xppyy(nel),xppxy(nel),xppyz(nel),xppzx(nel),
160 . phip(nel),phipp(nel),
161 . deltap(nel), deltapp1(nel), deltapp2(nel), deltapp(nel),
162 . deplxx(nel),deplyy(nel),deplxy(nel),deplzz(nel),
163 . deelzz(nel),xp1(nel),xp2(nel),xpp1(nel),
164 . xpp2(nel),sig(nel),h(nel),sigtrxx(nel),sigtryy(nel),
165 . sigtrxy(nel),rate(nel),sigtryz(nel),sigtrzz(nel),
166 . sigtrzx(nel),deplyz(nel),deplzx(nel),ddeplyz(nel),ddeplzx(nel),
167 . ddeplxx(nel),ddeplyy(nel),ddeplxy(nel),ddeplzz(nel)
169 . e,nu,bulk,a1,a2,g,unsa,du,r,umr,g2,lamda,
170 . al1, al2 , al3 , al4 ,dsigpl1,dspl1,
171 . al5, al6 , al7 , al8 ,dsigpl2,dspl2,
172 . al9, al10, al11, al12,dsigpl3,dspl3,
173 . yscale,ceps,eps0,expn,dav,
174 . lpp11,lpp12,lp13,lpp21,lpp22,lpp23,
175 . lpp34,lpp45,lpp56,lpp13,lpp66,
176 . fct,fctp,bpp,cpp,dpp,fp1,fp2,fp3,fp4,fp5,
177 . kint,fpp1,fpp2,fpp3,dfp1,dfp2,dfp3,fpp4,fpp5,
178 . dfpp1,dfpp2,dfpp3,dp,ap,df1,df2,df3,df,dfp4,dfp5,dfp6,
179 . dsdepl1,dsdepl2,dsdepl3,normef,epspi,dfpp4,dfpp5,dfpp6,
180 . aswift ,epso,qvoce,beta,ko,
alpha,nexp,df4,df5,df6,
181 . expv,kswift,kvoce,unsp,unsc,pla_i,yld_i,
182 . dswift,dvoce,dfepsp,yldp, p2,unspt,unsct,dfsr,
183 . tpp1, tpp2,tpp3,tp1,tp2,fiptest,fipptest
186 . hk(nel),nu_1mnu(nel),epsf(nel),plap(nel),f_epsp(nel),
187 . svm2(nel),yld2(nel),hi(nel),g3(nel),t_1pnu(nel),
188 . hkin,nu110,nu210,dezz,svm,dpla_i(nel),dr(nel),
189 . aa(nel),bb(nel),dpla_j(nel),u_1mnu(nel),
190 . pp(nel),qq(nel),fail(nel),svmo(nel),f_epspt(nel),
191 . nu11v(nel),nu21v3(nel),aanu11v(nel),bbnu21v3(nel),
194 . yfac(nel,2),pui_1,pui_2
217 bulk = e/three/(one-two*nu)
234 expa = nint(uparam(15) )
243 nrate = nint(uparam(25))
244 lamda = uparam(25+2*nfunc+9)
247 qvoce = uparam(25+2*nrate+1)
248 beta = uparam(25+2*nrate+2)
249 ko = uparam(25+2*nrate+3)
251 unsp = uparam(25+2*nrate+4)
252 unsc = uparam(25+2*nrate+5)
255 unspt = uparam(25+2*nrate+6)
256 unsct = uparam(25+2*nrate+7)
258 iflagsr = nint(uparam(25+2*nrate+8))
260 lpp11=(-two* al3 +two*al4 + eight*al5- two*al6)/nine
261 lpp12=(-four*al4 +four*al6+ al3 - four*al5)/nine
262 lpp13=(al3 +two*al4 -four*al5- two*al6 )/nine
263 lpp21=(four*al3 -four*al4-four*al5+ al6)/nine
264 lpp22=(-two* al3+ eight*al4 + two*al5- two*al6)/nine
265 lpp23=(-two* al3 -four*al4 + two*al5+ al6)/nine
271 iflag = int(uparam(24))
275 dav = depsxx(i)+depsyy(i)+depszz(i)
276 signxx(i) = sigoxx(i) + depsxx(i)*g2 + lamda*dav
277 signyy(i) = sigoyy(i) + depsyy(i)*g2 + lamda*dav
278 signzz(i) = sigozz(i) + depszz(i)*g2 + lamda*dav
279 signxy(i) = sigoxy(i) + depsxy(i)*g
280 signyz(i) = sigoyz(i) + depsyz(i)*g
281 signzx(i) = sigozx(i) + depszx(i)*g
295 soundsp(i) = sqrt((bulk+four_over_3*g)/rho0(i))
307 expv = exp(-beta*pla(i))
308 IF((pla(i) + epso)>zero)
THEN
309 pui_1 = exp(nexp*log((pla(i) + epso)))
314 kswift = aswift*pui_1
315 kvoce = ko + qvoce*(one - expv)
321 IF (unspt /= zero )
THEN
324 . f_epspt(i) =one + exp(unspt * log(unsct*epsp(i)))
332 xpxx(i) = (two*al1*signxx(i)-al1*signyy(i)-al1*signzz(i))/three
333 xpyy(i) =(-al2*signxx(i)+two*al2*signyy(i)-al2*signzz(i))/three
334 xpxy(i) = al7*signxy(i)
335 xpyz(i) = al9*signyz(i)
336 xpzx(i) = al10*signzx(i)
339 xppxx(i) = lpp11*signxx(i) + lpp12*signyy(i) +lpp13*signzz(i)
340 xppyy(i) = lpp21*signxx(i) + lpp22*signyy(i) +lpp23*signzz(i)
341 xppxy(i) = lpp34*signxy(i)
342 xppyz(i) = lpp45*signyz(i)
343 xppzx(i) = lpp56*signzx(i)
345 deltap(i) = (xpxx(i)-xpyy(i))**2 + four * (xpxy(i)**2 + xpyz(i)**2 + xpzx(i)**2 )
346 phip(i) = sqrt(
max(zero, deltap(i)))**expa
350 deltapp(i) = (xppxx(i)-xppyy(i))**2 + four * (xppxy(i)**2 + xppyz(i)**2 + xppzx(i)**2 )
351 deltapp(i) = sqrt(
max(zero, deltapp(i)))
352 deltapp1(i) = three_half*(xppxx(i)-xppyy(i))+half*deltapp(i)
353 deltapp2(i) = three_half*(xppxx(i)-xppyy(i))-half*deltapp(i)
355 phipp(i)= deltapp1(i)**expa + deltapp2(i)**expa
358 IF(((phip(i)+phipp(i)))>zero)
THEN
359 sig(i) = exp(unsa*log(half*(phip(i)+phipp(i))))
370 IF (sig(i)>yld(i).AND.off(i) == one)
THEN
380 !
IF (sig(i)>yld(i).AND.off(i) == one)
THEN
381 dpla(i)= uvar(i,3)+ em09
399 pla(i) = pla_i + dpla(i)
400 plap(i)= dpla(i)/timestep
402 expv = exp(-beta*pla(i))
404 IF((pla(i) + epso)>zero
THEN
405 pui_1 = exp(nexp*log(pla(i) + epso))
409 kswift = aswift*pui_1
410 kvoce = ko + qvoce*(one - expv)
417 f_epsp(i) = one+exp(unsp * log(unsc*plap(i))
425 dswift = nexp*kswift/(pla(i) + epso
426 dvoce = qvoce*beta*expv
428 dfepsp = unsp *(f_epsp(i)-one)/
max(em20,dpla(i))
430 yldp = yldp*f_epsp(i) + yld(i)*dfepsp
431 yld(i) = yld(i) * f_epsp(i) *f_epspt
435 tp1 = expa*(sqrt(
max(zero,deltap(i))))**(expa-2)
437 fp1 = tp1 * (xpxx(i) - xpyy(i))
439 fp3 = three * tp1 * xpxy(i)
440 fp4 = three * tp1 * xpyz(i)
441 fp5 = three * tp1 * xpzx(i)
444 tpp1 = expa * deltapp1(i) ** (expa - 1)
445 tpp2 = expa * deltapp2(i) ** (expa - 1)
446 tpp3 = two *(tpp1 - tpp2) /deltapp(i)
449 fpp1 = tpp1 *(three_half+half* ( xppxx(i) - xppyy(i) )/deltapp(i))
450 . + tpp2 *(three_half-half* ( xppxx(i) - xppyy(i) )/deltapp(i))
451 fpp2 = tpp1 *(-three_half-half* ( xppxx(i) - xppyy(i) )/deltapp(i))
452 . + tpp2 *(-three_half+half* ( xppxx(i) - xppyy(i) )/deltapp(i))
453 fpp3 = tpp3 * xppxy(i)
454 fpp4 = tpp3 * xppyz(i)
455 fpp5 = tpp3 * xppzx(i)
457 dfp1=third*(two*al1*fp1-al2*fp2)
458 dfp2=third*(two*al2*fp2-al1*fp1)
459 dfp3=third*(-al1*fp1-al2*fp2)
464 dfpp1=fpp1*lpp11+fpp2*lpp21
465 dfpp2=fpp1*lpp12+fpp2*lpp22
466 dfpp3=fpp1*lpp13+fpp2*lpp23
471 du = unsa * sig(i) / (
max(em20, phip(i)+phipp(i)) )
490 . * (two*(df1*df1 + df2*df2 + df3*df3 )
491 . + df4*df4 + df5*df5 + df6*df6 )
502 dpla(i)=dpla(i)-fct/df
503 dpla(i)=
max(zero,dpla(i))
506 deplxx(i)=dpla(i)*df1*du
507 deplyy(i)=dpla(i)*df2*du
508 deplzz(i)=dpla(i)*df3*du
509 deplxy(i)=dpla(i)*df4*du
510 deplyz(i)=dpla(i)*df5*du
511 deplzx(i)=dpla(i)*df6*du
514 signxx(i)=sigtrxx(i)- g2*deplxx(i)
515 signyy(i)=sigtryy(i)- g2*deplyy(i)
516 signzz(i)=sigtrzz(i)- g2*deplzz(i)
517 signxy(i)=sigtrxy(i)- g*deplxy(i)
518 signyz(i)=sigtryz(i)- g*deplyz(i)
519 signzx(i)=sigtrzx(i)- g*deplzx(i)
524 xpxx(i) = (two*al1*signxx(i)-al1*signyy(i)-al1*signzz(i))/three
525 xpyy(i) =(-al2*signxx(i)+two*al2*signyy(i)-al2*signzz(i))/three
526 xpxy(i) = al7*signxy(i)
527 xpyz(i) = al9*signyz(i)
528 xpzx(i) = al10*signzx(i)
530 xppxx(i) = lpp11*signxx(i) + lpp12*signyy(i) +lpp13*signzz(i)
531 xppyy(i) = lpp21*signxx(i) + lpp22*signyy(i) +lpp23
532 xppxy(i) = lpp34*signxy(i
533 xppyz(i) = lpp45*signyz(i)
534 xppzx(i) = lpp56*signzx(i)
536 deltap(i) = (xpxx(i)-xpyy(i))**2
538 phip(i) = sqrt(
max(zero, deltap(i)))**expa
541 deltapp(i) = (xppxx(i)-xppyy(i))**2 + four * (xppxy(i)**2 + xppyz(i)**2 + xppzx(i)**2 )
542 deltapp(i) = sqrt(
max(em20, deltapp
544 deltapp1(i) = three_half*(xppxx(i)-xppyy(i))+half*deltapp(i)
545 deltapp2(i) = three_half*(xppxx(i)-xppyy(i))-half*deltapp(i)
547 phipp(i)= deltapp1(i)**expa + deltapp2(i)**expa
550 IF(((phip(i)+phipp(i)))>zero)
THEN
551 sig(i) = exp(unsa*log(half*(phip(i)+phipp(i))))
571 IF (epsp(i) > uparam(25+j)) jj(i) = j
575 epspi = uparam(25+jj(i))
576 rate(i)=(epsp(i) - epspi)/(uparam(26+jj(i)) - epspi)
577 yfac(i,1)=uparam(25+nrate+jj(i))*facyldi(i)
578 yfac(i,2)=uparam(25+nrate+jj(i)+1)*facyldi(i)
583 ipos1(i) = nint(uvar(i,j1+5))
584 iad1(i) = npf(ipm(10+j1,mat(1))) / 2 + 1
585 ilen1(i) = npf(ipm(10+j1,mat(1))+1) / 2 - iad1(i)-ipos1(i)
586 ipos2(i) = nint(uvar(i,j2+5))
587 iad2(i) = npf(ipm(10+j2,mat(1))) / 2 + 1
588 ilen2(i) = npf(ipm(10+j2,mat(1))+1) / 2 - iad2(i)-ipos2(i)
590 CALL vinter(tf,iad1,ipos1,ilen1,nel,pla,dydx1,y1)
591 CALL vinter(tf,iad2,ipos2,ilen2,nel,pla,dydx2,y2)
595 y1(i)=y1(i)*yfac(i,1)
596 y2(i)=y2(i)*yfac(i,2)
597 yld(i) = (y1(i) + rate(i)*(y2(i)-y1(i)))
598 yld(i) =
max(yld(i),em20)
599 dydx1(i)=dydx1(i)*yfac(i,1)
600 dydx2(i)=dydx2(i)*yfac(i,2)
601 dydx(i) = (dydx1(i) + rate(i)*(dydx2(i)-dydx1(i)))
602 uvar(i,j1+5) = ipos1(i)
603 uvar(i,j2+5) = ipos2(i)
611 yfac(i,1)= uparam(25+nrate+1)*facyldi(i)
612 yld(i) = yfac(i,1)*finter(ipm(11,mat(1)) ,zero,npf,tf,dydx(i))
632 xpxx(i) = (two*al1*signxx(i)-al1*signyy(i)-al1*signzz(i))/three
633 xpyy(i) =(-al2*signxx(i)+two*al2*signyy(i)-al2*signzz(i))/three
634 xpxy(i) = al7*signxy(i)
635 xpyz(i) = al9*signyz(i)
636 xpzx(i) = al10*signzx(i)
638 xppxx(i) = lpp11*signxx(i) + lpp12*signyy(i) +lpp13*signzz(i)
639 xppyy(i) = lpp21*signxx(i) + lpp22*signyy(i) +lpp23*signzz(i)
640 xppxy(i) = lpp34*signxy(i)
641 xppyz(i) = lpp45*signyz(i)
642 xppzx(i) = lpp56*signzx(i)
644 deltap(i) = (xpxx(i)-xpyy(i))**2 + four * (xpxy(i)**2 + xpyz(i)**2 + xpzx(i)**2 )
645 phip(i) = sqrt(
max(zero, deltap(i)))**expa
648 deltapp(i) = (xppxx(i)-xppyy(i))**2 + four * (xppxy(i)**2 + xppyz(i)**2 + xppzx(i)**2 )
649 deltapp(i) = sqrt(
max(em20, deltapp(i)))
650 deltapp1(i) = three_half*(xppxx(i)-xppyy(i))+half*deltapp(i)
651 deltapp2(i) = three_half*(xppxx(i)-xppyy(i))-half*deltapp(i)
653 phipp(i)= deltapp1(i)**expa + deltapp2(i)**expa
656 IF((phip(i)+phipp(i))>zero)
THEN
657 sig(i) = exp(unsa*log(half*(phip(i)+phipp(i))))
667 IF (sig(i)>yld(i).AND.off(i) == one)
THEN
685 dpla(i)= uvar(i,3)+ em09
699 yld(i) =yld_i+dydx(i)*dpla(i)
702 tp1 = expa*(sqrt(
max(zero,deltap(i))))**(expa-2)
705 fp1 = tp1 * (xpxx(i) - xpyy(i))
707 fp3 = three * tp1 * xpxy(i)
708 fp4 = three * tp1 * xpyz(i)
709 fp5 = three * tp1 * xpzx(i)
712 tpp1 = expa * deltapp1(i) ** (expa - 1)
713 tpp2 = expa * deltapp2(i) ** (expa - 1)
714 tpp3 = two *(tpp1 - tpp2) /deltapp(i)
717 fpp1 = tpp1 *(three_half+half* ( xppxx(i) - xppyy(i) )/deltapp(i))
718 . +tpp2 *(three_half-half* ( xppxx(i) - xppyy(i) )/deltapp(i))
719 fpp2 = tpp1 *(-three_half-half* ( xppxx(i) - xppyy(i) )/deltapp(i))
720 . +tpp2 *(-three_half+half* ( xppxx(i) - xppyy(i) )/deltapp(i))
721 fpp3 = tpp3 * xppxy(i)
722 fpp4 = tpp3 * xppyz(i)
723 fpp5 = tpp3 * xppzx(i)
725 dfp1=third*(two*al1*fp1-al2*fp2)
726 dfp2=third*(two*al2*fp2-al1*fp1)
727 dfp3=third*(-al1*fp1-al2*fp2)
733 dfpp1=fpp1*lpp11+fpp2*lpp21
734 dfpp2=fpp1*lpp12+fpp2*lpp22
735 dfpp3=fpp1*lpp13+fpp2*lpp23
740 du = unsa * sig(i) / (
max(em20, phip(i)+phipp(i)) )
749 df = -two*g * (du * df1) **2
750 . -two*g * (du * df2) **2
751 . -two*g * (du * df3) **2
752 . -g * (du * df4) **2
753 . -g * (du * df5) **2
754 . -g * (du * df6) **2
759 dpla(i)=dpla(i)-fct/df
760 dpla(i)=
max(zero,dpla(i))
762 deplxx(i)=dpla(i)*df1*du
763 deplyy(i)=dpla(i)*df2*du
764 deplzz(i)=dpla(i)*df3*du
765 deplxy(i)=dpla(i)*df4*du
766 deplyz(i)=dpla(i)*df5*du
767 deplzx(i)=dpla(i)*df6*du
770 signxx(i)=sigtrxx(i)- g2*deplxx(i)
772 signzz(i)=sigtrzz(i)- g2*deplzz(i)
773 signxy(i)=sigtrxy(i)- g*deplxy(i)
774 signyz(i)=sigtryz(i)- g*deplyz(i)
775 signzx(i)=sigtrzx(i)- g*deplzx(i)
781 xpxx(i) = (two*al1*signxx(i)-al1*signyy(i)-al1*signzz(i))/three
782 xpyy(i) =(-al2*signxx(i)+two*al2*signyy(i)-al2*signzz(i))/three
783 xpxy(i) = al7*signxy(i)
784 xpyz(i) = al9*signyz(i)
785 xpzx(i) = al10*signzx(i)
787 xppxx(i) = lpp11*signxx(i) + lpp12*signyy(i) +lpp13*signzz(i)
788 xppyy(i) = lpp21*signxx(i) + lpp22*signyy(i) +lpp23*signzz(i)
789 xppxy(i) = lpp34*signxy(i)
790 xppyz(i) = lpp45*signyz(i)
791 xppzx(i) = lpp56*signzx(i)
793 deltap(i) = (xpxx(i)-xpyy(i))**2 + four * (xpxy(i)**2 + xpyz(i)**2 + xpzx(i)**2 )
794 phip(i) = sqrt(
max(zero, deltap(i)))**expa
797 deltapp(i) = (xppxx(i)-xppyy(i))**2 + four * (xppxy(i)**2 +
798 deltapp(i) = sqrt(
max(em20, deltapp(i)))
799 deltapp1(i) = three_half*(xppxx(i)-xppyy(i))+half*deltapp(i)
800 deltapp2(i) = three_half*(xppxx(i)-xppyy(i))-half*deltapp(i)
802 phipp(i)= deltapp1(i)**expa + deltapp2(i)**expa
805 IF((half*(phip(i)+phipp(i)))>zero)
THEN
806 sig(i) = exp(unsa*log(half*(phip(i)+phipp(i))))
822 dpla(i) = uvar(i,3) + em09
823 plap(i) = dpla(i)/timestep
829 IF(plap(i) >= uparam(25+j)) jj(i) = j
833 rate(i)=(plap(i) - uparam(25+j1))/(uparam(26+j1) - uparam(25+j1))
834 yfac(i,1)=uparam(25+nrate+j1)*facyldi(i)
835 yfac(i,2)=uparam(25+nrate+j2)*facyldi(i)
837 y1(i) = yfac(i,1)*finter(ipm(10+j1,mat(1)),pla(i),npf,tf,dydx1(i))
838 y2(i) = yfac(i,2)*finter(ipm(10+j2,mat(1)),pla(i),npf,tf,dydx2(i))
839 yld(i) = y1(i) + rate(i)*(y2(i)-y1(i))
840 yld(i) =
max(yld(i),em20)
841 dydx1(i)= dydx1(i)*yfac(i,1)
842 dydx2(i)= dydx2(i)*yfac(i,2)
843 dydx(i) = dydx1(i) + rate(i)*(dydx2(i)-dydx1(i))
844 yldp = dydx(i) + (y2(i)-y1(i))/
845 . (uparam(26+j1)-uparam(25+j1)) /timestep
867 pla(i) = uvar(i,1) + dpla(i)
868 plap(i) = dpla(i) / timestep
871 IF(plap(i) >= uparam(25+j)) jj(i) = j
875 rate(i)=(plap(i) - uparam(25+j1))/(uparam(26+j1) - uparam(25+j1))
876 yfac(i,1)=uparam(25+nrate+j1)*facyldi(i)
877 yfac(i,2)=uparam(25+nrate+j2)*facyldi(i)
879 y1(i) = yfac(i,1)*finter(ipm(10+j1,mat(1)),pla(i),npf,tf,dydx1(i))
880 y2(i) = yfac(i,2)*finter(ipm(10+j2,mat(1)),pla(i),npf,tf,dydx2(i))
881 yld(i) = y1(i) + rate(i)*(y2(i)-y1(i))
882 yld(i) =
max(yld(i),em20)
883 dydx1(i)=dydx1(i)*yfac(i,1)
884 dydx2(i)=dydx2(i)*yfac(i,2)
885 dydx(i) = (dydx1(i) + rate(i)*(dydx2(i)-dydx1(i)))
887 yldp = dydx(i)+ (y2(i)-y1(i))
888 . /(uparam(26+j1)-uparam(25+j1)) /timestep
896 tp1 = expa*(sqrt(
max(zero,deltap(i))))**(expa-2)
899 fp1 = tp1 * (xpxx(i) - xpyy(i))
901 fp3 = three * tp1 * xpxy(i)
902 fp4 = three * tp1 * xpyz(i)
903 fp5 = three * tp1 * xpzx(i)
906 tpp1 = expa * deltapp1(i) ** (expa - 1)
907 tpp2 = expa * deltapp2(i) ** (expa - 1)
908 tpp3 = two *(tpp1 - tpp2) /deltapp(i)
911 fpp1 = tpp1 *(three_half+half* ( xppxx(i) - xppyy(i) )/deltapp(i))
912 . +tpp2 *(three_half-half* ( xppxx(i) - xppyy(i) )/deltapp(i))
913 fpp2 = tpp1 *(-three_half-half* ( xppxx(i) - xppyy(i) )/deltapp(i))
914 . +tpp2 *(-three_half+half* ( xppxx
915 fpp3 = tpp3 * xppxy(i)
916 fpp4 = tpp3 * xppyz(i)
917 fpp5 = tpp3 * xppzx(i)
919 dfp1=third*(two*al1*fp1-al2*fp2)
920 dfp2=third*(two*al2*fp2-al1*fp1)
921 dfp3=third*(-al1*fp1-al2*fp2)
927 dfpp1=fpp1*lpp11+fpp2
928 dfpp2=fpp1*lpp12+fpp2*lpp22
929 dfpp3=fpp1*lpp13+fpp2*lpp23
934 du = unsa * sig(i) / (
max(em20, phip(i)+phipp(i)) )
943 df = -two*g * (du * df1) **2
944 . -two*g * (du * df2) **2
945 . -two*g * (du * df3) **2
946 . -g * (du * df4) **2
947 . -g * (du * df5) **2
948 . -g * (du * df6) **2
953 dpla(i)=dpla(i)-fct/df
954 dpla(i)=
max(zero,dpla(i))
956 deplxx(i)=dpla(i)*df1*du
957 deplyy(i)=dpla(i)*df2*du
958 deplzz(i)=dpla(i)*df3*du
959 deplxy(i)=dpla(i)*df4*du
960 deplyz(i)=dpla(i)*df5*du
961 deplzx(i)=dpla(i)*df6*du
964 signxx(i)=sigtrxx(i)- g2*deplxx(i)
965 signyy(i)=sigtryy(i)- g2*deplyy(i)
966 signzz(i)=sigtrzz(i)- g2*deplzz(i)
967 signxy(i)=sigtrxy(i)- g*deplxy(i)
968 signyz(i)=sigtryz(i)- g*deplyz(i)
969 signzx(i)=sigtrzx(i)- g*deplzx(i)
975 xpxx(i) = (two*al1*signxx(i)-al1*signyy(i)-al1*signzz(i))/three
976 xpyy(i) =(-al2*signxx(i)+two*al2*signyy(i)-al2*signzz(i))/three
977 xpxy(i) = al7*signxy(i)
978 xpyz(i) = al9*signyz(i)
979 xpzx(i) = al10*signzx(i)
981 xppxx(i) = lpp11*signxx(i) + lpp12*signyy(i
982 xppyy(i) = lpp21*signxx(i) + lpp22*signyy(i) +lpp23*signzz(i)
983 xppxy(i) = lpp34*signxy(i)
984 xppyz(i) = lpp45*signyz(i)
985 xppzx(i) = lpp56*signzx(i)
987 deltap(i) = (xpxx(i)-xpyy(i))**2 + four * (xpxy(i)**2 + xpyz(i)**2 + xpzx(i)**2 )
988 phip(i) = sqrt(
max(zero, deltap(i)))**expa
991 deltapp(i) = (xppxx(i)-xppyy(i))**2 + four * (xppxy(i)**2 + xppyz(i)**2 + xppzx(i)**2 )
992 deltapp(i) = sqrt(
max(em20, deltapp(i)))
993 deltapp1(i) = three_half*(xppxx(i)-xppyy(i))+half*deltapp(i)
994 deltapp2(i) = three_half*(xppxx(i)-xppyy(i))-half*deltapp(i)
996 phipp(i)= deltapp1(i)**expa + deltapp2(i)**expa
999 IF((half*(phip(i)+phipp(i)))>zero)
THEN
1000 sig(i) = exp(unsa*log(half*(phip(i)+phipp(i))))
1013 IF( dpla(i) > zero)
THEN
1014 h(i)=(yld(i)-uvar(i,2))/dpla(i)
1020 pla(i)=uvar(i,1) + dpla(i)