need to store fraction for proper homogenization
This commit is contained in:
parent
9386ba5ef5
commit
739a4b7a26
|
@ -12,7 +12,8 @@ module discretization
|
||||||
|
|
||||||
integer, public, protected :: &
|
integer, public, protected :: &
|
||||||
discretization_nIPs, &
|
discretization_nIPs, &
|
||||||
discretization_Nelems
|
discretization_Nelems, &
|
||||||
|
discretization_Ncells
|
||||||
|
|
||||||
integer, public, protected, dimension(:), allocatable :: &
|
integer, public, protected, dimension(:), allocatable :: &
|
||||||
discretization_materialAt !ToDo: discretization_ID_material
|
discretization_materialAt !ToDo: discretization_ID_material
|
||||||
|
@ -53,6 +54,7 @@ subroutine discretization_init(materialAt,&
|
||||||
|
|
||||||
discretization_Nelems = size(materialAt,1)
|
discretization_Nelems = size(materialAt,1)
|
||||||
discretization_nIPs = size(IPcoords0,2)/discretization_Nelems
|
discretization_nIPs = size(IPcoords0,2)/discretization_Nelems
|
||||||
|
discretization_Ncells = discretization_Nelems*discretization_nIPs
|
||||||
|
|
||||||
discretization_materialAt = materialAt
|
discretization_materialAt = materialAt
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,9 @@ module material
|
||||||
material_phaseID, & ! TODO: rename to material_ID_phase
|
material_phaseID, & ! TODO: rename to material_ID_phase
|
||||||
material_phaseEntry ! TODO: rename to material_entry_phase
|
material_phaseEntry ! TODO: rename to material_entry_phase
|
||||||
|
|
||||||
|
real(pReal), dimension(:,:), allocatable, public, protected :: &
|
||||||
|
material_v ! fraction
|
||||||
|
|
||||||
public :: &
|
public :: &
|
||||||
material_init
|
material_init
|
||||||
|
|
||||||
|
@ -123,11 +126,13 @@ subroutine parse()
|
||||||
allocate(counterPhase(phases%length),source=0)
|
allocate(counterPhase(phases%length),source=0)
|
||||||
allocate(counterHomogenization(homogenizations%length),source=0)
|
allocate(counterHomogenization(homogenizations%length),source=0)
|
||||||
|
|
||||||
allocate(material_homogenizationID(discretization_nIPs*discretization_Nelems),source=0)
|
allocate(material_homogenizationID(discretization_Ncells),source=0)
|
||||||
allocate(material_homogenizationEntry(discretization_nIPs*discretization_Nelems),source=0)
|
allocate(material_homogenizationEntry(discretization_Ncells),source=0)
|
||||||
|
|
||||||
allocate(material_phaseID(homogenization_maxNconstituents,discretization_nIPs*discretization_Nelems),source=0)
|
allocate(material_phaseID(homogenization_maxNconstituents,discretization_Ncells),source=0)
|
||||||
allocate(material_phaseEntry(homogenization_maxNconstituents,discretization_nIPs*discretization_Nelems),source=0)
|
allocate(material_phaseEntry(homogenization_maxNconstituents,discretization_Ncells),source=0)
|
||||||
|
|
||||||
|
allocate(material_v(homogenization_maxNconstituents,discretization_Ncells),source=0.0_pReal)
|
||||||
|
|
||||||
do el = 1, discretization_Nelems
|
do el = 1, discretization_Nelems
|
||||||
material => materials%get(discretization_materialAt(el))
|
material => materials%get(discretization_materialAt(el))
|
||||||
|
@ -144,7 +149,9 @@ subroutine parse()
|
||||||
constituents => material%get('constituents')
|
constituents => material%get('constituents')
|
||||||
do co = 1, constituents%length
|
do co = 1, constituents%length
|
||||||
constituent => constituents%get(co)
|
constituent => constituents%get(co)
|
||||||
v = v + constituent%get_asFloat('v')
|
|
||||||
|
material_v(co,ce) = constituent%get_asFloat('v')
|
||||||
|
v = v + material_v(co,ce)
|
||||||
|
|
||||||
ph = phases%getIndex(constituent%get_asString('phase'))
|
ph = phases%getIndex(constituent%get_asString('phase'))
|
||||||
do ip = 1, discretization_nIPs
|
do ip = 1, discretization_nIPs
|
||||||
|
|
Loading…
Reference in New Issue