looping over systems simplifies loop structure
This commit is contained in:
parent
3431086fdb
commit
ba65044ff5
|
@ -102,7 +102,7 @@ module plastic_dislotwin
|
||||||
burgers_trans, & !< absolute length of burgers vector [m] for each twin family and instance
|
burgers_trans, & !< absolute length of burgers vector [m] for each twin family and instance
|
||||||
Qedge,& !< activation energy for glide [J] for each slip system and instance
|
Qedge,& !< activation energy for glide [J] for each slip system and instance
|
||||||
v0, & !dislocation velocity prefactor [m/s] for each slip system and instance
|
v0, & !dislocation velocity prefactor [m/s] for each slip system and instance
|
||||||
tau_peierlsPerSlipFamily,& !< Peierls stress [Pa] for each family and instance
|
tau_peierls,& !< Peierls stress [Pa] for each family and instance
|
||||||
Ndot0_twin, & !< twin nucleation rate [1/m³s] for each twin system and instance
|
Ndot0_twin, & !< twin nucleation rate [1/m³s] for each twin system and instance
|
||||||
Ndot0_trans, & !< trans nucleation rate [1/m³s] for each trans system and instance
|
Ndot0_trans, & !< trans nucleation rate [1/m³s] for each trans system and instance
|
||||||
twinsize, & !< twin thickness [m] for each twin system and instance
|
twinsize, & !< twin thickness [m] for each twin system and instance
|
||||||
|
@ -317,7 +317,7 @@ subroutine plastic_dislotwin_init(fileUnit)
|
||||||
prm%CLambdaSlipPerSlipSystem = config_phase(p)%getFloats('clambdaslip')
|
prm%CLambdaSlipPerSlipSystem = config_phase(p)%getFloats('clambdaslip')
|
||||||
prm%CLambdaSlipPerSlipSystem= math_expand(prm%CLambdaSlipPerSlipSystem,prm%Nslip)
|
prm%CLambdaSlipPerSlipSystem= math_expand(prm%CLambdaSlipPerSlipSystem,prm%Nslip)
|
||||||
|
|
||||||
prm%tau_peierlsPerSlipFamily = config_phase(p)%getFloats('tau_peierls',defaultVal=[0.0_pReal])
|
prm%tau_peierls = config_phase(p)%getFloats('tau_peierls',defaultVal=[0.0_pReal])
|
||||||
|
|
||||||
prm%p = config_phase(p)%getFloats('p_slip')
|
prm%p = config_phase(p)%getFloats('p_slip')
|
||||||
prm%q = config_phase(p)%getFloats('q_slip')
|
prm%q = config_phase(p)%getFloats('q_slip')
|
||||||
|
@ -579,6 +579,7 @@ subroutine plastic_dislotwin_init(fileUnit)
|
||||||
|
|
||||||
prm%p = math_expand(prm%p,prm%Nslip)
|
prm%p = math_expand(prm%p,prm%Nslip)
|
||||||
prm%q = math_expand(prm%q,prm%Nslip)
|
prm%q = math_expand(prm%q,prm%Nslip)
|
||||||
|
prm%tau_peierls = math_expand(prm%tau_peierls,prm%Nslip)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
allocate(forestProjectionEdge(prm%totalNslip,prm%totalNslip,maxNinstance), source=0.0_pReal)
|
allocate(forestProjectionEdge(prm%totalNslip,prm%totalNslip,maxNinstance), source=0.0_pReal)
|
||||||
|
@ -1261,7 +1262,7 @@ subroutine plastic_dislotwin_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,Temperature
|
||||||
if((abs(tau_slip(j))-state(instance)%threshold_stress_slip(j,of)) > tol_math_check) then
|
if((abs(tau_slip(j))-state(instance)%threshold_stress_slip(j,of)) > tol_math_check) then
|
||||||
!* Stress ratios
|
!* Stress ratios
|
||||||
stressRatio =((abs(tau_slip(j))- state(instance)%threshold_stress_slip(j,of))/&
|
stressRatio =((abs(tau_slip(j))- state(instance)%threshold_stress_slip(j,of))/&
|
||||||
(prm%SolidSolutionStrength+prm%tau_peierlsPerSlipFamily(f)))
|
(prm%SolidSolutionStrength+prm%tau_peierls(j)))
|
||||||
StressRatio_p = stressRatio** prm%p(j)
|
StressRatio_p = stressRatio** prm%p(j)
|
||||||
StressRatio_pminus1 = stressRatio**(prm%p(j)-1.0_pReal)
|
StressRatio_pminus1 = stressRatio**(prm%p(j)-1.0_pReal)
|
||||||
!* Boltzmann ratio
|
!* Boltzmann ratio
|
||||||
|
@ -1280,7 +1281,7 @@ subroutine plastic_dislotwin_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,Temperature
|
||||||
dgdot_dtauslip(j) = &
|
dgdot_dtauslip(j) = &
|
||||||
abs(gdot_slip(j))*BoltzmannRatio*prm%p(j)&
|
abs(gdot_slip(j))*BoltzmannRatio*prm%p(j)&
|
||||||
*prm%q(j)/&
|
*prm%q(j)/&
|
||||||
(prm%SolidSolutionStrength+prm%tau_peierlsPerSlipFamily(f))*&
|
(prm%SolidSolutionStrength+prm%tau_peierls(j))*&
|
||||||
StressRatio_pminus1*(1-StressRatio_p)**(prm%q(j)-1.0_pReal)
|
StressRatio_pminus1*(1-StressRatio_p)**(prm%q(j)-1.0_pReal)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -1562,7 +1563,7 @@ subroutine plastic_dislotwin_dotState(Tstar_v,Temperature,ipc,ip,el)
|
||||||
if((abs(tau_slip(j))-state(instance)%threshold_stress_slip(j,of)) > tol_math_check) then
|
if((abs(tau_slip(j))-state(instance)%threshold_stress_slip(j,of)) > tol_math_check) then
|
||||||
!* Stress ratios
|
!* Stress ratios
|
||||||
stressRatio =((abs(tau_slip(j))- state(instance)%threshold_stress_slip(j,of))/&
|
stressRatio =((abs(tau_slip(j))- state(instance)%threshold_stress_slip(j,of))/&
|
||||||
(prm%SolidSolutionStrength+prm%tau_peierlsPerSlipFamily(f)))
|
(prm%SolidSolutionStrength+prm%tau_peierls(j)))
|
||||||
StressRatio_p = stressRatio** prm%p(j)
|
StressRatio_p = stressRatio** prm%p(j)
|
||||||
StressRatio_pminus1 = stressRatio**(prm%p(j)-1.0_pReal)
|
StressRatio_pminus1 = stressRatio**(prm%p(j)-1.0_pReal)
|
||||||
!* Boltzmann ratio
|
!* Boltzmann ratio
|
||||||
|
@ -1812,7 +1813,7 @@ function plastic_dislotwin_postResults(Tstar_v,Temperature,ipc,ip,el)
|
||||||
!* Stress ratios
|
!* Stress ratios
|
||||||
stressRatio = ((abs(tau)-state(ph)%threshold_stress_slip(j,of))/&
|
stressRatio = ((abs(tau)-state(ph)%threshold_stress_slip(j,of))/&
|
||||||
(prm%SolidSolutionStrength+&
|
(prm%SolidSolutionStrength+&
|
||||||
prm%tau_peierlsPerSlipFamily(f)))
|
prm%tau_peierls(j)))
|
||||||
StressRatio_p = stressRatio** prm%p(j)
|
StressRatio_p = stressRatio** prm%p(j)
|
||||||
StressRatio_pminus1 = stressRatio**(prm%p(j)-1.0_pReal)
|
StressRatio_pminus1 = stressRatio**(prm%p(j)-1.0_pReal)
|
||||||
!* Boltzmann ratio
|
!* Boltzmann ratio
|
||||||
|
@ -1917,11 +1918,11 @@ function plastic_dislotwin_postResults(Tstar_v,Temperature,ipc,ip,el)
|
||||||
!* Stress ratios
|
!* Stress ratios
|
||||||
StressRatio_p = ((abs(tau)-state(instance)%threshold_stress_slip(j,of))/&
|
StressRatio_p = ((abs(tau)-state(instance)%threshold_stress_slip(j,of))/&
|
||||||
(prm%SolidSolutionStrength+&
|
(prm%SolidSolutionStrength+&
|
||||||
prm%tau_peierlsPerSlipFamily(f)))&
|
prm%tau_peierls(j)))&
|
||||||
**prm%p(j)
|
**prm%p(j)
|
||||||
StressRatio_pminus1 = ((abs(tau)-state(instance)%threshold_stress_slip(j,of))/&
|
StressRatio_pminus1 = ((abs(tau)-state(instance)%threshold_stress_slip(j,of))/&
|
||||||
(prm%SolidSolutionStrength+&
|
(prm%SolidSolutionStrength+&
|
||||||
prm%tau_peierlsPerSlipFamily(f)))&
|
prm%tau_peierls(j)))&
|
||||||
**(prm%p(j)-1.0_pReal)
|
**(prm%p(j)-1.0_pReal)
|
||||||
!* Boltzmann ratio
|
!* Boltzmann ratio
|
||||||
BoltzmannRatio = prm%Qedge(j)/(kB*Temperature)
|
BoltzmannRatio = prm%Qedge(j)/(kB*Temperature)
|
||||||
|
@ -2009,11 +2010,11 @@ function plastic_dislotwin_postResults(Tstar_v,Temperature,ipc,ip,el)
|
||||||
!* Stress ratios
|
!* Stress ratios
|
||||||
StressRatio_p = ((abs(tau)-state(instance)%threshold_stress_slip(j,of))/&
|
StressRatio_p = ((abs(tau)-state(instance)%threshold_stress_slip(j,of))/&
|
||||||
(prm%SolidSolutionStrength+&
|
(prm%SolidSolutionStrength+&
|
||||||
prm%tau_peierlsPerSlipFamily(f)))&
|
prm%tau_peierls(j)))&
|
||||||
**prm%p(j)
|
**prm%p(j)
|
||||||
StressRatio_pminus1 = ((abs(tau)-state(instance)%threshold_stress_slip(j,of))/&
|
StressRatio_pminus1 = ((abs(tau)-state(instance)%threshold_stress_slip(j,of))/&
|
||||||
(prm%SolidSolutionStrength+&
|
(prm%SolidSolutionStrength+&
|
||||||
prm%tau_peierlsPerSlipFamily(f)))&
|
prm%tau_peierls(j)))&
|
||||||
**(prm%p(j)-1.0_pReal)
|
**(prm%p(j)-1.0_pReal)
|
||||||
!* Boltzmann ratio
|
!* Boltzmann ratio
|
||||||
BoltzmannRatio = prm%Qedge(j)/(kB*Temperature)
|
BoltzmannRatio = prm%Qedge(j)/(kB*Temperature)
|
||||||
|
@ -2031,7 +2032,7 @@ function plastic_dislotwin_postResults(Tstar_v,Temperature,ipc,ip,el)
|
||||||
abs(gdot_slip(j))*BoltzmannRatio*prm%p(j)&
|
abs(gdot_slip(j))*BoltzmannRatio*prm%p(j)&
|
||||||
*prm%q(j)/&
|
*prm%q(j)/&
|
||||||
(prm%SolidSolutionStrength+&
|
(prm%SolidSolutionStrength+&
|
||||||
prm%tau_peierlsPerSlipFamily(f))*&
|
prm%tau_peierls(j))*&
|
||||||
StressRatio_pminus1*(1-StressRatio_p)**(prm%q(j)-1.0_pReal)
|
StressRatio_pminus1*(1-StressRatio_p)**(prm%q(j)-1.0_pReal)
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue