use new elem/mesh variables
This commit is contained in:
parent
94a24e45ee
commit
8962635136
|
@ -281,8 +281,7 @@ use IO, only: IO_read, &
|
||||||
use debug, only: debug_level, &
|
use debug, only: debug_level, &
|
||||||
debug_constitutive, &
|
debug_constitutive, &
|
||||||
debug_levelBasic
|
debug_levelBasic
|
||||||
use mesh, only: mesh_NcpElems, &
|
use mesh, only: theMesh, &
|
||||||
mesh_maxNips, &
|
|
||||||
mesh_maxNipNeighbors
|
mesh_maxNipNeighbors
|
||||||
use material, only: phase_plasticity, &
|
use material, only: phase_plasticity, &
|
||||||
homogenization_maxNgrains, &
|
homogenization_maxNgrains, &
|
||||||
|
@ -1091,23 +1090,23 @@ allocate(forestProjectionEdge(maxTotalNslip,maxTotalNslip,maxNinstances),
|
||||||
allocate(forestProjectionScrew(maxTotalNslip,maxTotalNslip,maxNinstances), source=0.0_pReal)
|
allocate(forestProjectionScrew(maxTotalNslip,maxTotalNslip,maxNinstances), source=0.0_pReal)
|
||||||
allocate(interactionMatrixSlipSlip(maxTotalNslip,maxTotalNslip,maxNinstances), source=0.0_pReal)
|
allocate(interactionMatrixSlipSlip(maxTotalNslip,maxTotalNslip,maxNinstances), source=0.0_pReal)
|
||||||
allocate(lattice2slip(1:3, 1:3, maxTotalNslip,maxNinstances), source=0.0_pReal)
|
allocate(lattice2slip(1:3, 1:3, maxTotalNslip,maxNinstances), source=0.0_pReal)
|
||||||
allocate(sourceProbability(maxTotalNslip,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems), &
|
allocate(sourceProbability(maxTotalNslip,homogenization_maxNgrains,theMesh%elem%nIPs,theMesh%nElems), &
|
||||||
source=2.0_pReal)
|
source=2.0_pReal)
|
||||||
|
|
||||||
allocate(rhoDotFluxOutput(maxTotalNslip,8,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems), &
|
allocate(rhoDotFluxOutput(maxTotalNslip,8,homogenization_maxNgrains,theMesh%elem%nIPs,theMesh%nElems), &
|
||||||
source=0.0_pReal)
|
source=0.0_pReal)
|
||||||
allocate(rhoDotMultiplicationOutput(maxTotalNslip,2,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems), &
|
allocate(rhoDotMultiplicationOutput(maxTotalNslip,2,homogenization_maxNgrains,theMesh%elem%nIPs,theMesh%nElems), &
|
||||||
source=0.0_pReal)
|
source=0.0_pReal)
|
||||||
allocate(rhoDotSingle2DipoleGlideOutput(maxTotalNslip,2,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems), &
|
allocate(rhoDotSingle2DipoleGlideOutput(maxTotalNslip,2,homogenization_maxNgrains,theMesh%elem%nIPs,theMesh%nElems), &
|
||||||
source=0.0_pReal)
|
source=0.0_pReal)
|
||||||
allocate(rhoDotAthermalAnnihilationOutput(maxTotalNslip,2,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems), &
|
allocate(rhoDotAthermalAnnihilationOutput(maxTotalNslip,2,homogenization_maxNgrains,theMesh%elem%nIPs,theMesh%nElems), &
|
||||||
source=0.0_pReal)
|
source=0.0_pReal)
|
||||||
allocate(rhoDotThermalAnnihilationOutput(maxTotalNslip,2,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems), &
|
allocate(rhoDotThermalAnnihilationOutput(maxTotalNslip,2,homogenization_maxNgrains,theMesh%elem%nIPs,theMesh%nElems), &
|
||||||
source=0.0_pReal)
|
source=0.0_pReal)
|
||||||
allocate(rhoDotEdgeJogsOutput(maxTotalNslip,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems), &
|
allocate(rhoDotEdgeJogsOutput(maxTotalNslip,homogenization_maxNgrains,theMesh%elem%nIPs,theMesh%nElems), &
|
||||||
source=0.0_pReal)
|
source=0.0_pReal)
|
||||||
|
|
||||||
allocate(compatibility(2,maxTotalNslip,maxTotalNslip,mesh_maxNipNeighbors,mesh_maxNips,mesh_NcpElems), &
|
allocate(compatibility(2,maxTotalNslip,maxTotalNslip,mesh_maxNipNeighbors,theMesh%elem%nIPs,theMesh%nElems), &
|
||||||
source=0.0_pReal)
|
source=0.0_pReal)
|
||||||
allocate(peierlsStress(maxTotalNslip,2,maxNinstances), source=0.0_pReal)
|
allocate(peierlsStress(maxTotalNslip,2,maxNinstances), source=0.0_pReal)
|
||||||
allocate(colinearSystem(maxTotalNslip,maxNinstances), source=0_pInt)
|
allocate(colinearSystem(maxTotalNslip,maxNinstances), source=0_pInt)
|
||||||
|
@ -1404,10 +1403,8 @@ use IO, only: IO_error
|
||||||
use lattice, only: lattice_maxNslipFamily
|
use lattice, only: lattice_maxNslipFamily
|
||||||
use math, only: math_sampleGaussVar
|
use math, only: math_sampleGaussVar
|
||||||
use mesh, only: mesh_ipVolume, &
|
use mesh, only: mesh_ipVolume, &
|
||||||
mesh_NcpElems, &
|
theMesh, &
|
||||||
mesh_element, &
|
mesh_element
|
||||||
FE_Nips, &
|
|
||||||
FE_geomtype
|
|
||||||
use material, only: material_phase, &
|
use material, only: material_phase, &
|
||||||
phase_plasticityInstance, &
|
phase_plasticityInstance, &
|
||||||
plasticState, &
|
plasticState, &
|
||||||
|
@ -1446,8 +1443,8 @@ do instance = 1_pInt,maxNinstances
|
||||||
|
|
||||||
minimumIpVolume = huge(1.0_pReal)
|
minimumIpVolume = huge(1.0_pReal)
|
||||||
totalVolume = 0.0_pReal
|
totalVolume = 0.0_pReal
|
||||||
do e = 1_pInt,mesh_NcpElems
|
do e = 1_pInt,theMesh%nElems
|
||||||
do i = 1_pInt,FE_Nips(FE_geomtype(mesh_element(2,e)))
|
do i = 1_pInt,theMesh%elem%nIPs
|
||||||
if (PLASTICITY_NONLOCAL_ID == phase_plasticity(material_phase(1,i,e)) &
|
if (PLASTICITY_NONLOCAL_ID == phase_plasticity(material_phase(1,i,e)) &
|
||||||
.and. instance == phase_plasticityInstance(material_phase(1,i,e))) then
|
.and. instance == phase_plasticityInstance(material_phase(1,i,e))) then
|
||||||
totalVolume = totalVolume + mesh_ipVolume(i,e)
|
totalVolume = totalVolume + mesh_ipVolume(i,e)
|
||||||
|
@ -1462,8 +1459,8 @@ do instance = 1_pInt,maxNinstances
|
||||||
meanDensity = 0.0_pReal
|
meanDensity = 0.0_pReal
|
||||||
do while(meanDensity < rhoSglRandom(instance))
|
do while(meanDensity < rhoSglRandom(instance))
|
||||||
call random_number(rnd)
|
call random_number(rnd)
|
||||||
e = nint(rnd(1)*real(mesh_NcpElems,pReal)+0.5_pReal,pInt)
|
e = nint(rnd(1)*real(theMesh%nElems,pReal)+0.5_pReal,pInt)
|
||||||
i = nint(rnd(2)*real(FE_Nips(FE_geomtype(mesh_element(2,e))),pReal)+0.5_pReal,pInt)
|
i = nint(rnd(2)*real(theMesh%elem%nIPs,pReal)+0.5_pReal,pInt)
|
||||||
if (PLASTICITY_NONLOCAL_ID == phase_plasticity(material_phase(1,i,e)) &
|
if (PLASTICITY_NONLOCAL_ID == phase_plasticity(material_phase(1,i,e)) &
|
||||||
.and. instance == phase_plasticityInstance(material_phase(1,i,e))) then
|
.and. instance == phase_plasticityInstance(material_phase(1,i,e))) then
|
||||||
s = nint(rnd(3)*real(ns,pReal)+0.5_pReal,pInt)
|
s = nint(rnd(3)*real(ns,pReal)+0.5_pReal,pInt)
|
||||||
|
@ -1476,8 +1473,8 @@ do instance = 1_pInt,maxNinstances
|
||||||
enddo
|
enddo
|
||||||
! homogeneous distribution of density with some noise
|
! homogeneous distribution of density with some noise
|
||||||
else
|
else
|
||||||
do e = 1_pInt,mesh_NcpElems
|
do e = 1_pInt,theMesh%nElems
|
||||||
do i = 1_pInt,FE_Nips(FE_geomtype(mesh_element(2,e)))
|
do i = 1_pInt,theMesh%elem%nIPs
|
||||||
if (PLASTICITY_NONLOCAL_ID == phase_plasticity(material_phase(1,i,e)) &
|
if (PLASTICITY_NONLOCAL_ID == phase_plasticity(material_phase(1,i,e)) &
|
||||||
.and. instance == phase_plasticityInstance(material_phase(1,i,e))) then
|
.and. instance == phase_plasticityInstance(material_phase(1,i,e))) then
|
||||||
do f = 1_pInt,lattice_maxNslipFamily
|
do f = 1_pInt,lattice_maxNslipFamily
|
||||||
|
@ -1559,16 +1556,13 @@ use debug, only: &
|
||||||
debug_i, &
|
debug_i, &
|
||||||
debug_e
|
debug_e
|
||||||
use mesh, only: &
|
use mesh, only: &
|
||||||
|
theMesh, &
|
||||||
mesh_element, &
|
mesh_element, &
|
||||||
mesh_ipNeighborhood, &
|
mesh_ipNeighborhood, &
|
||||||
mesh_ipCoordinates, &
|
mesh_ipCoordinates, &
|
||||||
mesh_ipVolume, &
|
mesh_ipVolume, &
|
||||||
mesh_ipAreaNormal, &
|
mesh_ipAreaNormal, &
|
||||||
mesh_ipArea, &
|
mesh_ipArea
|
||||||
FE_NipNeighbors, &
|
|
||||||
mesh_maxNipNeighbors, &
|
|
||||||
FE_geomtype, &
|
|
||||||
FE_celltype
|
|
||||||
use material, only: &
|
use material, only: &
|
||||||
material_phase, &
|
material_phase, &
|
||||||
phase_localPlasticity, &
|
phase_localPlasticity, &
|
||||||
|
@ -1628,7 +1622,7 @@ real(pReal), dimension(3,3) :: invFe, & ! inverse of elast
|
||||||
invFp, & ! inverse of plastic deformation gradient
|
invFp, & ! inverse of plastic deformation gradient
|
||||||
connections, &
|
connections, &
|
||||||
invConnections
|
invConnections
|
||||||
real(pReal), dimension(3,mesh_maxNipNeighbors) :: &
|
real(pReal), dimension(3,theMesh%elem%nIPneighbors) :: &
|
||||||
connection_latticeConf
|
connection_latticeConf
|
||||||
real(pReal), dimension(2,totalNslip(phase_plasticityInstance(material_phase(1_pInt,ip,el)))) :: &
|
real(pReal), dimension(2,totalNslip(phase_plasticityInstance(material_phase(1_pInt,ip,el)))) :: &
|
||||||
rhoExcess
|
rhoExcess
|
||||||
|
@ -1639,7 +1633,7 @@ real(pReal), dimension(totalNslip(phase_plasticityInstance(material_phase(1_pInt
|
||||||
real(pReal), dimension(totalNslip(phase_plasticityInstance(material_phase(1_pInt,ip,el))), &
|
real(pReal), dimension(totalNslip(phase_plasticityInstance(material_phase(1_pInt,ip,el))), &
|
||||||
totalNslip(phase_plasticityInstance(material_phase(1_pInt,ip,el)))) :: &
|
totalNslip(phase_plasticityInstance(material_phase(1_pInt,ip,el)))) :: &
|
||||||
myInteractionMatrix ! corrected slip interaction matrix
|
myInteractionMatrix ! corrected slip interaction matrix
|
||||||
real(pReal), dimension(2,maxval(totalNslip),mesh_maxNipNeighbors) :: &
|
real(pReal), dimension(2,maxval(totalNslip),theMesh%elem%nIPneighbors) :: &
|
||||||
neighbor_rhoExcess, & ! excess density at neighboring material point
|
neighbor_rhoExcess, & ! excess density at neighboring material point
|
||||||
neighbor_rhoTotal ! total density at neighboring material point
|
neighbor_rhoTotal ! total density at neighboring material point
|
||||||
real(pReal), dimension(3,totalNslip(phase_plasticityInstance(material_phase(1_pInt,ip,el))),2) :: &
|
real(pReal), dimension(3,totalNslip(phase_plasticityInstance(material_phase(1_pInt,ip,el))),2) :: &
|
||||||
|
@ -1714,7 +1708,7 @@ if (.not. phase_localPlasticity(ph) .and. shortRangeStressCorrection(instance))
|
||||||
|
|
||||||
nRealNeighbors = 0_pInt
|
nRealNeighbors = 0_pInt
|
||||||
neighbor_rhoTotal = 0.0_pReal
|
neighbor_rhoTotal = 0.0_pReal
|
||||||
do n = 1_pInt,FE_NipNeighbors(FE_celltype(FE_geomtype(mesh_element(2,el))))
|
do n = 1_pInt,theMesh%elem%nIPneighbors
|
||||||
neighbor_el = mesh_ipNeighborhood(1,n,ip,el)
|
neighbor_el = mesh_ipNeighborhood(1,n,ip,el)
|
||||||
neighbor_ip = mesh_ipNeighborhood(2,n,ip,el)
|
neighbor_ip = mesh_ipNeighborhood(2,n,ip,el)
|
||||||
np = phaseAt(1,neighbor_ip,neighbor_el)
|
np = phaseAt(1,neighbor_ip,neighbor_el)
|
||||||
|
@ -2400,16 +2394,12 @@ use math, only: math_mul6x6, &
|
||||||
math_det33, &
|
math_det33, &
|
||||||
math_transpose33, &
|
math_transpose33, &
|
||||||
pi
|
pi
|
||||||
use mesh, only: mesh_NcpElems, &
|
use mesh, only: theMesh, &
|
||||||
mesh_maxNips, &
|
|
||||||
mesh_element, &
|
mesh_element, &
|
||||||
mesh_ipNeighborhood, &
|
mesh_ipNeighborhood, &
|
||||||
mesh_ipVolume, &
|
mesh_ipVolume, &
|
||||||
mesh_ipArea, &
|
mesh_ipArea, &
|
||||||
mesh_ipAreaNormal, &
|
mesh_ipAreaNormal
|
||||||
FE_NipNeighbors, &
|
|
||||||
FE_geomtype, &
|
|
||||||
FE_celltype
|
|
||||||
use material, only: homogenization_maxNgrains, &
|
use material, only: homogenization_maxNgrains, &
|
||||||
material_phase, &
|
material_phase, &
|
||||||
phase_plasticityInstance, &
|
phase_plasticityInstance, &
|
||||||
|
@ -2435,9 +2425,9 @@ integer(pInt), intent(in) :: ip, &
|
||||||
real(pReal), intent(in) :: Temperature, & !< temperature
|
real(pReal), intent(in) :: Temperature, & !< temperature
|
||||||
timestep !< substepped crystallite time increment
|
timestep !< substepped crystallite time increment
|
||||||
real(pReal), dimension(6), intent(in) :: Tstar_v !< current 2nd Piola-Kirchhoff stress in Mandel notation
|
real(pReal), dimension(6), intent(in) :: Tstar_v !< current 2nd Piola-Kirchhoff stress in Mandel notation
|
||||||
real(pReal), dimension(homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems), intent(in) :: &
|
real(pReal), dimension(homogenization_maxNgrains,theMesh%elem%nIPs,theMesh%nElems), intent(in) :: &
|
||||||
subfrac !< fraction of timestep at the beginning of the substepped crystallite time increment
|
subfrac !< fraction of timestep at the beginning of the substepped crystallite time increment
|
||||||
real(pReal), dimension(3,3,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems), intent(in) :: &
|
real(pReal), dimension(3,3,homogenization_maxNgrains,theMesh%elem%nIPs,theMesh%nElems), intent(in) :: &
|
||||||
Fe, & !< elastic deformation gradient
|
Fe, & !< elastic deformation gradient
|
||||||
Fp !< plastic deformation gradient
|
Fp !< plastic deformation gradient
|
||||||
|
|
||||||
|
@ -2716,8 +2706,8 @@ if (.not. phase_localPlasticity(material_phase(1_pInt,ip,el))) then
|
||||||
my_Fe = Fe(1:3,1:3,1_pInt,ip,el)
|
my_Fe = Fe(1:3,1:3,1_pInt,ip,el)
|
||||||
my_F = math_mul33x33(my_Fe, Fp(1:3,1:3,1_pInt,ip,el))
|
my_F = math_mul33x33(my_Fe, Fp(1:3,1:3,1_pInt,ip,el))
|
||||||
|
|
||||||
do n = 1_pInt,FE_NipNeighbors(FE_celltype(FE_geomtype(mesh_element(2,el)))) ! loop through my neighbors
|
do n = 1_pInt,theMesh%elem%nIPneighbors
|
||||||
! write(6,*) 'c'
|
|
||||||
neighbor_el = mesh_ipNeighborhood(1,n,ip,el)
|
neighbor_el = mesh_ipNeighborhood(1,n,ip,el)
|
||||||
neighbor_ip = mesh_ipNeighborhood(2,n,ip,el)
|
neighbor_ip = mesh_ipNeighborhood(2,n,ip,el)
|
||||||
neighbor_n = mesh_ipNeighborhood(3,n,ip,el)
|
neighbor_n = mesh_ipNeighborhood(3,n,ip,el)
|
||||||
|
@ -3016,11 +3006,7 @@ use material, only: material_phase, &
|
||||||
homogenization_maxNgrains
|
homogenization_maxNgrains
|
||||||
use mesh, only: mesh_element, &
|
use mesh, only: mesh_element, &
|
||||||
mesh_ipNeighborhood, &
|
mesh_ipNeighborhood, &
|
||||||
mesh_maxNips, &
|
theMesh
|
||||||
mesh_NcpElems, &
|
|
||||||
FE_NipNeighbors, &
|
|
||||||
FE_geomtype, &
|
|
||||||
FE_celltype
|
|
||||||
use lattice, only: lattice_sn, &
|
use lattice, only: lattice_sn, &
|
||||||
lattice_sd, &
|
lattice_sd, &
|
||||||
lattice_qDisorientation
|
lattice_qDisorientation
|
||||||
|
@ -3030,7 +3016,7 @@ implicit none
|
||||||
!* input variables
|
!* input variables
|
||||||
integer(pInt), intent(in) :: i, & ! ip index
|
integer(pInt), intent(in) :: i, & ! ip index
|
||||||
e ! element index
|
e ! element index
|
||||||
real(pReal), dimension(4,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems), intent(in) :: &
|
real(pReal), dimension(4,homogenization_maxNgrains,theMesh%elem%nIPs,theMesh%nElems), intent(in) :: &
|
||||||
orientation ! crystal orientation in quaternions
|
orientation ! crystal orientation in quaternions
|
||||||
|
|
||||||
!* local variables
|
!* local variables
|
||||||
|
@ -3049,7 +3035,7 @@ integer(pInt) Nneighbors, &
|
||||||
real(pReal), dimension(4) :: absoluteMisorientation ! absolute misorientation (without symmetry) between me and my neighbor
|
real(pReal), dimension(4) :: absoluteMisorientation ! absolute misorientation (without symmetry) between me and my neighbor
|
||||||
real(pReal), dimension(2,totalNslip(phase_plasticityInstance(material_phase(1,i,e))),&
|
real(pReal), dimension(2,totalNslip(phase_plasticityInstance(material_phase(1,i,e))),&
|
||||||
totalNslip(phase_plasticityInstance(material_phase(1,i,e))),&
|
totalNslip(phase_plasticityInstance(material_phase(1,i,e))),&
|
||||||
FE_NipNeighbors(FE_celltype(FE_geomtype(mesh_element(2,e))))) :: &
|
theMesh%elem%nIPneighbors) :: &
|
||||||
my_compatibility ! my_compatibility for current element and ip
|
my_compatibility ! my_compatibility for current element and ip
|
||||||
real(pReal), dimension(3,totalNslip(phase_plasticityInstance(material_phase(1,i,e)))) :: &
|
real(pReal), dimension(3,totalNslip(phase_plasticityInstance(material_phase(1,i,e)))) :: &
|
||||||
slipNormal, &
|
slipNormal, &
|
||||||
|
@ -3061,7 +3047,7 @@ logical, dimension(totalNslip(phase_plasticityInstance(material_phase(1,i,e))))
|
||||||
belowThreshold
|
belowThreshold
|
||||||
|
|
||||||
|
|
||||||
Nneighbors = FE_NipNeighbors(FE_celltype(FE_geomtype(mesh_element(2,e))))
|
Nneighbors = theMesh%elem%nIPneighbors
|
||||||
ph = material_phase(1,i,e)
|
ph = material_phase(1,i,e)
|
||||||
textureID = material_texture(1,i,e)
|
textureID = material_texture(1,i,e)
|
||||||
instance = phase_plasticityInstance(ph)
|
instance = phase_plasticityInstance(ph)
|
||||||
|
@ -3174,15 +3160,12 @@ use math, only: math_mul33x33, &
|
||||||
math_inv33, &
|
math_inv33, &
|
||||||
math_transpose33, &
|
math_transpose33, &
|
||||||
pi
|
pi
|
||||||
use mesh, only: mesh_NcpElems, &
|
use mesh, only: theMesh, &
|
||||||
mesh_maxNips, &
|
|
||||||
mesh_element, &
|
mesh_element, &
|
||||||
mesh_node0, &
|
mesh_node0, &
|
||||||
mesh_cellCenterCoordinates, &
|
mesh_cellCenterCoordinates, &
|
||||||
mesh_ipVolume, &
|
mesh_ipVolume, &
|
||||||
mesh_periodicSurface, &
|
mesh_periodicSurface
|
||||||
FE_Nips, &
|
|
||||||
FE_geomtype
|
|
||||||
use material, only: homogenization_maxNgrains, &
|
use material, only: homogenization_maxNgrains, &
|
||||||
material_phase, &
|
material_phase, &
|
||||||
plasticState, &
|
plasticState, &
|
||||||
|
@ -3197,7 +3180,7 @@ implicit none
|
||||||
!*** input variables
|
!*** input variables
|
||||||
integer(pInt), intent(in) :: ip, & !< current integration point
|
integer(pInt), intent(in) :: ip, & !< current integration point
|
||||||
el !< current element
|
el !< current element
|
||||||
real(pReal), dimension(3,3,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems), intent(in) :: &
|
real(pReal), dimension(3,3,homogenization_maxNgrains,theMesh%elem%nIPs,theMesh%nElems), intent(in) :: &
|
||||||
Fe !< elastic deformation gradient
|
Fe !< elastic deformation gradient
|
||||||
|
|
||||||
!*** output variables
|
!*** output variables
|
||||||
|
@ -3295,8 +3278,8 @@ if (.not. phase_localPlasticity(ph)) then
|
||||||
!* loop through all material points (also through their periodic images if present),
|
!* loop through all material points (also through their periodic images if present),
|
||||||
!* but only consider nonlocal neighbors within a certain cutoff radius R
|
!* but only consider nonlocal neighbors within a certain cutoff radius R
|
||||||
|
|
||||||
do neighbor_el = 1_pInt,mesh_NcpElems
|
do neighbor_el = 1_pInt,theMesh%nElems
|
||||||
ipLoop: do neighbor_ip = 1_pInt,FE_Nips(FE_geomtype(mesh_element(2,neighbor_el)))
|
ipLoop: do neighbor_ip = 1_pInt,theMesh%elem%nIPs
|
||||||
neighbor_phase = material_phase(1_pInt,neighbor_ip,neighbor_el)
|
neighbor_phase = material_phase(1_pInt,neighbor_ip,neighbor_el)
|
||||||
np = phaseAt(1,neighbor_ip,neighbor_el)
|
np = phaseAt(1,neighbor_ip,neighbor_el)
|
||||||
no = phasememberAt(1,neighbor_ip,neighbor_el)
|
no = phasememberAt(1,neighbor_ip,neighbor_el)
|
||||||
|
@ -3523,8 +3506,7 @@ function plastic_nonlocal_postResults(Tstar_v,Fe,ip,el)
|
||||||
math_mul33x33, &
|
math_mul33x33, &
|
||||||
pi
|
pi
|
||||||
use mesh, only: &
|
use mesh, only: &
|
||||||
mesh_NcpElems, &
|
theMesh
|
||||||
mesh_maxNips
|
|
||||||
use material, only: &
|
use material, only: &
|
||||||
homogenization_maxNgrains, &
|
homogenization_maxNgrains, &
|
||||||
material_phase, &
|
material_phase, &
|
||||||
|
@ -3542,7 +3524,7 @@ function plastic_nonlocal_postResults(Tstar_v,Fe,ip,el)
|
||||||
implicit none
|
implicit none
|
||||||
real(pReal), dimension(6), intent(in) :: &
|
real(pReal), dimension(6), intent(in) :: &
|
||||||
Tstar_v !< 2nd Piola Kirchhoff stress tensor in Mandel notation
|
Tstar_v !< 2nd Piola Kirchhoff stress tensor in Mandel notation
|
||||||
real(pReal), dimension(3,3,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems), intent(in) :: &
|
real(pReal), dimension(3,3,homogenization_maxNgrains,theMesh%elem%nIPs,theMesh%nElems), intent(in) :: &
|
||||||
Fe !< elastic deformation gradient
|
Fe !< elastic deformation gradient
|
||||||
integer(pInt), intent(in) :: &
|
integer(pInt), intent(in) :: &
|
||||||
ip, & !< integration point
|
ip, & !< integration point
|
||||||
|
|
Loading…
Reference in New Issue