cleaning
This commit is contained in:
parent
8a406150f8
commit
2337dde525
|
@ -614,11 +614,11 @@ subroutine plastic_phenopowerlaw_dotState(Mstar6,ipc,ip,el)
|
||||||
real(pReal), dimension(3,3) :: &
|
real(pReal), dimension(3,3) :: &
|
||||||
S !< Second-Piola Kirchhoff stress
|
S !< Second-Piola Kirchhoff stress
|
||||||
real(pReal), dimension(param(phase_plasticityInstance(material_phase(ipc,ip,el)))%totalNslip) :: &
|
real(pReal), dimension(param(phase_plasticityInstance(material_phase(ipc,ip,el)))%totalNslip) :: &
|
||||||
gdot_slip_abs,left_SlipSlip,right_SlipSlip, &
|
left_SlipSlip,right_SlipSlip, &
|
||||||
tau_slip_pos,tau_slip_neg, &
|
tau_slip_pos,tau_slip_neg, &
|
||||||
gdot_slip_pos,gdot_slip_neg
|
gdot_slip_pos,gdot_slip_neg
|
||||||
real(pReal), dimension(param(phase_plasticityInstance(material_phase(ipc,ip,el)))%totalNtwin) :: &
|
real(pReal), dimension(param(phase_plasticityInstance(material_phase(ipc,ip,el)))%totalNtwin) :: &
|
||||||
gdot_twin,tau_twin
|
tau_twin
|
||||||
|
|
||||||
type(tParameters) :: prm
|
type(tParameters) :: prm
|
||||||
type(tPhenopowerlawState) :: dst,stt
|
type(tPhenopowerlawState) :: dst,stt
|
||||||
|
@ -639,39 +639,38 @@ subroutine plastic_phenopowerlaw_dotState(Mstar6,ipc,ip,el)
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! calculate left and right vectors
|
! calculate left and right vectors
|
||||||
|
left_SlipSlip = 1.0_pReal + prm%H_int
|
||||||
ssat_offset = prm%spr*sqrt(stt%sumF(of))
|
ssat_offset = prm%spr*sqrt(stt%sumF(of))
|
||||||
slipSystems: do j = 1_pInt, prm%totalNslip
|
right_SlipSlip = abs(1.0_pReal-stt%s_slip(:,of) / (prm%tausat_slip+ssat_offset)) **prm%a_slip &
|
||||||
left_SlipSlip(j) = 1.0_pReal + prm%H_int(j) ! modified no system-dependent left part
|
* sign(1.0_pReal,1.0_pReal-stt%s_slip(:,of) / (prm%tausat_slip+ssat_offset))
|
||||||
right_SlipSlip(j) = abs(1.0_pReal-stt%s_slip(j,of) / (prm%tausat_slip(j)+ssat_offset)) **prm%a_slip &
|
|
||||||
* sign(1.0_pReal,1.0_pReal-stt%s_slip(j,of) / (prm%tausat_slip(j)+ssat_offset))
|
|
||||||
|
|
||||||
enddo slipSystems
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! shear rates
|
! shear rates
|
||||||
call resolvedStress_slip(prm,S,tau_slip_pos,tau_slip_neg)
|
call resolvedStress_slip(prm,S,tau_slip_pos,tau_slip_neg)
|
||||||
call shearRates_slip(prm,stt,of,tau_slip_pos,tau_slip_neg,gdot_slip_pos,gdot_slip_neg)
|
call shearRates_slip(prm,stt,of,tau_slip_pos,tau_slip_neg,gdot_slip_pos,gdot_slip_neg)
|
||||||
gdot_slip_abs = abs(gdot_slip_pos+gdot_slip_neg)
|
dst%accshear_slip(:,of) = abs(gdot_slip_pos+gdot_slip_neg)
|
||||||
|
dst%sumGamma(of) = sum(dst%accshear_slip(:,of))
|
||||||
call resolvedStress_twin(prm,S,tau_twin)
|
call resolvedStress_twin(prm,S,tau_twin)
|
||||||
call shearRates_twin(prm,stt,of,tau_twin,gdot_twin)
|
call shearRates_twin(prm,stt,of,tau_twin,dst%accshear_twin(:,of))
|
||||||
|
if (stt%sumF(of) < 0.98_pReal) dst%sumF(of) = sum(dst%accshear_twin(:,of)/prm%shear_twin)
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! hardening
|
! hardening
|
||||||
hardeningSlip: do j = 1_pInt, prm%totalNslip
|
hardeningSlip: do j = 1_pInt, prm%totalNslip
|
||||||
dst%s_slip(j,of) = c_SlipSlip * left_SlipSlip(j) * &
|
dst%s_slip(j,of) = &
|
||||||
dot_product(prm%interaction_SlipSlip(j,1:prm%totalNslip),right_SlipSlip*gdot_slip_abs) + & ! dot gamma_slip modulated by right-side slip factor
|
c_SlipSlip * left_SlipSlip(j) &
|
||||||
dot_product(prm%interaction_SlipTwin(j,1:prm%totalNtwin),gdot_twin)
|
* dot_product(prm%interaction_SlipSlip(j,:),right_SlipSlip*dst%accshear_slip(:,of)) &
|
||||||
|
+ &
|
||||||
|
dot_product(prm%interaction_SlipTwin(j,:),dst%accshear_twin(:,of))
|
||||||
enddo hardeningSlip
|
enddo hardeningSlip
|
||||||
dst%sumGamma(of) = dst%sumGamma(of) + sum(gdot_slip_abs)
|
|
||||||
dst%accshear_slip(1:prm%totalNslip,of) = gdot_slip_abs
|
|
||||||
|
|
||||||
hardeningTwin: do j = 1_pInt, prm%totalNtwin
|
hardeningTwin: do j = 1_pInt, prm%totalNtwin
|
||||||
dst%s_twin(j,of) = &
|
dst%s_twin(j,of) = &
|
||||||
c_TwinSlip * dot_product(prm%interaction_TwinSlip(j,1:prm%totalNslip),gdot_slip_abs) + &
|
c_TwinSlip &
|
||||||
c_TwinTwin * dot_product(prm%interaction_TwinTwin(j,1:prm%totalNtwin),gdot_twin)
|
* dot_product(prm%interaction_TwinSlip(j,:),dst%accshear_slip(:,of)) &
|
||||||
if (stt%sumF(of) < 0.98_pReal) & ! ensure twin volume fractions stays below 1.0
|
+ &
|
||||||
dst%sumF(of) = dst%sumF(of) + gdot_twin(j)/prm%shear_twin(j)
|
c_TwinTwin &
|
||||||
dst%accshear_twin(j,of) = abs(gdot_twin(j))
|
* dot_product(prm%interaction_TwinTwin(j,:),dst%accshear_twin(:,of))
|
||||||
enddo hardeningTwin
|
enddo hardeningTwin
|
||||||
|
|
||||||
end associate
|
end associate
|
||||||
|
|
Loading…
Reference in New Issue