added output of slip direction and slip normal
changed name of fluxdensity outputs
This commit is contained in:
parent
19dc95a915
commit
ec2503253e
|
@ -253,18 +253,24 @@ plasticity nonlocal
|
||||||
(output) velocity_edge_neg
|
(output) velocity_edge_neg
|
||||||
(output) velocity_screw_pos
|
(output) velocity_screw_pos
|
||||||
(output) velocity_screw_neg
|
(output) velocity_screw_neg
|
||||||
(output) fluxDensity_edge_pos_x
|
(output) slipdirection.x
|
||||||
(output) fluxDensity_edge_pos_y
|
(output) slipdirection.y
|
||||||
(output) fluxDensity_edge_pos_z
|
(output) slipdirection.z
|
||||||
(output) fluxDensity_edge_neg_x
|
(output) slipnormal.x
|
||||||
(output) fluxDensity_edge_neg_y
|
(output) slipnormal.y
|
||||||
(output) fluxDensity_edge_neg_z
|
(output) slipnormal.z
|
||||||
(output) fluxDensity_screw_pos_x
|
(output) fluxDensity_edge_pos.x
|
||||||
(output) fluxDensity_screw_pos_y
|
(output) fluxDensity_edge_pos.y
|
||||||
(output) fluxDensity_screw_pos_z
|
(output) fluxDensity_edge_pos.z
|
||||||
(output) fluxDensity_screw_neg_x
|
(output) fluxDensity_edge_neg.x
|
||||||
(output) fluxDensity_screw_neg_y
|
(output) fluxDensity_edge_neg.y
|
||||||
(output) fluxDensity_screw_neg_z
|
(output) fluxDensity_edge_neg.z
|
||||||
|
(output) fluxDensity_screw_pos.x
|
||||||
|
(output) fluxDensity_screw_pos.y
|
||||||
|
(output) fluxDensity_screw_pos.z
|
||||||
|
(output) fluxDensity_screw_neg.x
|
||||||
|
(output) fluxDensity_screw_neg.y
|
||||||
|
(output) fluxDensity_screw_neg.z
|
||||||
(output) maximumDipoleHeight_edge
|
(output) maximumDipoleHeight_edge
|
||||||
(output) maximumDipoleHeight_screw
|
(output) maximumDipoleHeight_screw
|
||||||
(output) accumulatedshear
|
(output) accumulatedshear
|
||||||
|
|
|
@ -834,18 +834,24 @@ do i = 1,maxNinstance
|
||||||
'velocity_edge_neg', &
|
'velocity_edge_neg', &
|
||||||
'velocity_screw_pos', &
|
'velocity_screw_pos', &
|
||||||
'velocity_screw_neg', &
|
'velocity_screw_neg', &
|
||||||
'fluxdensity_edge_pos_x', &
|
'slipdirection.x', &
|
||||||
'fluxdensity_edge_pos_y', &
|
'slipdirection.y', &
|
||||||
'fluxdensity_edge_pos_z', &
|
'slipdirection.z', &
|
||||||
'fluxdensity_edge_neg_x', &
|
'slipnormal.x', &
|
||||||
'fluxdensity_edge_neg_y', &
|
'slipnormal.y', &
|
||||||
'fluxdensity_edge_neg_z', &
|
'slipnormal.z', &
|
||||||
'fluxdensity_screw_pos_x', &
|
'fluxdensity_edge_pos.x', &
|
||||||
'fluxdensity_screw_pos_y', &
|
'fluxdensity_edge_pos.y', &
|
||||||
'fluxdensity_screw_pos_z', &
|
'fluxdensity_edge_pos.z', &
|
||||||
'fluxdensity_screw_neg_x', &
|
'fluxdensity_edge_neg.x', &
|
||||||
'fluxdensity_screw_neg_y', &
|
'fluxdensity_edge_neg.y', &
|
||||||
'fluxdensity_screw_neg_z', &
|
'fluxdensity_edge_neg.z', &
|
||||||
|
'fluxdensity_screw_pos.x', &
|
||||||
|
'fluxdensity_screw_pos.y', &
|
||||||
|
'fluxdensity_screw_pos.z', &
|
||||||
|
'fluxdensity_screw_neg.x', &
|
||||||
|
'fluxdensity_screw_neg.y', &
|
||||||
|
'fluxdensity_screw_neg.z', &
|
||||||
'maximumdipoleheight_edge', &
|
'maximumdipoleheight_edge', &
|
||||||
'maximumdipoleheight_screw', &
|
'maximumdipoleheight_screw', &
|
||||||
'accumulatedshear', &
|
'accumulatedshear', &
|
||||||
|
@ -3212,7 +3218,8 @@ use material, only: homogenization_maxNgrains, &
|
||||||
phase_Noutput
|
phase_Noutput
|
||||||
use lattice, only: lattice_Sslip_v, &
|
use lattice, only: lattice_Sslip_v, &
|
||||||
lattice_sd, &
|
lattice_sd, &
|
||||||
lattice_st
|
lattice_st, &
|
||||||
|
lattice_sn
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
|
|
||||||
|
@ -3262,6 +3269,8 @@ real(pReal), dimension(constitutive_nonlocal_totalNslip(phase_plasticityInstance
|
||||||
real(pReal), dimension(3,constitutive_nonlocal_totalNslip(phase_plasticityInstance(material_phase(g,ip,el))),2) :: &
|
real(pReal), dimension(3,constitutive_nonlocal_totalNslip(phase_plasticityInstance(material_phase(g,ip,el))),2) :: &
|
||||||
m, & ! direction of dislocation motion for edge and screw (unit vector)
|
m, & ! direction of dislocation motion for edge and screw (unit vector)
|
||||||
m_currentconf ! direction of dislocation motion for edge and screw (unit vector) in current configuration
|
m_currentconf ! direction of dislocation motion for edge and screw (unit vector) in current configuration
|
||||||
|
real(pReal), dimension(3,constitutive_nonlocal_totalNslip(phase_plasticityInstance(material_phase(g,ip,el)))) :: &
|
||||||
|
n_currentconf ! slip system normal (unit vector) in current configuration
|
||||||
real(pReal), dimension(3,3) :: sigma
|
real(pReal), dimension(3,3) :: sigma
|
||||||
|
|
||||||
myInstance = phase_plasticityInstance(material_phase(g,ip,el))
|
myInstance = phase_plasticityInstance(material_phase(g,ip,el))
|
||||||
|
@ -3327,6 +3336,8 @@ m(1:3,1:ns,1) = lattice_sd(1:3,constitutive_nonlocal_slipSystemLattice(1:ns,myIn
|
||||||
m(1:3,1:ns,2) = -lattice_st(1:3,constitutive_nonlocal_slipSystemLattice(1:ns,myInstance),myStructure)
|
m(1:3,1:ns,2) = -lattice_st(1:3,constitutive_nonlocal_slipSystemLattice(1:ns,myInstance),myStructure)
|
||||||
forall (c = 1_pInt:2_pInt, s = 1_pInt:ns) &
|
forall (c = 1_pInt:2_pInt, s = 1_pInt:ns) &
|
||||||
m_currentconf(1:3,s,c) = math_mul33x3(Fe, m(1:3,s,c))
|
m_currentconf(1:3,s,c) = math_mul33x3(Fe, m(1:3,s,c))
|
||||||
|
forall (s = 1_pInt:ns) &
|
||||||
|
n_currentconf(1:3,s) = math_mul33x3(Fe, lattice_sn(1:3,constitutive_nonlocal_slipSystemLattice(s,myInstance),myStructure))
|
||||||
|
|
||||||
|
|
||||||
do o = 1_pInt,phase_Noutput(material_phase(g,ip,el))
|
do o = 1_pInt,phase_Noutput(material_phase(g,ip,el))
|
||||||
|
@ -3587,51 +3598,75 @@ do o = 1_pInt,phase_Noutput(material_phase(g,ip,el))
|
||||||
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = v(1:ns,4)
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = v(1:ns,4)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case ('fluxdensity_edge_pos_x')
|
case ('slipdirection.x')
|
||||||
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = m_currentconf(1,1:ns,1)
|
||||||
|
cs = cs + ns
|
||||||
|
|
||||||
|
case ('slipdirection.y')
|
||||||
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = m_currentconf(2,1:ns,1)
|
||||||
|
cs = cs + ns
|
||||||
|
|
||||||
|
case ('slipdirection.z')
|
||||||
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = m_currentconf(3,1:ns,1)
|
||||||
|
cs = cs + ns
|
||||||
|
|
||||||
|
case ('slipnormal.x')
|
||||||
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = n_currentconf(1,1:ns)
|
||||||
|
cs = cs + ns
|
||||||
|
|
||||||
|
case ('slipnormal.y')
|
||||||
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = n_currentconf(2,1:ns)
|
||||||
|
cs = cs + ns
|
||||||
|
|
||||||
|
case ('slipnormal.z')
|
||||||
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = n_currentconf(3,1:ns)
|
||||||
|
cs = cs + ns
|
||||||
|
|
||||||
|
case ('fluxdensity_edge_pos.x')
|
||||||
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,1) * v(1:ns,1) * m_currentconf(1,1:ns,1)
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,1) * v(1:ns,1) * m_currentconf(1,1:ns,1)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case ('fluxdensity_edge_pos_y')
|
case ('fluxdensity_edge_pos.y')
|
||||||
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,1) * v(1:ns,1) * m_currentconf(2,1:ns,1)
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,1) * v(1:ns,1) * m_currentconf(2,1:ns,1)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case ('fluxdensity_edge_pos_z')
|
case ('fluxdensity_edge_pos.z')
|
||||||
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,1) * v(1:ns,1) * m_currentconf(3,1:ns,1)
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,1) * v(1:ns,1) * m_currentconf(3,1:ns,1)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case ('fluxdensity_edge_neg_x')
|
case ('fluxdensity_edge_neg.x')
|
||||||
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,2) * v(1:ns,2) * m_currentconf(1,1:ns,1)
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,2) * v(1:ns,2) * m_currentconf(1,1:ns,1)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case ('fluxdensity_edge_neg_y')
|
case ('fluxdensity_edge_neg.y')
|
||||||
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,2) * v(1:ns,2) * m_currentconf(2,1:ns,1)
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,2) * v(1:ns,2) * m_currentconf(2,1:ns,1)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case ('fluxdensity_edge_neg_z')
|
case ('fluxdensity_edge_neg.z')
|
||||||
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,2) * v(1:ns,2) * m_currentconf(3,1:ns,1)
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,2) * v(1:ns,2) * m_currentconf(3,1:ns,1)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case ('fluxdensity_screw_pos_x')
|
case ('fluxdensity_screw_pos.x')
|
||||||
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,3) * v(1:ns,3) * m_currentconf(1,1:ns,2)
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,3) * v(1:ns,3) * m_currentconf(1,1:ns,2)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case ('fluxdensity_screw_pos_y')
|
case ('fluxdensity_screw_pos.y')
|
||||||
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,3) * v(1:ns,3) * m_currentconf(2,1:ns,2)
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,3) * v(1:ns,3) * m_currentconf(2,1:ns,2)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case ('fluxdensity_screw_pos_z')
|
case ('fluxdensity_screw_pos.z')
|
||||||
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,3) * v(1:ns,3) * m_currentconf(3,1:ns,2)
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,3) * v(1:ns,3) * m_currentconf(3,1:ns,2)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case ('fluxdensity_screw_neg_x')
|
case ('fluxdensity_screw_neg.x')
|
||||||
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,4) * v(1:ns,4) * m_currentconf(1,1:ns,2)
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,4) * v(1:ns,4) * m_currentconf(1,1:ns,2)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case ('fluxdensity_screw_neg_y')
|
case ('fluxdensity_screw_neg.y')
|
||||||
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,4) * v(1:ns,4) * m_currentconf(2,1:ns,2)
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,4) * v(1:ns,4) * m_currentconf(2,1:ns,2)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case ('fluxdensity_screw_neg_z')
|
case ('fluxdensity_screw_neg.z')
|
||||||
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,4) * v(1:ns,4) * m_currentconf(3,1:ns,2)
|
constitutive_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,4) * v(1:ns,4) * m_currentconf(3,1:ns,2)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue