mathematically equivalent re-formulation

allows to disable contribution from grain size by setting it to a large
value
This commit is contained in:
Martin Diehl 2021-10-31 15:42:18 +01:00
parent 25ca77c38e
commit fbc4865c30
2 changed files with 6 additions and 6 deletions

View File

@ -18,10 +18,9 @@ a_nonSchmid: [0.938, 0.71, 4.43]
h_sl-sl: [0.009, 0.72, 0.009, 0.05, 0.05, 0.06, 0.09]
w: [2.992e-09] # 11b
i_sl: [1] # c, eq. (25)
D: 1.0e+10 # d_g, eq. (25)
D: 1.0e+20 # d_g, eq. (25)
D_a: 1.0 # d_edge = D_a*b
# climb (disabled)
D_0: 0.0 # disable climb
f_at: 1
Q_cl: 1.0

View File

@ -196,7 +196,7 @@ module function plastic_dislotungsten_init() result(myPlasticity)
prm%d_caron = pl%get_asFloat('D_a') * prm%b_sl
! sanity checks
if ( prm%D_0 <= 0.0_pReal) extmsg = trim(extmsg)//' D_0'
if ( prm%D_0 < 0.0_pReal) extmsg = trim(extmsg)//' D_0'
if ( prm%Q_cl <= 0.0_pReal) extmsg = trim(extmsg)//' Q_cl'
if (any(rho_mob_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_mob_0'
if (any(rho_dip_0 < 0.0_pReal)) extmsg = trim(extmsg)//' rho_dip_0'
@ -375,16 +375,17 @@ module subroutine dislotungsten_dependentState(ph,en)
en
real(pReal), dimension(param(ph)%sum_N_sl) :: &
dislocationSpacing
Lambda_sl_inv
associate(prm => param(ph), stt => state(ph), dst => dependentState(ph))
dislocationSpacing = sqrt(matmul(prm%forestProjection,stt%rho_mob(:,en)+stt%rho_dip(:,en)))
dst%tau_pass(:,en) = prm%mu*prm%b_sl &
* sqrt(matmul(prm%h_sl_sl,stt%rho_mob(:,en)+stt%rho_dip(:,en)))
dst%Lambda_sl(:,en) = prm%D/(1.0_pReal+prm%D*dislocationSpacing/prm%i_sl)
Lambda_sl_inv = 1.0_pReal/prm%D &
+ sqrt(matmul(prm%forestProjection,stt%rho_mob(:,en)+stt%rho_dip(:,en)))/prm%i_sl
dst%Lambda_sl(:,en) = Lambda_sl_inv**(-1.0_pReal)
end associate