stress induced transformation was never really implemented

This commit is contained in:
Martin Diehl 2019-01-27 22:06:08 +01:00
parent 8a9614bda7
commit 5630b38962
1 changed files with 3 additions and 21 deletions

View File

@ -39,7 +39,6 @@ module plastic_dislotwin
threshold_stress_twin_ID, & threshold_stress_twin_ID, &
resolved_stress_shearband_ID, & resolved_stress_shearband_ID, &
shear_rate_shearband_ID, & shear_rate_shearband_ID, &
stress_trans_fraction_ID, &
strain_trans_fraction_ID strain_trans_fraction_ID
end enum end enum
@ -133,7 +132,6 @@ module plastic_dislotwin
rhoEdgeDip, & rhoEdgeDip, &
accshear_slip, & accshear_slip, &
twinFraction, & twinFraction, &
stressTransFraction, &
strainTransFraction, & strainTransFraction, &
whole whole
end type tDislotwinState end type tDislotwinState
@ -558,9 +556,6 @@ subroutine plastic_dislotwin_init
outputID = shear_rate_shearband_ID outputID = shear_rate_shearband_ID
outputSize = 6_pInt outputSize = 6_pInt
case ('stress_trans_fraction')
outputID = stress_trans_fraction_ID
outputSize = prm%totalNtrans
case ('strain_trans_fraction') case ('strain_trans_fraction')
outputID = strain_trans_fraction_ID outputID = strain_trans_fraction_ID
outputSize = prm%totalNtrans outputSize = prm%totalNtrans
@ -580,7 +575,7 @@ subroutine plastic_dislotwin_init
NipcMyPhase = count(material_phase == p) NipcMyPhase = count(material_phase == p)
sizeDotState = int(size(['rho ','rhoDip ','accshearslip']),pInt) * prm%totalNslip & sizeDotState = int(size(['rho ','rhoDip ','accshearslip']),pInt) * prm%totalNslip &
+ int(size(['twinFraction']),pInt) * prm%totalNtwin & + int(size(['twinFraction']),pInt) * prm%totalNtwin &
+ int(size(['stressTransFraction','strainTransFraction']),pInt) * prm%totalNtrans + int(size(['strainTransFraction']),pInt) * prm%totalNtrans
sizeState = sizeDotState sizeState = sizeDotState
call material_allocatePlasticState(p,NipcMyPhase,sizeState,sizeDotState,0_pInt, & call material_allocatePlasticState(p,NipcMyPhase,sizeState,sizeDotState,0_pInt, &
@ -619,12 +614,6 @@ subroutine plastic_dislotwin_init
dot%twinFraction=>plasticState(p)%dotState(startIndex:endIndex,:) dot%twinFraction=>plasticState(p)%dotState(startIndex:endIndex,:)
plasticState(p)%aTolState(startIndex:endIndex) = prm%aTolTwinFrac plasticState(p)%aTolState(startIndex:endIndex) = prm%aTolTwinFrac
startIndex = endIndex + 1_pInt
endIndex=endIndex+prm%totalNtrans
stt%stressTransFraction=>plasticState(p)%state(startIndex:endIndex,:)
dot%stressTransFraction=>plasticState(p)%dotState(startIndex:endIndex,:)
plasticState(p)%aTolState(startIndex:endIndex) = prm%aTolTransFrac
startIndex = endIndex + 1_pInt startIndex = endIndex + 1_pInt
endIndex=endIndex+prm%totalNtrans endIndex=endIndex+prm%totalNtrans
stt%strainTransFraction=>plasticState(p)%state(startIndex:endIndex,:) stt%strainTransFraction=>plasticState(p)%state(startIndex:endIndex,:)
@ -687,7 +676,6 @@ function plastic_dislotwin_homogenizedC(ipc,ip,el) result(homogenizedC)
f_unrotated = 1.0_pReal & f_unrotated = 1.0_pReal &
- sum(stt%twinFraction(1_pInt:prm%totalNtwin,of)) & - sum(stt%twinFraction(1_pInt:prm%totalNtwin,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))
homogenizedC = f_unrotated * prm%C66 homogenizedC = f_unrotated * prm%C66
@ -697,7 +685,7 @@ function plastic_dislotwin_homogenizedC(ipc,ip,el) result(homogenizedC)
enddo enddo
do i=1_pInt,prm%totalNtrans do i=1_pInt,prm%totalNtrans
homogenizedC = homogenizedC & homogenizedC = homogenizedC &
+(stt%stressTransFraction(i,of)+stt%strainTransFraction(i,of))*prm%C66_trans(1:6,1:6,i) + stt%strainTransFraction(i,of)*prm%C66_trans(1:6,1:6,i)
enddo enddo
end associate end associate
@ -765,7 +753,6 @@ subroutine plastic_dislotwin_LpAndItsTangent(Lp,dLp_dMp,Mp,Temperature,instance,
f_unrotated = 1.0_pReal & f_unrotated = 1.0_pReal &
- sum(stt%twinFraction(1_pInt:prm%totalNtwin,of)) & - sum(stt%twinFraction(1_pInt:prm%totalNtwin,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))
Lp = 0.0_pReal Lp = 0.0_pReal
@ -873,7 +860,6 @@ subroutine plastic_dislotwin_dotState(Mp,Temperature,instance,of)
f_unrotated = 1.0_pReal & f_unrotated = 1.0_pReal &
- sum(stt%twinFraction(1_pInt:prm%totalNtwin,of)) & - sum(stt%twinFraction(1_pInt:prm%totalNtwin,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))
call kinetics_slip(Mp,temperature,instance,of,gdot_slip) call kinetics_slip(Mp,temperature,instance,of,gdot_slip)
@ -966,8 +952,7 @@ subroutine plastic_dislotwin_dependentState(temperature,instance,of)
mse => microstructure(instance)) mse => microstructure(instance))
sumf_twin = sum(stt%twinFraction(1:prm%totalNtwin,of)) sumf_twin = sum(stt%twinFraction(1:prm%totalNtwin,of))
sumf_trans = sum(stt%stressTransFraction(1:prm%totalNtrans,of)) & sumf_trans = sum(stt%strainTransFraction(1:prm%totalNtrans,of))
+ sum(stt%strainTransFraction(1:prm%totalNtrans,of))
sfe = prm%SFE_0K + prm%dSFE_dT * Temperature sfe = prm%SFE_0K + prm%dSFE_dT * Temperature
@ -1153,9 +1138,6 @@ function plastic_dislotwin_postResults(Mp,Temperature,instance,of) result(postRe
postResults(c+1_pInt:c+prm%totalNtwin) = mse%threshold_stress_twin(1_pInt:prm%totalNtwin,of) postResults(c+1_pInt:c+prm%totalNtwin) = mse%threshold_stress_twin(1_pInt:prm%totalNtwin,of)
c = c + prm%totalNtwin c = c + prm%totalNtwin
case (stress_trans_fraction_ID)
postResults(c+1_pInt:c+prm%totalNtrans) = 0.0_pReal
c = c + prm%totalNtrans
case (strain_trans_fraction_ID) case (strain_trans_fraction_ID)
postResults(c+1_pInt:c+prm%totalNtrans) = stt%strainTransFraction(1_pInt:prm%totalNtrans,of) postResults(c+1_pInt:c+prm%totalNtrans) = stt%strainTransFraction(1_pInt:prm%totalNtrans,of)
c = c + prm%totalNtrans c = c + prm%totalNtrans