using the same kinetics for slip everywhere
This commit is contained in:
parent
12d053d123
commit
edb94b8bc9
|
@ -1269,20 +1269,11 @@ subroutine plastic_dislotwin_dotState(Mp,Temperature,instance,of)
|
||||||
- sum(stt%stressTransFraction(1_pInt:prm%totalNtrans,of)) &
|
- sum(stt%stressTransFraction(1_pInt:prm%totalNtrans,of)) &
|
||||||
- sum(stt%strainTransFraction(1_pInt:prm%totalNtrans,of))
|
- sum(stt%strainTransFraction(1_pInt:prm%totalNtrans,of))
|
||||||
|
|
||||||
slipState: do i = 1_pInt, prm%totalNslip
|
slipState1: do i = 1_pInt, prm%totalNslip
|
||||||
|
|
||||||
tau = math_mul33xx33(Mp,prm%Schmid_slip(1:3,1:3,i))
|
tau = math_mul33xx33(Mp,prm%Schmid_slip(1:3,1:3,i))
|
||||||
|
enddo slipState1
|
||||||
significantSlipStress1: if((abs(tau)-mse%threshold_stress_slip(i,of)) > tol_math_check) then
|
call kinetics_slip(prm,stt,mse,of,Mp,temperature,gdot_slip)
|
||||||
stressRatio =((abs(tau)- mse%threshold_stress_slip(i,of))/&
|
slipState2: do i = 1_pInt, prm%totalNslip
|
||||||
(prm%SolidSolutionStrength+prm%tau_peierls(i)))
|
|
||||||
StressRatio_p = stressRatio** prm%p(i)
|
|
||||||
BoltzmannRatio = prm%Qedge(i)/(kB*Temperature)
|
|
||||||
gdot_slip(i) = stt%rhoEdge(i,of)*prm%burgers_slip(i)*prm%v0(i) &
|
|
||||||
* sign(exp(-BoltzmannRatio*(1_pInt-StressRatio_p)**prm%q(i)),tau)
|
|
||||||
else significantSlipStress1
|
|
||||||
gdot_slip(i) = 0.0_pReal
|
|
||||||
endif significantSlipStress1
|
|
||||||
|
|
||||||
DotRhoMultiplication = abs(gdot_slip(i))/(prm%burgers_slip(i)*mse%mfp_slip(i,of))
|
DotRhoMultiplication = abs(gdot_slip(i))/(prm%burgers_slip(i)*mse%mfp_slip(i,of))
|
||||||
EdgeDipMinDistance = prm%CEdgeDipMinDistance*prm%burgers_slip(i)
|
EdgeDipMinDistance = prm%CEdgeDipMinDistance*prm%burgers_slip(i)
|
||||||
|
@ -1324,7 +1315,7 @@ subroutine plastic_dislotwin_dotState(Mp,Temperature,instance,of)
|
||||||
dot%rhoEdge(i,of) = DotRhoMultiplication-DotRhoDipFormation-DotRhoEdgeEdgeAnnihilation
|
dot%rhoEdge(i,of) = DotRhoMultiplication-DotRhoDipFormation-DotRhoEdgeEdgeAnnihilation
|
||||||
dot%rhoEdgeDip(i,of) = DotRhoDipFormation-DotRhoEdgeDipAnnihilation-DotRhoEdgeDipClimb
|
dot%rhoEdgeDip(i,of) = DotRhoDipFormation-DotRhoEdgeDipAnnihilation-DotRhoEdgeDipClimb
|
||||||
dot%accshear_slip(i,of) = abs(gdot_slip(i))
|
dot%accshear_slip(i,of) = abs(gdot_slip(i))
|
||||||
enddo slipState
|
enddo slipState2
|
||||||
|
|
||||||
twinState: do i = 1_pInt, prm%totalNtwin
|
twinState: do i = 1_pInt, prm%totalNtwin
|
||||||
|
|
||||||
|
@ -1649,7 +1640,7 @@ function plastic_dislotwin_postResults(Mp,Temperature,instance,of) result(postRe
|
||||||
s1,s2
|
s1,s2
|
||||||
real(pReal) :: sumf_twin,tau,StressRatio_p,StressRatio_pminus1,BoltzmannRatio,DotGamma0,StressRatio_r,Ndot0_twin,dgdot_dtauslip, &
|
real(pReal) :: sumf_twin,tau,StressRatio_p,StressRatio_pminus1,BoltzmannRatio,DotGamma0,StressRatio_r,Ndot0_twin,dgdot_dtauslip, &
|
||||||
stressRatio
|
stressRatio
|
||||||
real(preal), dimension(param(instance)%totalNslip) :: &
|
real(pReal), dimension(param(instance)%totalNslip) :: &
|
||||||
gdot_slip
|
gdot_slip
|
||||||
|
|
||||||
type(tParameters) :: prm
|
type(tParameters) :: prm
|
||||||
|
@ -1673,24 +1664,7 @@ function plastic_dislotwin_postResults(Mp,Temperature,instance,of) result(postRe
|
||||||
postResults(c+1_pInt:c+prm%totalNslip) = stt%rhoEdgeDip(1_pInt:prm%totalNslip,of)
|
postResults(c+1_pInt:c+prm%totalNslip) = stt%rhoEdgeDip(1_pInt:prm%totalNslip,of)
|
||||||
c = c + prm%totalNslip
|
c = c + prm%totalNslip
|
||||||
case (shear_rate_slip_ID)
|
case (shear_rate_slip_ID)
|
||||||
do j = 1_pInt, prm%totalNslip
|
call kinetics_slip(prm,stt,mse,of,Mp,temperature,postResults(c+1:c+prm%totalNslip))
|
||||||
tau = math_mul33xx33(Mp,prm%Schmid_slip(1:3,1:3,j))
|
|
||||||
if((abs(tau)-mse%threshold_stress_slip(j,of)) > tol_math_check) then
|
|
||||||
stressRatio = ((abs(tau)-mse%threshold_stress_slip(j,of))/&
|
|
||||||
(prm%SolidSolutionStrength+&
|
|
||||||
prm%tau_peierls(j)))
|
|
||||||
StressRatio_p = stressRatio** prm%p(j)
|
|
||||||
StressRatio_pminus1 = stressRatio**(prm%p(j)-1.0_pReal)
|
|
||||||
BoltzmannRatio = prm%Qedge(j)/(kB*Temperature)
|
|
||||||
|
|
||||||
DotGamma0 = stt%rhoEdge(j,of)*prm%burgers_slip(j)* prm%v0(j)
|
|
||||||
|
|
||||||
postResults(c+j) = DotGamma0*exp(-BoltzmannRatio*(1_pInt-StressRatio_p)**&
|
|
||||||
prm%q(j))*sign(1.0_pReal,tau)
|
|
||||||
else
|
|
||||||
postResults(c+j) = 0.0_pReal
|
|
||||||
endif
|
|
||||||
enddo
|
|
||||||
c = c + prm%totalNslip
|
c = c + prm%totalNslip
|
||||||
case (accumulated_shear_slip_ID)
|
case (accumulated_shear_slip_ID)
|
||||||
postResults(c+1_pInt:c+prm%totalNslip) = stt%accshear_slip(1_pInt:prm%totalNslip,of)
|
postResults(c+1_pInt:c+prm%totalNslip) = stt%accshear_slip(1_pInt:prm%totalNslip,of)
|
||||||
|
|
Loading…
Reference in New Issue