using only internal schmid and non schmid matrices
This commit is contained in:
parent
6b8ecbe653
commit
d055ef665a
|
@ -524,8 +524,6 @@ pure subroutine plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMstar99,Mstar,ipc,
|
||||||
gdot_twin,dgdot_dtautwin,tau_twin
|
gdot_twin,dgdot_dtautwin,tau_twin
|
||||||
real(pReal), dimension(3,3,3,3) :: &
|
real(pReal), dimension(3,3,3,3) :: &
|
||||||
dLp_dMstar3333 !< derivative of Lp with respect to Mstar as 4th order tensor
|
dLp_dMstar3333 !< derivative of Lp with respect to Mstar as 4th order tensor
|
||||||
real(pReal), dimension(3,3,2) :: &
|
|
||||||
nonSchmid_tensor
|
|
||||||
type(tParameters) :: prm
|
type(tParameters) :: prm
|
||||||
type(tPhenopowerlawState) :: stt
|
type(tPhenopowerlawState) :: stt
|
||||||
|
|
||||||
|
@ -548,19 +546,13 @@ pure subroutine plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMstar99,Mstar,ipc,
|
||||||
j = j+1_pInt
|
j = j+1_pInt
|
||||||
|
|
||||||
! Calculation of Lp
|
! Calculation of Lp
|
||||||
tau_slip_pos = math_mul33xx33(Mstar,prm%Schmid_slip)
|
tau_slip_pos = math_mul33xx33(Mstar,prm%Schmid_slip(1:3,1:3,j))
|
||||||
tau_slip_neg = tau_slip_pos
|
tau_slip_neg = tau_slip_pos
|
||||||
nonSchmid_tensor(1:3,1:3,1) = lattice_Sslip(1:3,1:3,1,index_myFamily+i,ph)
|
|
||||||
nonSchmid_tensor(1:3,1:3,2) = nonSchmid_tensor(1:3,1:3,1)
|
|
||||||
do k = 1,size(prm%nonSchmidCoeff)
|
do k = 1,size(prm%nonSchmidCoeff)
|
||||||
tau_slip_pos = tau_slip_pos &
|
tau_slip_pos = tau_slip_pos &
|
||||||
+ math_mul33xx33(Mstar,prm%nonSchmidCoeff(k)*lattice_Sslip(1:3,1:3,2*k,index_myFamily+i,ph))
|
+ math_mul33xx33(Mstar,prm%nonSchmid_pos(1:3,1:3,k,j))
|
||||||
tau_slip_neg = tau_slip_neg &
|
tau_slip_neg = tau_slip_neg &
|
||||||
+ math_mul33xx33(Mstar,prm%nonSchmidCoeff(k)*lattice_Sslip(1:3,1:3,2*k+1,index_myFamily+i,ph))
|
+ math_mul33xx33(Mstar,prm%nonSchmid_neg(1:3,1:3,k,j))
|
||||||
nonSchmid_tensor(1:3,1:3,1) = nonSchmid_tensor(1:3,1:3,1) + &
|
|
||||||
prm%nonSchmidCoeff(k)*lattice_Sslip(1:3,1:3,2*k,index_myFamily+i,ph)
|
|
||||||
nonSchmid_tensor(1:3,1:3,2) = nonSchmid_tensor(1:3,1:3,2) + &
|
|
||||||
prm%nonSchmidCoeff(k)*lattice_Sslip(1:3,1:3,2*k+1,index_myFamily+i,ph)
|
|
||||||
enddo
|
enddo
|
||||||
gdot_slip_pos = 0.5_pReal*prm%gdot0_slip* &
|
gdot_slip_pos = 0.5_pReal*prm%gdot0_slip* &
|
||||||
((abs(tau_slip_pos)/(stt%s_slip(j,of)))**prm%n_slip)*sign(1.0_pReal,tau_slip_pos)
|
((abs(tau_slip_pos)/(stt%s_slip(j,of)))**prm%n_slip)*sign(1.0_pReal,tau_slip_pos)
|
||||||
|
@ -569,23 +561,23 @@ pure subroutine plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMstar99,Mstar,ipc,
|
||||||
((abs(tau_slip_neg)/(stt%s_slip(j,of)))**prm%n_slip)*sign(1.0_pReal,tau_slip_neg)
|
((abs(tau_slip_neg)/(stt%s_slip(j,of)))**prm%n_slip)*sign(1.0_pReal,tau_slip_neg)
|
||||||
|
|
||||||
Lp = Lp + (1.0_pReal-stt%sumF(of))*&
|
Lp = Lp + (1.0_pReal-stt%sumF(of))*&
|
||||||
(gdot_slip_pos+gdot_slip_neg)*lattice_Sslip(1:3,1:3,1,index_myFamily+i,ph)
|
(gdot_slip_pos+gdot_slip_neg)*prm%Schmid_slip(1:3,1:3,j)
|
||||||
|
|
||||||
! Calculation of the tangent of Lp
|
! Calculation of the tangent of Lp
|
||||||
if (dNeq0(tau_slip_pos)) then
|
if (dNeq0(tau_slip_pos)) then
|
||||||
dgdot_dtauslip_pos = gdot_slip_pos*prm%n_slip/tau_slip_pos
|
dgdot_dtauslip_pos = gdot_slip_pos*prm%n_slip/tau_slip_pos
|
||||||
forall (k=1_pInt:3_pInt,l=1_pInt:3_pInt,m=1_pInt:3_pInt,n=1_pInt:3_pInt) &
|
forall (k=1_pInt:3_pInt,l=1_pInt:3_pInt,m=1_pInt:3_pInt,n=1_pInt:3_pInt) &
|
||||||
dLp_dMstar3333(k,l,m,n) = dLp_dMstar3333(k,l,m,n) + &
|
dLp_dMstar3333(k,l,m,n) = dLp_dMstar3333(k,l,m,n) &
|
||||||
dgdot_dtauslip_pos*lattice_Sslip(k,l,1,index_myFamily+i,ph)* &
|
+ dgdot_dtauslip_pos*prm%Schmid_slip(k,l,j) &
|
||||||
nonSchmid_tensor(m,n,1)
|
*(prm%Schmid_slip(m,n,j) + sum(prm%nonSchmid_pos(m,n,:,j)))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if (dNeq0(tau_slip_neg)) then
|
if (dNeq0(tau_slip_neg)) then
|
||||||
dgdot_dtauslip_neg = gdot_slip_neg*prm%n_slip/tau_slip_neg
|
dgdot_dtauslip_neg = gdot_slip_neg*prm%n_slip/tau_slip_neg
|
||||||
forall (k=1_pInt:3_pInt,l=1_pInt:3_pInt,m=1_pInt:3_pInt,n=1_pInt:3_pInt) &
|
forall (k=1_pInt:3_pInt,l=1_pInt:3_pInt,m=1_pInt:3_pInt,n=1_pInt:3_pInt) &
|
||||||
dLp_dMstar3333(k,l,m,n) = dLp_dMstar3333(k,l,m,n) + &
|
dLp_dMstar3333(k,l,m,n) = dLp_dMstar3333(k,l,m,n) &
|
||||||
dgdot_dtauslip_neg*lattice_Sslip(k,l,1,index_myFamily+i,ph)* &
|
+ dgdot_dtauslip_neg*prm%Schmid_slip(k,l,j) &
|
||||||
nonSchmid_tensor(m,n,2)
|
*(prm%Schmid_slip(m,n,j) + sum(prm%nonSchmid_neg(m,n,:,j)))
|
||||||
endif
|
endif
|
||||||
enddo slipSystems
|
enddo slipSystems
|
||||||
enddo slipFamilies
|
enddo slipFamilies
|
||||||
|
|
Loading…
Reference in New Issue