34 1 NEL ,NGL ,NUPARAM ,NUVAR ,TIME ,TIMESTEP,
35 2 UPARAM ,UVAR ,JTHE ,OFF ,RHO0 ,RHO ,
36 3 PLA ,DPLA ,EPSD ,SOUNDSP ,EPSZZ ,
37 4 DEPSXX ,DEPSYY ,DEPSZZ ,DEPSXY ,DEPSYZ ,DEPSZX ,
38 5 SIGOXX ,SIGOYY ,SIGOZZ ,SIGOXY ,SIGOYZ ,SIGOZX ,
39 6 SIGNXX ,SIGNYY ,SIGNZZ ,SIGNXY ,SIGNYZ ,SIGNZX ,
41 8 NVARTMP ,NUMTABL ,VARTMP ,ITABLE ,TABLE )
50#include "implicit_f.inc"
58 INTEGER NEL,NUPARAM,NUVAR,JTHE,NUMTABL,ITABLE(NUMTABL),NVARTMP
59 INTEGER ,
DIMENSION(NEL),
INTENT(IN) :: NGL
62 INTEGER :: VARTMP(NEL,NVARTMP)
63 my_real,
DIMENSION(NUPARAM),
INTENT(IN) ::
65 my_real,
DIMENSION(NEL),
INTENT(IN) ::
67 . depsxx,depsyy,depszz,depsxy,depsyz,depszx,
68 . sigoxx,sigoyy,sigozz,sigoxy,sigoyz,sigozx
70 my_real ,
DIMENSION(NEL),
INTENT(OUT) ::
72 . signxx,signyy,signzz,signxy,signyz,signzx
74 my_real ,
DIMENSION(NEL),
INTENT(INOUT) ::
76 my_real ,
DIMENSION(NEL,4),
INTENT(INOUT) ::
78 my_real ,
DIMENSION(NEL,NUVAR),
INTENT(INOUT) ::
81 TYPE(
ttable),
DIMENSION(NTABLE) :: TABLE
85 INTEGER I,K,II,NINDX,INDEX(NEL),NINDX2,INDEX2(NEL),NINDX3,INDEX3(NEL)
89 . young1,young2,young3,nu12,nu21,
91 . g12,g23,g31,deuxk,e3c,cc,c1,
92 . nu1p,nu2p,nu4p,nu5p,s01,a01,b01,c01,
93 . s02,a02,b02,c02,s03,a03,b03,c03,
94 . s04,a04,b04,c04,s05,a05,b05,c05,
95 . asig,bsig,csig,tau0,atau,btau,n3,n6,
96 . bulk,nu13,nu31,nu23,nu32
98 . normsig,h,dpdt,dlam,ddep,depxx,depyy
100 . normxx,normyy,normxy,normpxx,normpyy,normpxy,
101 . dphi_dlam,dphi,dfdsig2,dphi_dpla,dpxx,dpyy,dpxy,
102 . dphi_dsigy1,dphi_dsigy2,dphi_dsigy3,dphi_dsigy4,
105 . normzz,dtheta_dlam,dtheta,dtheta_dpla,
108 . normyz,normzx,dpsi_dlam,dpsi,dpsi_dpla,
109 . dpyz,dpzx,dpsi_dsigys
111 . xscale1,yscale1,xscale2,yscale2,xscale3,yscale3,xscale4,yscale4,
112 . xscale5,yscale5,xscalec,yscalec,xscales,yscales,xvec
114 my_real,
DIMENSION(2) ::
117 my_real,
DIMENSION(NEL) ::
118 . khi1,khi2,khi3,khi4,khi5,khi6,sigy1,sigy2,sigy3,sigy4,sigy5,dpla2,dpla3,
119 . dpla4,sigys,sigyo,dsigxx,dsigyy,dsigxy,dsigyz,dsigzx,hardp,phi,phi0,psi,psi0,
120 . theta,theta0,dsigzz,eezz,gam1,gam2,gam3,gam4,gam5,gam6,dsigy1_dp,dsigy2_dp,
121 . dsigy3_dp,dsigy4_dp,dsigy5_dp,dsigyo_dp,dsigys_dp,hardr
191 asrate = (two*pi*asrate*timestep)/(two*pi*asrate*timestep + one)
192 ismooth = int(uparam(37))
196 n1(1) = one/(sqrt(one+nu1p**2))
197 n1(2) = -nu1p/(sqrt(one+nu1p**2))
198 n2(1) = -nu2p/(sqrt(one+nu2p**2))
199 n2(2) = one/(sqrt(one+nu2p**2))
201 n4(1) = -one/(sqrt(one+nu4p**2))
202 n4(2) = nu4p/(sqrt(one+nu4p**2))
203 n5(1) = nu5p/(sqrt(one+nu5p**2))
204 n5(2) = -one/(sqrt(one+nu5p**2))
210 IF (off(i) < em01) off(i) = zero
211 IF (off(i) < one) off(i) = off(i)*four_over_5
214 theta0(i) = uvar(i,2)
216 eezz(i) = epszz(i) + pla(i,3) ! out-of-plane elastic strain
229 xvec(1:nel,1) = pla(1:nel,2)
230 xvec(1:nel,2) = epsd(1:nel,2) * xscale1
232 ipos(1:nel,1) = vartmp(1:nel,1)
235 sigy1(1:nel) = sigy1(1:nel) * yscale1
236 dsigy1_dp(1:nel)= dsigy1_dp(1:nel) * yscale1
237 vartmp(1:nel,1) = ipos(1:nel,1)
239 xvec(1:nel,2) = epsd(1:nel,2) * xscale2
240 ipos(1:nel,1) = vartmp(1:nel,2)
243 sigy2(1:nel) = sigy2(1:nel) * yscale2
244 dsigy2_dp(1:nel)= dsigy2_dp(1:nel) * yscale2
245 vartmp(1:nel,2) = ipos(1:nel,1)
247 xvec(1:nel,2) = epsd(1:nel,2) * xscale3
248 ipos(1:nel,1) = vartmp(1:nel,3)
251 sigy3(1:nel) = sigy3(1:nel) * yscale3
252 dsigy3_dp(1:nel)= dsigy3_dp(1:nel) * yscale3
253 vartmp(1:nel,3) = ipos(1:nel,1)
255 xvec(1:nel,2) = epsd(1:nel,2) * xscale4
256 ipos(1:nel,1) = vartmp(1:nel,4)
259 sigy4(1:nel) = sigy4(1:nel) * yscale4
260 dsigy4_dp(1:nel)= dsigy4_dp(1:nel) * yscale4
261 vartmp(1:nel,4) = ipos(1:nel,1)
263 xvec(1:nel,2) = epsd(1:nel,2) * xscale5
264 ipos(1:nel,1) = vartmp(1:nel,5)
267 sigy5(1:nel) = sigy5(1:nel) * yscale5
268 dsigy5_dp(1:nel)= dsigy5_dp(1:nel) * yscale5
269 vartmp(1:nel,5) = ipos(1:nel,1)
271 xvec(1:nel,1) = pla(1:nel,3)
272 xvec(1:nel,2) = epsd(1:nel,3) * xscalec
274 ipos(1:nel,1) = vartmp(
277 sigyo(1:nel) = sigyo(1:nel) * yscalec
278 dsigyo_dp(1:nel)= dsigyo_dp(1:nel) * yscalec
279 vartmp(1:nel,6) = ipos(1:nel,1)
281 xvec(1:nel,1) = pla(1:nel,4)
282 xvec(1:nel,2) = epsd(1:nel,4) * xscales
284 ipos(1:nel,1) = vartmp(1:nel,7)
287 sigys(1:nel) = sigys(1:nel) * yscales
288 dsigys_dp(1:nel)= dsigys_dp(1:nel) * yscales
289 vartmp(1:nel,7) = ipos(1:nel,1)
293 sigy1(i) = s01 + a01*tanh(b01*pla(i,2)) + c01*pla(i,2)
295 sigy2(i) = s02 + a02*tanh(b02*pla(i,2)) + c02*pla(i,2)
297 sigy3(i) = s03 + a03*tanh(b03*pla(i,2)) + c03*pla(i,2)
299 sigy4(i) = s04 + a04*tanh(b04*pla(i,2)) + c04*pla(i,2)
301 sigy5(i) = s05 + a05*tanh(b05*pla(i,2)) + c05*pla(i,2)
303 sigyo(i) = asig + bsig
305 sigys(i) = tau0 + (atau -
min(zero,sigozz(i))*btau)*pla(i,4)
316 signxx(i) = sigoxx(i) + a11*depsxx(i) + a12*depsyy(i)
317 signyy(i) = sigoyy(i) + a21*depsxx(i) + a22*depsyy(i)
318 signxy(i) = sigoxy(i) + depsxy(i)*g12
320 IF (eezz(i) >= zero)
THEN
321 signzz(i) = sigozz(i) + young3*depszz(i)
323 signzz(i) = sigozz(i) + e3c*cc*exp(-cc*eezz(i))*depszz(i)
326 signyz(i) = sigoyz(i) + depsyz(i)*g23
327 signzx(i) = sigozx(i) + depszx(i)*g31
336 IF ((n1(1)*signxx(i)+n1(2)*signyy(i)) > zero) khi1(i) = one
337 IF ((n2(1)*signxx(i)+n2(2)*signyy(i)) > zero) khi2(i) = one
338 IF (n3*signxy(i) > zero)
339 IF ((n4(1)*signxx(i)+n4(2)*signyy(i)) > zero
340 IF ((n5(1)*signxx(i)+n5(2)*signyy(i)) > zero) khi5(i) = one
341 IF (n6*signxy(i) > zero) khi6(i) = one
344 gam1(i) = (n1(1)*signxx(i)+n1(2)*signyy(i))/sigy1(i)
345 gam2(i) = (n2(1)*signxx(i)+n2(2)*signyy(i
346 gam3(i) = n3*signxy(i)/sigy3(i)
347 gam4(i) = (n4(1)*signxx(i)+n4(2)*signyy(i))/sigy4(i)
348 gam5(i) = (n5(1)*signxx(i)+n5(2)*signyy(i))/sigy5(i)
349 gam6(i) = n6*signxy(i)/sigy3(i)
350 phi(i) = khi1(i)*gam1(i)**deuxk + khi2(i)*gam2(i)**deuxk +
351 . khi3(i)*gam3(i)**deuxk + khi4(i)*gam4(i)**deuxk +
355 theta(i) = - signzz(i) - sigyo(i)
358 psi(i) = (sqrt(signyz(i)**2 + signzx(i)**2)/(sigys(i))) - one
372 IF (phi(i) > zero
THEN
377 IF (theta(i) > zero .AND. off(i) == one)
THEN
389 ! - i in-plane plastic correction with nice - explicit 1 method
391#include "vectorize.inc"
411 gam1(i) = (n1(1)*sigoxx(i)+n1(2)*sigoyy(i))/sigy1(i)
412 gam2(i) = (n2(1)*sigoxx(i)+n2(2)*sigoyy(i))/sigy2(i)
413 gam3(i) = n3*sigoxy(i)/sigy3(i)
414 gam4(i) = (n4(1)*sigoxx(i)+n4(2)*sigoyy(i))/sigy4(i)
415 gam5(i) = (n5(1)*sigoxx(i)+n5(2)*sigoyy(i))/sigy5(i)
416 gam6(i) = n6*sigoxy(i)/sigy3(i)
418 . deuxk*khi2(i)*(gam2(i)**(deuxk-1))*(n2(1)/sigy2(i)) +
419 . deuxk*khi4(i)*(gam4(i)**(deuxk-1))*(n4(1)/sigy4(i)) +
420 . deuxk*khi5(i)*(gam5(i)**(deuxk-1))*(n5(1)/sigy5(i))
421 normyy = deuxk*khi1(i)*(gam1(i
422 . deuxk*khi2(i)*(gam2(i)**(deuxk-1))*(n2(2)/sigy2(i)) +
424 . deuxk*khi5(i)*(gam5(i)**(deuxk-1))*(n5(2)/sigy5(i))
425 normxy = deuxk/two*khi3(i)*(gam3(i)**(deuxk-1))*(n3
426 . deuxk/two*khi6(i)*(gam6(i)**(deuxk-1))*(n6/sigy3(i))
430 normsig = sqrt(normxx**2 + normyy**2 + two*normxy**2)
432 normpxx = normxx/normsig
433 normpyy = normyy/normsig
434 normpxy = normxy/normsig
441 dfdsig2 = normxx * (a11*normpxx + a12*normpyy)
442 . + normyy * (a21*normpxx + a22*normpyy)
443 . + two*normxy * two*normpxy * g12
449 dphi_dsigy1 = deuxk*khi1(i)*(gam1(i)**(deuxk-1))*(-(n1(1)*sigoxx(i)+n1(2)*sigoyy(i))/(sigy1(i)**2))
450 dphi_dsigy2 = deuxk*khi2(i)*(gam2(i)**(deuxk-1))*(-(n2(1)*sigoxx(i)+n2(2)*sigoyy(i))/(sigy2(i)**2))
451 dphi_dsigy3 = deuxk*khi3(i)*(gam3(i)**(deuxk-1))*(-n3*sigoxy(i)/(sigy3(i)**2)) +
452 . deuxk*khi6(i)*(gam6(i)**(deuxk
453 dphi_dsigy4 = deuxk*khi4(i)*(gam4(i)**(deuxk-1))*(-(n4(1)*sigoxx(i)+n4(2)*sigoyy(i))/(sigy4(i)**2))
457 dsigy1_dp(i) = a01*b01*(one-(tanh(b01*pla(i,2)))**2) + c01
458 dsigy2_dp(i) = a02*b02*(one-(tanh(b02*pla(i,2)))**2) + c02
459 dsigy3_dp(i) = a03*b03*(one
460 dsigy4_dp(i) = a04*b04*(one-(tanh(b04*pla(i,2)))**2) + c04
461 dsigy5_dp(i) = a05*b05*(one-(tanh(b05*pla(i,2)))**2) + c05
464 hardp(i) = sqrt(khi1(i)*dsigy1_dp(i)**2 + khi2(i)*dsigy2_dp(i)**2 +
465 . khi3(i)*two*dsigy3_dp(i)**2 + khi4(i)*dsigy4_dp(i)**2 +
466 . khi5(i)*dsigy5_dp(i)**2)
467 dphi_dpla = dphi_dsigy1*dsigy1_dp(i) + dphi_dsigy2*dsigy2_dp(i) +
468 . dphi_dsigy3*dsigy3_dp(i) + dphi_dsigy4*dsigy4_dp(i) +
469 . dphi_dsigy5*dsigy5_dp(i)
472 dphi_dlam = -dfdsig2 + dphi_dpla
473 dphi_dlam = sign(
max(abs(dphi_dlam),em20) ,dphi_dlam)
482 dsigxx(i) = a11*depsxx(i) + a12*depsyy(i)
483 dsigyy(i) = a21*depsxx(i) + a22*depsyy(i)
484 dsigxy(i) = depsxy(i)*g12
487 dphi = normxx * dsigxx(i)
488 . + normyy * dsigyy(i)
489 . + two * normxy * dsigxy(i)
492 dlam = -(phi(i) + dphi) / dphi_dlam
493 dlam =
max(dlam, zero)
496 dpxx = dlam * normpxx
497 dpyy = dlam * normpyy
498 dpxy = two * dlam * normpxy
501 signxx(i) = sigoxx(i) + dsigxx(i) - (a11*dpxx + a12*dpyy)
502 signyy(i) = sigoyy(i) + dsigyy(i) - (a21*dpxx + a22*dpyy)
503 signxy(i) = sigoxy(i) + dsigxy(i) - g12*dpxy
507 dpla2(i) =
max(zero, dpla2(i) + ddep)
508 pla(i,2) = pla(i,2) + ddep
513 sigy1(i) = s01 + a01*tanh(b01*pla(i,2)) + c01*pla(i,2)
515 sigy2(i) = s02 + a02*tanh(b02*pla(i,2)) + c02*pla(i,2)
517 sigy3(i) = s03 + a03*tanh(b03*pla(i,2)) + c03*pla(i,2)
519 sigy4(i) = s04 + a04*tanh(b04*pla(i,2)) + c04*pla(i,
521 sigy5(i) = s05 + a05*tanh(b05*pla(i,2)) + c05*pla(i,2)
531 IF ((n1(1)*signxx(i)+n1(2)*signyy(i)) > zero) khi1(i) = one
532 IF ((n2(1)*signxx(i)+n2(2)*signyy(i)) > zero) khi2(i) = one
533 IF (n3*signxy(i) > zero) khi3(i) = one
534 IF ((n4(1)*signxx(i)+n4(2)*signyy(i)) > zero) khi4(i) = one
535 IF ((n5(1)*signxx(i)+n5(2)*signyy(i)) > zero) khi5(i) = one
536 IF (n6*signxy(i) > zero) khi6(i) = one
540 gam1(i) = (n1(1)*signxx(i)+n1(2)*signyy(i))/sigy1(i)
541 gam2(i) = (n2(1)*signxx(i)+n2(2)*signyy(i))/sigy2(i)
542 gam3(i) = n3*signxy(i)/sigy3(i)
543 gam4(i) = (n4(1)*signxx(i)+n4(2)*signyy(i))/sigy4(i)
544 gam5(i) = (n5(1)*signxx(i)+n5(2)*signyy(i))/sigy5(i)
545 gam6(i) = n6*signxy(i)/sigy3(i)
546 phi(i) = khi1(i)*gam1(i)**deuxk + khi2(i)*gam2(i)**deuxk +
547 . khi3(i)*gam3(i)**deuxk + khi4(i)*gam4(i)**deuxk +
548 . khi5(i)*gam5(i)**deuxk + khi6(i)*gam6(i)**deuxk - one
559#include "vectorize.inc"
586 IF (eezz(i) >= zero)
THEN
587 dfdsig2 = normzz * young3 * normzz
589 dfdsig2 = normzz * e3c*cc*exp(-cc*eezz(i)) * normzz
598 IF (itab == 0) dsigyo_dp(i) = csig*bsig*exp(csig*pla(i,3))
600 dtheta_dpla = dtheta_dsigyo*dsigyo_dp(i)
603 dtheta_dlam = -dfdsig2 + dtheta_dpla
604 dtheta_dlam = sign(
max(abs(dtheta_dlam),em20) ,dtheta_dlam)
613 IF (eezz(i) >= zero)
THEN
614 dsigzz(i) = young3*depszz(i)
616 dsigzz(i) = e3c*cc*exp(-cc
620 dtheta = normzz * dsigzz(i)
623 dlam = -(theta(i) + dtheta) / dtheta_dlam
624 dlam =
max(dlam, zero)
627 IF (eezz(i)>=zero)
THEN
628 signzz(i) = sigozz(i) + dsigzz(i) - young3*dlam*normzz
630 signzz(i) = sigozz(i) + dsigzz(i) - e3c*cc*exp(-cc*eezz(i))*dlam*normzz
635 dpla3(i) =
max(zero,dpla3(i) + ddep)
636 pla(i,3) = pla(i,3) + ddep
637 eezz(i) = epszz(i) + pla(i,3)
642 sigyo(i) = asig + bsig*exp(csig*pla(i,3))
644 theta(i) = - signzz(i) - sigyo(i)
655#include "vectorize.inc"
676 normyz = sigoyz(i)/
max((sqrt(sigoyz(i)**2 + sigozx(i)**2)*sigys(i)),em20)
677 normzx = sigozx(i)/
max((sqrt(sigoyz(i)**2 + sigozx(i)**2)*sigys(i)),em20)
684 dfdsig2 = two*normyz * g23 * two*normyz +
685 . two*normzx * g31 * two*normzx
691 dpsi_dsigys = -sqrt(sigoyz(i)**2 + sigozx(i)**2)/(sigys(i)**2)
693 IF (itab == 0) dsigys_dp(i) = atau -
min(zero,sigozz(i))*btau
695 dpsi_dpla = dpsi_dsigys*dsigys_dp(i)
698 dpsi_dlam = -dfdsig2 + dpsi_dpla
699 dpsi_dlam = sign(
max(abs(dpsi_dlam),em20),dpsi_dlam)
708 dsigyz(i) = depsyz(i)*g23
709 dsigzx(i) = depszx(i)*g31
712 dpsi = two*normyz * dsigyz(i)
713 . + two*normzx * dsigzx(i)
716 dlam = -(psi(i) + dpsi) / dpsi_dlam
717 dlam =
max(dlam, zero)
720 dpyz = two*dlam * normyz
721 dpzx = two*dlam * normzx
724 signyz(i) = sigoyz(i) + dsigyz(i) - g23*dpyz
725 signzx(i) = sigozx(i) + dsigzx(i) - g31*dpzx
729 dpla4(i) =
max(zero, dpla4(i) + ddep)
730 pla(i,4) = pla(i,4) + ddep
735 sigys(i) = tau0 + (atau -
min(zero,sigozz(i))*btau
737 psi(i) = (sqrt(signyz(i)**2 + signzx(i)**2)/sigys(i)) - one
749 xvec(1:nel,1) = pla(1:nel,2)
750 xvec(1:nel,2) = epsd(1:nel,2) * xscale1
752 ipos(1:nel,1) = vartmp(1:nel,1)
755 sigy1(1:nel) = sigy1(1:nel) * yscale1
756 dsigy1_dp(1:nel)= dsigy1_dp(1:nel) * yscale1
757 vartmp(1:nel,1) = ipos(1:nel,1)
759 xvec(1:nel,2) = epsd(1:nel,2) * xscale2
760 ipos(1:nel,1) = vartmp(1:nel,2)
763 sigy2(1:nel) = sigy2(1:nel) * yscale2
764 dsigy2_dp(1:nel)= dsigy2_dp(1:nel) * yscale2
765 vartmp(1:nel,2) = ipos(1:nel,1)
767 xvec(1:nel,2) = epsd(1:nel,2) * xscale3
768 ipos(1:nel,1) = vartmp(1:nel,3)
772 dsigy3_dp(1:nel)= dsigy3_dp(1:nel) * yscale3
773 vartmp(1:nel,3) = ipos(1:nel,1)
775 xvec(1:nel,2) = epsd(1:nel,2) * xscale4
776 ipos(1:nel,1) = vartmp(1:nel,4)
779 sigy4(1:nel) = sigy4(1:nel) * yscale4
780 dsigy4_dp(1:nel)= dsigy4_dp(1:nel) * yscale4
781 vartmp(1:nel,4) = ipos(1:nel,1)
783 xvec(1:nel,2) = epsd(1:nel,2) * xscale5
784 ipos(1:nel,1) = vartmp(1:nel,5)
787 sigy5(1:nel) = sigy5(1:nel) * yscale5
788 dsigy5_dp(1:nel)= dsigy5_dp(1:nel) * yscale5
791#include "vectorize.inc"
794 gam1(i) = (n1(1)*signxx(i)+n1(2)*signyy(i))/sigy1(i)
795 gam2(i) = (n2(1)*signxx(i)+n2(2)*signyy(i))/sigy2(i)
796 gam3(i) = n3*signxy(i)/sigy3(i)
797 gam4(i) = (n4(1)*signxx(i)+n4(2)*signyy(i))/sigy4(i)
798 gam5(i) = (n5(1)*signxx(i)+n5(2)*signyy(i))/sigy5(i)
799 gam6(i) = n6*signxy(i)/sigy3(i)
800 phi(i) = khi1(i)*gam1(i)**deuxk + khi2(i)*gam2(i)**deuxk +
801 . khi3(i)*gam3(i)**deuxk + khi4(i)*gam4(i)**deuxk +
802 . khi5(i)*gam5(i)**deuxk + khi6(i)*gam6(i)**deuxk - one
807 xvec(1:nel,1) = pla(1:nel,3)
808 xvec(1:nel,2) = epsd(1:nel,3) * xscalec
810 ipos(1:nel,1) = vartmp(1:nel,6)
813 sigyo(1:nel) = sigyo(1:nel) * yscalec
814 dsigyo_dp(1:nel)= dsigyo_dp(1:nel) * yscalec
815 vartmp(1:nel,6) = ipos(1:nel,1)
817#include "vectorize.inc"
820 theta(i) = - signzz(i) - sigyo(i)
825 xvec(1:nel,1) = pla(1:nel,4)
826 xvec(1:nel,2) = epsd(1:nel,4) * xscales
828 ipos(1:nel,1) = vartmp(1:nel,7)
831 sigys(1:nel) = sigys(1:nel) * yscales
832 dsigys_dp(1:nel)= dsigys_dp(1:nel) * yscales
833 vartmp(1:nel,7) = ipos(1:nel,1)
835#include "vectorize.inc"
838 psi(i) = (sqrt(signyz(i)**2 + signzx(i)**2)/sigys(i)) - one
850 pla(i,1) = sqrt(pla(i,2)**2 + pla(i,3)**2 + pla(i,4)**2)
851 dpla(i) = (pla(i,2)/(
max(sqrt(pla(i,2)**2 + pla(i,3)**2 + pla(i,4)**2),em20)))*dpla2(i) +
852 . (pla(i,3)/(
max(sqrt(pla(i,2)**2 + pla(i,3)**2 + pla(i,4)**2),em20)))*dpla3(i) +
853 . (pla(i,4)/(
max(sqrt(pla(i,2)**2 + pla(i,3)**2 + pla(i,4)**2),em20)))*dpla4(i)
856 epsd(i,1) = dpla(i) /
max(em20,timestep)
857 epsd(i,2) = dpla2(i) /
max(em20,timestep)
858 epsd(i,3) = dpla3(i) /
max(em20,timestep)
859 epsd(i,4) = dpla4(i) /
max(em20,timestep)
861 dpdt = dpla(i)/
max(em20,timestep)
862 epsd(i,1) = asrate * dpdt + (one - asrate) * epsd(i,1)
863 dpdt = dpla2(i)/
max(em20,timestep)
864 epsd(i,2) = asrate * dpdt + (one - asrate) * epsd(i,2)
865 dpdt = dpla3(i)/
max(em20,timestep)
866 epsd(i,3) = asrate * dpdt + (one - asrate) * epsd(i,3)
867 dpdt = dpla4(i)/
max(em20,timestep)
868 epsd(i,4) = asrate * dpdt + (one - asrate) * epsd(i,4)
871 IF (eezz(i) >= zero)
THEN
872 IF (dpla(i) > zero)
THEN
873 et(i) = hardp(i) / (hardp(i) +
max(young1,young2,young3))
877 soundsp(i) = sqrt(
max(a11,a12,a21,a22,young3,g12,g23,g31)/ rho(i))
879 IF (dpla(i) > zero)
THEN
880 et(i) = hardp(i) / (hardp(i) +
max(young1,young2,e3c*cc*exp(-cc*eezz(i))))
884 soundsp(i) = sqrt(
max(a11,a12,a21,a22,e3c*cc*exp(-cc*eezz(i)),g12,g23,g31)/ rho(i))
887 sigy(i) = sqrt(khi1(i)*sigy1(i)**2 + khi2(i)*sigy2(i)**2 + khi4(i)*sigy4(i)**2 +
888 . khi5(i)*sigy5(i)**2 + two*khi3(i)*sigy3(i)**2 + sigyo(i)**2
893#include "vectorize.inc"
900#include "vectorize.inc"
907#include "vectorize.inc"