extended to postResults

This commit is contained in:
Martin Diehl 2018-08-25 20:32:01 +02:00
parent 780699740d
commit fbaac484ea
1 changed files with 18 additions and 20 deletions

View File

@ -120,8 +120,6 @@ subroutine plastic_phenopowerlaw_init
debug_constitutive,& debug_constitutive,&
debug_levelBasic debug_levelBasic
use math, only: & use math, only: &
math_Mandel3333to66, &
math_Voigt66to3333, &
math_expand math_expand
use IO, only: & use IO, only: &
IO_warning, & IO_warning, &
@ -487,8 +485,7 @@ pure subroutine plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dMstar99,Mstar,ipc,
dNeq0 dNeq0
use math, only: & use math, only: &
math_mul33xx33,& math_mul33xx33,&
math_Plain3333to99, & math_Plain3333to99
math_Mandel6to33
use lattice, only: & use lattice, only: &
lattice_Sslip, & lattice_Sslip, &
lattice_Stwin, & lattice_Stwin, &
@ -748,6 +745,9 @@ function plastic_phenopowerlaw_postResults(Mstar6,ipc,ip,el)
plasticState, & plasticState, &
phasememberAt, & phasememberAt, &
phase_plasticityInstance phase_plasticityInstance
use math, only: &
math_mul33xx33, &
math_Mandel6to33
use lattice, only: & use lattice, only: &
lattice_Sslip_v, & lattice_Sslip_v, &
lattice_Stwin_v, & lattice_Stwin_v, &
@ -763,6 +763,8 @@ function plastic_phenopowerlaw_postResults(Mstar6,ipc,ip,el)
ip, & !< integration point ip, & !< integration point
el !< element !< microstructure state el !< element !< microstructure state
real(pReal), dimension(3,3) :: &
Mstar
real(pReal), dimension(plasticState(material_phase(ipc,ip,el))%sizePostResults) :: & real(pReal), dimension(plasticState(material_phase(ipc,ip,el))%sizePostResults) :: &
plastic_phenopowerlaw_postResults plastic_phenopowerlaw_postResults
@ -782,6 +784,7 @@ function plastic_phenopowerlaw_postResults(Mstar6,ipc,ip,el)
associate( prm => param(phase_plasticityInstance(ph)), & associate( prm => param(phase_plasticityInstance(ph)), &
stt => state(phase_plasticityInstance(ph)), & stt => state(phase_plasticityInstance(ph)), &
dst => dotState(phase_plasticityInstance(ph))) dst => dotState(phase_plasticityInstance(ph)))
Mstar = math_Mandel6to33(Mstar6)
plastic_phenopowerlaw_postResults = 0.0_pReal plastic_phenopowerlaw_postResults = 0.0_pReal
c = 0_pInt c = 0_pInt
@ -798,23 +801,19 @@ function plastic_phenopowerlaw_postResults(Mstar6,ipc,ip,el)
case (shearrate_slip_ID) case (shearrate_slip_ID)
j = 0_pInt j = 0_pInt
slipFamilies1: do f = 1_pInt,size(prm%Nslip,1) slipFamilies1: do f =1_pInt,size(prm%Nslip,1)
index_myFamily = sum(lattice_NslipSystem(1:f-1_pInt,ph)) ! at which index starts my family index_myFamily = sum(lattice_NslipSystem(1:f-1_pInt,ph)) ! at which index starts my family
slipSystems1: do i = 1_pInt,prm%Nslip(f) slipSystems1: do i = 1_pInt,prm%Nslip(f)
j = j + 1_pInt j = j+1_pInt
tau_slip_pos = dot_product(Mstar6,lattice_Sslip_v(1:6,1,index_myFamily+i,ph)) tau_slip_pos = math_mul33xx33(Mstar,prm%Schmid_slip(1:3,1:3,j))
tau_slip_neg = tau_slip_pos tau_slip_neg = tau_slip_pos
do k = 1,lattice_NnonSchmid(ph) nonSchmidSystems: do k = 1,size(prm%nonSchmidCoeff)
tau_slip_pos = tau_slip_pos +prm%nonSchmidCoeff(k)* & tau_slip_pos = tau_slip_pos + math_mul33xx33(Mstar,prm%nonSchmid_pos(1:3,1:3,k,j))
dot_product(Mstar6,lattice_Sslip_v(1:6,2*k,index_myFamily+i,ph)) tau_slip_neg = tau_slip_neg + math_mul33xx33(Mstar,prm%nonSchmid_neg(1:3,1:3,k,j))
tau_slip_neg = tau_slip_neg +prm%nonSchmidCoeff(k)* & enddo nonSchmidSystems
dot_product(Mstar6,lattice_Sslip_v(1:6,2*k+1,index_myFamily+i,ph))
enddo
plastic_phenopowerlaw_postResults(c+j) = prm%gdot0_slip*0.5_pReal* & plastic_phenopowerlaw_postResults(c+j) = prm%gdot0_slip*0.5_pReal* &
((abs(tau_slip_pos)/stt%s_slip(j,of))**prm%n_slip & ( (abs(tau_slip_pos)/(stt%s_slip(j,of)))**prm%n_slip*sign(1.0_pReal,tau_slip_pos) &
*sign(1.0_pReal,tau_slip_pos) & +(abs(tau_slip_neg)/(stt%s_slip(j,of)))**prm%n_slip*sign(1.0_pReal,tau_slip_neg))
+(abs(tau_slip_neg)/(stt%s_slip(j,of)))**prm%n_slip &
*sign(1.0_pReal,tau_slip_neg))
enddo slipSystems1 enddo slipSystems1
enddo slipFamilies1 enddo slipFamilies1
c = c + prm%totalNslip c = c + prm%totalNslip
@ -825,8 +824,7 @@ function plastic_phenopowerlaw_postResults(Mstar6,ipc,ip,el)
index_myFamily = sum(lattice_NslipSystem(1:f-1_pInt,ph)) ! at which index starts my family index_myFamily = sum(lattice_NslipSystem(1:f-1_pInt,ph)) ! at which index starts my family
slipSystems2: do i = 1_pInt,prm%Nslip(f) slipSystems2: do i = 1_pInt,prm%Nslip(f)
j = j + 1_pInt j = j + 1_pInt
plastic_phenopowerlaw_postResults(c+j) = & plastic_phenopowerlaw_postResults(c+j) = math_mul33xx33(Mstar,prm%Schmid_slip(1:3,1:3,j))
dot_product(Mstar6,lattice_Sslip_v(1:6,1,index_myFamily+i,ph))
enddo slipSystems2 enddo slipSystems2
enddo slipFamilies2 enddo slipFamilies2
c = c + prm%totalNslip c = c + prm%totalNslip