diff --git a/src/plastic_dislotwin.f90 b/src/plastic_dislotwin.f90 index de7d0c971..e2a8b1728 100644 --- a/src/plastic_dislotwin.f90 +++ b/src/plastic_dislotwin.f90 @@ -117,7 +117,8 @@ module plastic_dislotwin integer :: & sum_N_sl, & !< total number of active slip system sum_N_tw, & !< total number of active twin system - sum_N_tr !< total number of active transformation system + sum_N_tr, & !< total number of active transformation system + climbSwitch !< Switch to decide climb integer, dimension(:), allocatable :: & N_sl, & !< number of active slip systems for each family N_tw, & !< number of active twin systems for each family @@ -280,6 +281,8 @@ subroutine plastic_dislotwin_init prm%SFE_0K = config%getFloat('sfe_0k',defaultVal = 0.0_pReal) prm%dSFE_dT = config%getFloat('dsfe_dt',defaultVal = 0.0_pReal) + prm%climbSwitch = config%getInt('climbswitch',defaultVal = 1) + ! multiplication factor according to slip system if (lattice_structure(p) == LATTICE_FCC_ID .or. lattice_structure(p) == LATTICE_HEX_ID ) then prm%omega = prm%omega * 12.0_pReal @@ -807,10 +810,10 @@ subroutine plastic_dislotwin_dotState(Mp,T,instance,of) else ! sigma_cl = norm2(matmul(Mp,prm%n0_sl(1:3,i))) ! ToDo: MD: correct? sigma_cl = DOT_PRODUCT(prm%n0_sl(1:3,i),matmul(Mp,prm%n0_sl(1:3,i))) - if (prm%SFE_0K /= 0.0_pReal) then + if (prm%climbSwitch /= 0) then b_d = 24.0_pReal*PI*(1.0_pReal - prm%nu)/(2.0_pReal + prm%nu)* Gamma/(prm%mu*prm%b_sl(i)) else - b_d = 1.0_pReal + b_d = 0.0_pReal endif v_cl = 2.0_pReal*prm%omega*b_d**2.0_pReal*exp(-prm%Qsd/(kB*T)) &