shorter notation
This commit is contained in:
parent
c0663b9fba
commit
9aec5f6db0
|
@ -559,33 +559,33 @@ plastic_disloUCLA_Noutput(phase_plasticityInstance(p)) = plastic_disloUCLA_Noutp
|
||||||
|
|
||||||
startIndex=1_pInt
|
startIndex=1_pInt
|
||||||
endIndex=ns
|
endIndex=ns
|
||||||
state(instance)%rhoEdge=>plasticState(phase)%state(startIndex:endIndex,:)
|
stt%rhoEdge=>plasticState(phase)%state(startIndex:endIndex,:)
|
||||||
dotState(instance)%rhoEdge=>plasticState(phase)%dotState(startIndex:endIndex,:)
|
dotState(instance)%rhoEdge=>plasticState(phase)%dotState(startIndex:endIndex,:)
|
||||||
plasticState(p)%aTolState(startIndex:endIndex) = prm%aTolRho
|
plasticState(p)%aTolState(startIndex:endIndex) = prm%aTolRho
|
||||||
|
|
||||||
startIndex=endIndex+1_pInt
|
startIndex=endIndex+1_pInt
|
||||||
endIndex=endIndex+ns
|
endIndex=endIndex+ns
|
||||||
state(instance)%rhoEdgeDip=>plasticState(phase)%state(startIndex:endIndex,:)
|
stt%rhoEdgeDip=>plasticState(phase)%state(startIndex:endIndex,:)
|
||||||
dotState(instance)%rhoEdgeDip=>plasticState(phase)%dotState(startIndex:endIndex,:)
|
dotState(instance)%rhoEdgeDip=>plasticState(phase)%dotState(startIndex:endIndex,:)
|
||||||
plasticState(p)%aTolState(startIndex:endIndex) = prm%aTolRho
|
plasticState(p)%aTolState(startIndex:endIndex) = prm%aTolRho
|
||||||
|
|
||||||
startIndex=endIndex+1_pInt
|
startIndex=endIndex+1_pInt
|
||||||
endIndex=endIndex+ns
|
endIndex=endIndex+ns
|
||||||
state(instance)%accshear_slip=>plasticState(phase)%state(startIndex:endIndex,:)
|
stt%accshear_slip=>plasticState(phase)%state(startIndex:endIndex,:)
|
||||||
dotState(instance)%accshear_slip=>plasticState(phase)%dotState(startIndex:endIndex,:)
|
dotState(instance)%accshear_slip=>plasticState(phase)%dotState(startIndex:endIndex,:)
|
||||||
plasticState(p)%aTolState(startIndex:endIndex) = 1e6_pReal
|
plasticState(p)%aTolState(startIndex:endIndex) = 1e6_pReal
|
||||||
|
|
||||||
startIndex=endIndex+1_pInt
|
startIndex=endIndex+1_pInt
|
||||||
endIndex=endIndex+ns
|
endIndex=endIndex+ns
|
||||||
state(instance)%invLambdaSlip=>plasticState(phase)%state(startIndex:endIndex,:)
|
stt%invLambdaSlip=>plasticState(phase)%state(startIndex:endIndex,:)
|
||||||
|
|
||||||
startIndex=endIndex+1_pInt
|
startIndex=endIndex+1_pInt
|
||||||
endIndex=endIndex+ns
|
endIndex=endIndex+ns
|
||||||
state(instance)%mfp_slip=>plasticState(phase)%state(startIndex:endIndex,:)
|
stt%mfp_slip=>plasticState(phase)%state(startIndex:endIndex,:)
|
||||||
|
|
||||||
startIndex=endIndex+1_pInt
|
startIndex=endIndex+1_pInt
|
||||||
endIndex=endIndex+ns
|
endIndex=endIndex+ns
|
||||||
state(instance)%threshold_stress_slip=>plasticState(phase)%state(startIndex:endIndex,:)
|
stt%threshold_stress_slip=>plasticState(phase)%state(startIndex:endIndex,:)
|
||||||
|
|
||||||
call plastic_disloUCLA_stateInit(phase,instance)
|
call plastic_disloUCLA_stateInit(phase,instance)
|
||||||
|
|
||||||
|
@ -625,7 +625,7 @@ subroutine plastic_disloUCLA_stateInit(ph,instance)
|
||||||
tauSlipThreshold0
|
tauSlipThreshold0
|
||||||
tempState = 0.0_pReal
|
tempState = 0.0_pReal
|
||||||
ns = plastic_disloUCLA_totalNslip(instance)
|
ns = plastic_disloUCLA_totalNslip(instance)
|
||||||
associate(prm => param(instance), stt => state(instance))
|
associate(prm => param(instance))
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! initialize basic slip state variables
|
! initialize basic slip state variables
|
||||||
do f = 1_pInt,lattice_maxNslipFamily
|
do f = 1_pInt,lattice_maxNslipFamily
|
||||||
|
@ -699,23 +699,23 @@ subroutine plastic_disloUCLA_microstructure(temperature,ipc,ip,el)
|
||||||
associate(prm => param(instance), stt => state(instance))
|
associate(prm => param(instance), stt => state(instance))
|
||||||
!* 1/mean free distance between 2 forest dislocations seen by a moving dislocation
|
!* 1/mean free distance between 2 forest dislocations seen by a moving dislocation
|
||||||
forall (s = 1_pInt:ns) &
|
forall (s = 1_pInt:ns) &
|
||||||
state(instance)%invLambdaSlip(s,of) = &
|
stt%invLambdaSlip(s,of) = &
|
||||||
sqrt(dot_product((state(instance)%rhoEdge(1_pInt:ns,of)+state(instance)%rhoEdgeDip(1_pInt:ns,of)),&
|
sqrt(dot_product((stt%rhoEdge(1_pInt:ns,of)+stt%rhoEdgeDip(1_pInt:ns,of)),&
|
||||||
plastic_disloUCLA_forestProjectionEdge(1:ns,s,instance)))/ &
|
plastic_disloUCLA_forestProjectionEdge(1:ns,s,instance)))/ &
|
||||||
plastic_disloUCLA_CLambdaSlipPerSlipSystem(s,instance)
|
plastic_disloUCLA_CLambdaSlipPerSlipSystem(s,instance)
|
||||||
|
|
||||||
!* mean free path between 2 obstacles seen by a moving dislocation
|
!* mean free path between 2 obstacles seen by a moving dislocation
|
||||||
do s = 1_pInt,ns
|
do s = 1_pInt,ns
|
||||||
state(instance)%mfp_slip(s,of) = &
|
stt%mfp_slip(s,of) = &
|
||||||
plastic_disloUCLA_GrainSize(instance)/&
|
plastic_disloUCLA_GrainSize(instance)/&
|
||||||
(1.0_pReal+plastic_disloUCLA_GrainSize(instance)*(state(instance)%invLambdaSlip(s,of)))
|
(1.0_pReal+plastic_disloUCLA_GrainSize(instance)*(stt%invLambdaSlip(s,of)))
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
!* threshold stress for dislocation motion
|
!* threshold stress for dislocation motion
|
||||||
forall (s = 1_pInt:ns) &
|
forall (s = 1_pInt:ns) &
|
||||||
state(instance)%threshold_stress_slip(s,of) = &
|
stt%threshold_stress_slip(s,of) = &
|
||||||
lattice_mu(ph)*prm%burgers(s)*&
|
lattice_mu(ph)*prm%burgers(s)*&
|
||||||
sqrt(dot_product((state(instance)%rhoEdge(1_pInt:ns,of)+state(instance)%rhoEdgeDip(1_pInt:ns,of)),&
|
sqrt(dot_product((stt%rhoEdge(1_pInt:ns,of)+stt%rhoEdgeDip(1_pInt:ns,of)),&
|
||||||
plastic_disloUCLA_interactionMatrix_SlipSlip(s,1:ns,instance)))
|
plastic_disloUCLA_interactionMatrix_SlipSlip(s,1:ns,instance)))
|
||||||
end associate
|
end associate
|
||||||
end subroutine plastic_disloUCLA_microstructure
|
end subroutine plastic_disloUCLA_microstructure
|
||||||
|
@ -746,7 +746,7 @@ subroutine plastic_disloUCLA_LpAndItsTangent(Lp,dLp_dMp,Mp,Temperature,ipc,ip,el
|
||||||
of = phasememberAt(ipc,ip,el)
|
of = phasememberAt(ipc,ip,el)
|
||||||
ph = phaseAt(ipc,ip,el)
|
ph = phaseAt(ipc,ip,el)
|
||||||
instance = phase_plasticityInstance(ph)
|
instance = phase_plasticityInstance(ph)
|
||||||
associate(prm => param(instance), stt => state(instance))
|
associate(prm => param(instance))
|
||||||
|
|
||||||
Lp = 0.0_pReal
|
Lp = 0.0_pReal
|
||||||
dLp_dMp = 0.0_pReal
|
dLp_dMp = 0.0_pReal
|
||||||
|
@ -839,7 +839,7 @@ subroutine plastic_disloUCLA_dotState(Mp,Temperature,ipc,ip,el)
|
||||||
!* Multiplication
|
!* Multiplication
|
||||||
DotRhoMultiplication = abs(dotState(instance)%accshear_slip(j,of))/&
|
DotRhoMultiplication = abs(dotState(instance)%accshear_slip(j,of))/&
|
||||||
(prm%burgers(j)* &
|
(prm%burgers(j)* &
|
||||||
state(instance)%mfp_slip(j,of))
|
stt%mfp_slip(j,of))
|
||||||
|
|
||||||
!* Dipole formation
|
!* Dipole formation
|
||||||
EdgeDipMinDistance = &
|
EdgeDipMinDistance = &
|
||||||
|
@ -850,22 +850,22 @@ subroutine plastic_disloUCLA_dotState(Mp,Temperature,ipc,ip,el)
|
||||||
EdgeDipDistance = &
|
EdgeDipDistance = &
|
||||||
(3.0_pReal*lattice_mu(ph)*prm%burgers(j))/&
|
(3.0_pReal*lattice_mu(ph)*prm%burgers(j))/&
|
||||||
(16.0_pReal*pi*abs(tau_slip_pos(j)))
|
(16.0_pReal*pi*abs(tau_slip_pos(j)))
|
||||||
if (EdgeDipDistance>state(instance)%mfp_slip(j,of)) EdgeDipDistance=state(instance)%mfp_slip(j,of)
|
if (EdgeDipDistance>stt%mfp_slip(j,of)) EdgeDipDistance=stt%mfp_slip(j,of)
|
||||||
if (EdgeDipDistance<EdgeDipMinDistance) EdgeDipDistance=EdgeDipMinDistance
|
if (EdgeDipDistance<EdgeDipMinDistance) EdgeDipDistance=EdgeDipMinDistance
|
||||||
DotRhoDipFormation = &
|
DotRhoDipFormation = &
|
||||||
((2.0_pReal*EdgeDipDistance)/prm%burgers(j))*&
|
((2.0_pReal*EdgeDipDistance)/prm%burgers(j))*&
|
||||||
state(instance)%rhoEdge(j,of)*abs(dotState(instance)%accshear_slip(j,of))*plastic_disloUCLA_dipoleFormationFactor(instance)
|
stt%rhoEdge(j,of)*abs(dotState(instance)%accshear_slip(j,of))*plastic_disloUCLA_dipoleFormationFactor(instance)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
!* Spontaneous annihilation of 2 single edge dislocations
|
!* Spontaneous annihilation of 2 single edge dislocations
|
||||||
DotRhoEdgeEdgeAnnihilation = &
|
DotRhoEdgeEdgeAnnihilation = &
|
||||||
((2.0_pReal*EdgeDipMinDistance)/prm%burgers(j))*&
|
((2.0_pReal*EdgeDipMinDistance)/prm%burgers(j))*&
|
||||||
state(instance)%rhoEdge(j,of)*abs(dotState(instance)%accshear_slip(j,of))
|
stt%rhoEdge(j,of)*abs(dotState(instance)%accshear_slip(j,of))
|
||||||
|
|
||||||
!* Spontaneous annihilation of a single edge dislocation with a dipole constituent
|
!* Spontaneous annihilation of a single edge dislocation with a dipole constituent
|
||||||
DotRhoEdgeDipAnnihilation = &
|
DotRhoEdgeDipAnnihilation = &
|
||||||
((2.0_pReal*EdgeDipMinDistance)/prm%burgers(j))*&
|
((2.0_pReal*EdgeDipMinDistance)/prm%burgers(j))*&
|
||||||
state(instance)%rhoEdgeDip(j,of)*abs(dotState(instance)%accshear_slip(j,of))
|
stt%rhoEdgeDip(j,of)*abs(dotState(instance)%accshear_slip(j,of))
|
||||||
|
|
||||||
!* Dislocation dipole climb
|
!* Dislocation dipole climb
|
||||||
AtomicVolume = &
|
AtomicVolume = &
|
||||||
|
@ -879,7 +879,7 @@ subroutine plastic_disloUCLA_dotState(Mp,Temperature,ipc,ip,el)
|
||||||
((3.0_pReal*lattice_mu(ph)*VacancyDiffusion*AtomicVolume)/(2.0_pReal*pi*kB*Temperature))*&
|
((3.0_pReal*lattice_mu(ph)*VacancyDiffusion*AtomicVolume)/(2.0_pReal*pi*kB*Temperature))*&
|
||||||
(1/(EdgeDipDistance+EdgeDipMinDistance))
|
(1/(EdgeDipDistance+EdgeDipMinDistance))
|
||||||
DotRhoEdgeDipClimb = &
|
DotRhoEdgeDipClimb = &
|
||||||
(4.0_pReal*ClimbVelocity*state(instance)%rhoEdgeDip(j,of))/(EdgeDipDistance-EdgeDipMinDistance)
|
(4.0_pReal*ClimbVelocity*stt%rhoEdgeDip(j,of))/(EdgeDipDistance-EdgeDipMinDistance)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
!* Edge dislocation density rate of change
|
!* Edge dislocation density rate of change
|
||||||
|
@ -950,15 +950,15 @@ math_mul33xx33
|
||||||
!* Required output
|
!* Required output
|
||||||
c = 0_pInt
|
c = 0_pInt
|
||||||
postResults = 0.0_pReal
|
postResults = 0.0_pReal
|
||||||
associate (prm => param(instance))
|
associate (prm => param(instance),stt =>state(instance))
|
||||||
do o = 1_pInt,plastic_disloUCLA_Noutput(instance)
|
do o = 1_pInt,plastic_disloUCLA_Noutput(instance)
|
||||||
select case(plastic_disloUCLA_outputID(o,instance))
|
select case(plastic_disloUCLA_outputID(o,instance))
|
||||||
|
|
||||||
case (rho_ID)
|
case (rho_ID)
|
||||||
postResults(c+1_pInt:c+ns) = state(instance)%rhoEdge(1_pInt:ns,of)
|
postResults(c+1_pInt:c+ns) = stt%rhoEdge(1_pInt:ns,of)
|
||||||
c = c + ns
|
c = c + ns
|
||||||
case (rhoDip_ID)
|
case (rhoDip_ID)
|
||||||
postResults(c+1_pInt:c+ns) = state(instance)%rhoEdgeDip(1_pInt:ns,of)
|
postResults(c+1_pInt:c+ns) = stt%rhoEdgeDip(1_pInt:ns,of)
|
||||||
c = c + ns
|
c = c + ns
|
||||||
case (shearrate_ID,stressexponent_ID)
|
case (shearrate_ID,stressexponent_ID)
|
||||||
call kinetics(Mp,Temperature,ph,instance,of, &
|
call kinetics(Mp,Temperature,ph,instance,of, &
|
||||||
|
@ -982,11 +982,11 @@ math_mul33xx33
|
||||||
|
|
||||||
case (accumulatedshear_ID)
|
case (accumulatedshear_ID)
|
||||||
postResults(c+1_pInt:c+ns) = &
|
postResults(c+1_pInt:c+ns) = &
|
||||||
state(instance)%accshear_slip(1_pInt:ns, of)
|
stt%accshear_slip(1_pInt:ns, of)
|
||||||
c = c + ns
|
c = c + ns
|
||||||
case (mfp_ID)
|
case (mfp_ID)
|
||||||
postResults(c+1_pInt:c+ns) =&
|
postResults(c+1_pInt:c+ns) =&
|
||||||
state(instance)%mfp_slip(1_pInt:ns, of)
|
stt%mfp_slip(1_pInt:ns, of)
|
||||||
c = c + ns
|
c = c + ns
|
||||||
case (resolvedstress_ID)
|
case (resolvedstress_ID)
|
||||||
j = 0_pInt
|
j = 0_pInt
|
||||||
|
@ -1000,7 +1000,7 @@ math_mul33xx33
|
||||||
c = c + ns
|
c = c + ns
|
||||||
case (thresholdstress_ID)
|
case (thresholdstress_ID)
|
||||||
postResults(c+1_pInt:c+ns) = &
|
postResults(c+1_pInt:c+ns) = &
|
||||||
state(instance)%threshold_stress_slip(1_pInt:ns,of)
|
stt%threshold_stress_slip(1_pInt:ns,of)
|
||||||
c = c + ns
|
c = c + ns
|
||||||
case (dipoleDistance_ID)
|
case (dipoleDistance_ID)
|
||||||
j = 0_pInt
|
j = 0_pInt
|
||||||
|
@ -1016,7 +1016,7 @@ math_mul33xx33
|
||||||
postResults(c+j) = huge(1.0_pReal)
|
postResults(c+j) = huge(1.0_pReal)
|
||||||
endif
|
endif
|
||||||
postResults(c+j)=min(postResults(c+j),&
|
postResults(c+j)=min(postResults(c+j),&
|
||||||
state(instance)%mfp_slip(j,of))
|
stt%mfp_slip(j,of))
|
||||||
enddo slipSystems2; enddo slipFamilies2
|
enddo slipSystems2; enddo slipFamilies2
|
||||||
c = c + ns
|
c = c + ns
|
||||||
end select
|
end select
|
||||||
|
@ -1081,15 +1081,15 @@ ph, instance,of
|
||||||
BoltzmannRatio = prm%H0kp(j)/(kB*Temperature)
|
BoltzmannRatio = prm%H0kp(j)/(kB*Temperature)
|
||||||
!* Initial shear rates
|
!* Initial shear rates
|
||||||
DotGamma0 = &
|
DotGamma0 = &
|
||||||
state(instance)%rhoEdge(j,of)*prm%burgers(j)*&
|
stt%rhoEdge(j,of)*prm%burgers(j)*&
|
||||||
plastic_disloUCLA_v0PerSlipSystem(j,instance)
|
plastic_disloUCLA_v0PerSlipSystem(j,instance)
|
||||||
!* Resolved shear stress on slip system
|
!* Resolved shear stress on slip system
|
||||||
tau_slip_pos(j) = math_mul33xx33(Mp,prm%nonSchmid_pos(1:3,1:3,j))
|
tau_slip_pos(j) = math_mul33xx33(Mp,prm%nonSchmid_pos(1:3,1:3,j))
|
||||||
tau_slip_neg(j) = math_mul33xx33(Mp,prm%nonSchmid_neg(1:3,1:3,j))
|
tau_slip_neg(j) = math_mul33xx33(Mp,prm%nonSchmid_neg(1:3,1:3,j))
|
||||||
|
|
||||||
significantPositiveTau: if((abs(tau_slip_pos(j))-state(instance)%threshold_stress_slip(j, of)) > tol_math_check) then
|
significantPositiveTau: if((abs(tau_slip_pos(j))-stt%threshold_stress_slip(j, of)) > tol_math_check) then
|
||||||
!* Stress ratio
|
!* Stress ratio
|
||||||
stressRatio = ((abs(tau_slip_pos(j))-state(instance)%threshold_stress_slip(j, of))/&
|
stressRatio = ((abs(tau_slip_pos(j))-stt%threshold_stress_slip(j, of))/&
|
||||||
(plastic_disloUCLA_SolidSolutionStrength(instance)+&
|
(plastic_disloUCLA_SolidSolutionStrength(instance)+&
|
||||||
plastic_disloUCLA_tau_peierlsPerSlipFamily(f,instance)))
|
plastic_disloUCLA_tau_peierlsPerSlipFamily(f,instance)))
|
||||||
stressRatio_p = stressRatio** prm%p(j)
|
stressRatio_p = stressRatio** prm%p(j)
|
||||||
|
@ -1097,13 +1097,13 @@ ph, instance,of
|
||||||
!* Shear rates due to slip
|
!* Shear rates due to slip
|
||||||
vel_slip = 2.0_pReal*prm%burgers(j) &
|
vel_slip = 2.0_pReal*prm%burgers(j) &
|
||||||
* prm%kink_height(j) * prm%omega(j) &
|
* prm%kink_height(j) * prm%omega(j) &
|
||||||
* ( state(instance)%mfp_slip(j,of) - prm%kink_width(j) ) &
|
* ( stt%mfp_slip(j,of) - prm%kink_width(j) ) &
|
||||||
* (tau_slip_pos(j) &
|
* (tau_slip_pos(j) &
|
||||||
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) ) &
|
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) ) &
|
||||||
/ ( &
|
/ ( &
|
||||||
2.0_pReal*(prm%burgers(j)**2.0_pReal)*tau_slip_pos(j) &
|
2.0_pReal*(prm%burgers(j)**2.0_pReal)*tau_slip_pos(j) &
|
||||||
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
||||||
*(( state(instance)%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
*(( stt%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
||||||
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1115,7 +1115,7 @@ ph, instance,of
|
||||||
dvel_slip = &
|
dvel_slip = &
|
||||||
2.0_pReal*prm%burgers(j) &
|
2.0_pReal*prm%burgers(j) &
|
||||||
* prm%kink_height(j) * prm%omega(j) &
|
* prm%kink_height(j) * prm%omega(j) &
|
||||||
* ( state(instance)%mfp_slip(j,of) - prm%kink_width(j) ) &
|
* ( stt%mfp_slip(j,of) - prm%kink_width(j) ) &
|
||||||
* ( &
|
* ( &
|
||||||
(exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
(exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
||||||
+ tau_slip_pos(j) &
|
+ tau_slip_pos(j) &
|
||||||
|
@ -1127,14 +1127,14 @@ ph, instance,of
|
||||||
) &
|
) &
|
||||||
* (2.0_pReal*(prm%burgers(j)**2.0_pReal)*tau_slip_pos(j) &
|
* (2.0_pReal*(prm%burgers(j)**2.0_pReal)*tau_slip_pos(j) &
|
||||||
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
||||||
*(( state(instance)%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
*(( stt%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
||||||
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
||||||
) &
|
) &
|
||||||
- (tau_slip_pos(j) &
|
- (tau_slip_pos(j) &
|
||||||
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) ) &
|
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) ) &
|
||||||
* (2.0_pReal*(prm%burgers(j)**2.0_pReal) &
|
* (2.0_pReal*(prm%burgers(j)**2.0_pReal) &
|
||||||
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
||||||
*(( state(instance)%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
*(( stt%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
||||||
* (abs(exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)))& !deltaf(i)
|
* (abs(exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)))& !deltaf(i)
|
||||||
*BoltzmannRatio*prm%p(j)&
|
*BoltzmannRatio*prm%p(j)&
|
||||||
*prm%q(j)/&
|
*prm%q(j)/&
|
||||||
|
@ -1146,7 +1146,7 @@ ph, instance,of
|
||||||
( &
|
( &
|
||||||
2.0_pReal*(prm%burgers(j)**2.0_pReal)*tau_slip_pos(j) &
|
2.0_pReal*(prm%burgers(j)**2.0_pReal)*tau_slip_pos(j) &
|
||||||
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
||||||
*(( state(instance)%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
*(( stt%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
||||||
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
||||||
)**2.0_pReal &
|
)**2.0_pReal &
|
||||||
)
|
)
|
||||||
|
@ -1154,9 +1154,9 @@ ph, instance,of
|
||||||
dgdot_dtauslip_pos(j) = DotGamma0 * dvel_slip
|
dgdot_dtauslip_pos(j) = DotGamma0 * dvel_slip
|
||||||
|
|
||||||
endif significantPositiveTau
|
endif significantPositiveTau
|
||||||
significantNegativeTau: if((abs(tau_slip_neg(j))-state(instance)%threshold_stress_slip(j, of)) > tol_math_check) then
|
significantNegativeTau: if((abs(tau_slip_neg(j))-stt%threshold_stress_slip(j, of)) > tol_math_check) then
|
||||||
!* Stress ratios
|
!* Stress ratios
|
||||||
stressRatio = ((abs(tau_slip_neg(j))-state(instance)%threshold_stress_slip(j, of))/&
|
stressRatio = ((abs(tau_slip_neg(j))-stt%threshold_stress_slip(j, of))/&
|
||||||
(plastic_disloUCLA_SolidSolutionStrength(instance)+&
|
(plastic_disloUCLA_SolidSolutionStrength(instance)+&
|
||||||
plastic_disloUCLA_tau_peierlsPerSlipFamily(f,instance)))
|
plastic_disloUCLA_tau_peierlsPerSlipFamily(f,instance)))
|
||||||
stressRatio_p = stressRatio** prm%p(j)
|
stressRatio_p = stressRatio** prm%p(j)
|
||||||
|
@ -1164,13 +1164,13 @@ ph, instance,of
|
||||||
!* Shear rates due to slip
|
!* Shear rates due to slip
|
||||||
vel_slip = 2.0_pReal*prm%burgers(j) &
|
vel_slip = 2.0_pReal*prm%burgers(j) &
|
||||||
* prm%kink_height(j) * prm%omega(j) &
|
* prm%kink_height(j) * prm%omega(j) &
|
||||||
* ( state(instance)%mfp_slip(j,of) - prm%kink_width(j) ) &
|
* ( stt%mfp_slip(j,of) - prm%kink_width(j) ) &
|
||||||
* (tau_slip_neg(j) &
|
* (tau_slip_neg(j) &
|
||||||
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) ) &
|
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) ) &
|
||||||
/ ( &
|
/ ( &
|
||||||
2.0_pReal*(prm%burgers(j)**2.0_pReal)*tau_slip_neg(j) &
|
2.0_pReal*(prm%burgers(j)**2.0_pReal)*tau_slip_neg(j) &
|
||||||
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
||||||
*(( state(instance)%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
*(( stt%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
||||||
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1181,7 +1181,7 @@ ph, instance,of
|
||||||
dvel_slip = &
|
dvel_slip = &
|
||||||
2.0_pReal*prm%burgers(j) &
|
2.0_pReal*prm%burgers(j) &
|
||||||
* prm%kink_height(j) * prm%omega(j) &
|
* prm%kink_height(j) * prm%omega(j) &
|
||||||
* ( state(instance)%mfp_slip(j,of) - prm%kink_width(j) ) &
|
* ( stt%mfp_slip(j,of) - prm%kink_width(j) ) &
|
||||||
* ( &
|
* ( &
|
||||||
(exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
(exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
||||||
+ tau_slip_neg(j) &
|
+ tau_slip_neg(j) &
|
||||||
|
@ -1193,14 +1193,14 @@ ph, instance,of
|
||||||
) &
|
) &
|
||||||
* (2.0_pReal*(prm%burgers(j)**2.0_pReal)*tau_slip_neg(j) &
|
* (2.0_pReal*(prm%burgers(j)**2.0_pReal)*tau_slip_neg(j) &
|
||||||
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
||||||
*(( state(instance)%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
*(( stt%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
||||||
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
||||||
) &
|
) &
|
||||||
- (tau_slip_neg(j) &
|
- (tau_slip_neg(j) &
|
||||||
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) ) &
|
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) ) &
|
||||||
* (2.0_pReal*(prm%burgers(j)**2.0_pReal) &
|
* (2.0_pReal*(prm%burgers(j)**2.0_pReal) &
|
||||||
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
||||||
*(( state(instance)%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
*(( stt%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
||||||
* (abs(exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)))& !deltaf(i)
|
* (abs(exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)))& !deltaf(i)
|
||||||
*BoltzmannRatio*prm%p(j)&
|
*BoltzmannRatio*prm%p(j)&
|
||||||
*prm%q(j)/&
|
*prm%q(j)/&
|
||||||
|
@ -1212,7 +1212,7 @@ ph, instance,of
|
||||||
( &
|
( &
|
||||||
2.0_pReal*(prm%burgers(j)**2.0_pReal)*tau_slip_neg(j) &
|
2.0_pReal*(prm%burgers(j)**2.0_pReal)*tau_slip_neg(j) &
|
||||||
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
+ prm%omega(j) * plastic_disloUCLA_friction(f,instance) &
|
||||||
*(( state(instance)%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
*(( stt%mfp_slip(j,of) - prm%kink_width(j) )**2.0_pReal) &
|
||||||
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
* exp(-BoltzmannRatio*(1-StressRatio_p) ** prm%q(j)) &
|
||||||
)**2.0_pReal &
|
)**2.0_pReal &
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue