populateGrains and material_phase not needed
This commit is contained in:
parent
937a84231f
commit
8c5d0a5591
|
@ -139,10 +139,6 @@ module material
|
||||||
material_phaseMemberAt !< position of the element within its phase instance
|
material_phaseMemberAt !< position of the element within its phase instance
|
||||||
! END NEW MAPPINGS
|
! END NEW MAPPINGS
|
||||||
|
|
||||||
! DEPRECATED: use material_phaseAt
|
|
||||||
integer, dimension(:,:,:), allocatable, public :: &
|
|
||||||
material_phase !< phase (index) of each grain,IP,element
|
|
||||||
|
|
||||||
type(tPlasticState), allocatable, dimension(:), public :: &
|
type(tPlasticState), allocatable, dimension(:), public :: &
|
||||||
plasticState
|
plasticState
|
||||||
type(tSourceState), allocatable, dimension(:), public :: &
|
type(tSourceState), allocatable, dimension(:), public :: &
|
||||||
|
@ -230,21 +226,18 @@ module material
|
||||||
material_parseMicrostructure, &
|
material_parseMicrostructure, &
|
||||||
material_parseCrystallite, &
|
material_parseCrystallite, &
|
||||||
material_parsePhase, &
|
material_parsePhase, &
|
||||||
material_parseTexture, &
|
material_parseTexture
|
||||||
material_populateGrains
|
|
||||||
|
|
||||||
contains
|
contains
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief parses material configuration file
|
!> @brief parses material configuration file
|
||||||
!> @details figures out if solverJobName.materialConfig is present, if not looks for
|
|
||||||
!> material.config
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine material_init
|
subroutine material_init
|
||||||
|
|
||||||
integer, parameter :: FILEUNIT = 210
|
integer, parameter :: FILEUNIT = 210
|
||||||
integer :: i,e,m,c,h, myDebug, myPhase, myHomog
|
integer :: i,e,m,c,h, myDebug, myPhase, myHomog, myMicro
|
||||||
integer, dimension(:), allocatable :: &
|
integer, dimension(:), allocatable :: &
|
||||||
CounterPhase, &
|
CounterPhase, &
|
||||||
CounterHomogenization
|
CounterHomogenization
|
||||||
|
@ -322,10 +315,27 @@ subroutine material_init
|
||||||
enddo
|
enddo
|
||||||
endif debugOut
|
endif debugOut
|
||||||
|
|
||||||
call material_populateGrains
|
|
||||||
|
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
! new mappings
|
! new mappings
|
||||||
|
allocate(material_phaseAt(homogenization_maxNgrains,discretization_nElem), source=0)
|
||||||
|
allocate(material_texture(homogenization_maxNgrains,discretization_nIP,discretization_nElem), source=0) !this is only needed by plasticity nonlocal
|
||||||
|
allocate(material_EulerAngles(3,homogenization_maxNgrains,discretization_nIP,discretization_nElem),source=0.0_pReal)
|
||||||
|
|
||||||
|
do e = 1, discretization_nElem
|
||||||
|
do i = 1, discretization_nIP
|
||||||
|
myMicro = discretization_microstructureAt(e)
|
||||||
|
do c = 1, homogenization_Ngrains(discretization_homogenizationAt(e))
|
||||||
|
material_phaseAt(c,e) = microstructure_phase(c,myMicro)
|
||||||
|
material_texture(c,i,e) = microstructure_texture(c,myMicro)
|
||||||
|
material_EulerAngles(1:3,c,i,e) = texture_Gauss(1:3,material_texture(c,i,e)) ! this is a copy of crystallite_orientation0
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
|
||||||
|
deallocate(microstructure_phase)
|
||||||
|
deallocate(microstructure_texture)
|
||||||
|
|
||||||
|
|
||||||
allocate(material_homogenizationAt,source=discretization_homogenizationAt)
|
allocate(material_homogenizationAt,source=discretization_homogenizationAt)
|
||||||
allocate(material_homogenizationMemberAt(discretization_nIP,discretization_nElem),source=0)
|
allocate(material_homogenizationMemberAt(discretization_nIP,discretization_nElem),source=0)
|
||||||
|
|
||||||
|
@ -338,8 +348,6 @@ subroutine material_init
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
|
||||||
allocate(material_phaseAt(homogenization_maxNgrains,discretization_nElem), source=material_phase(:,1,:))
|
|
||||||
allocate(material_phaseMemberAt(homogenization_maxNgrains,discretization_nIP,discretization_nElem),source=0)
|
allocate(material_phaseMemberAt(homogenization_maxNgrains,discretization_nIP,discretization_nElem),source=0)
|
||||||
|
|
||||||
allocate(CounterPhase(size(config_phase)),source=0)
|
allocate(CounterPhase(size(config_phase)),source=0)
|
||||||
|
@ -834,35 +842,4 @@ subroutine material_allocateSourceState(phase,of,NofMyPhase,&
|
||||||
|
|
||||||
end subroutine material_allocateSourceState
|
end subroutine material_allocateSourceState
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
!> @brief populates the grains
|
|
||||||
!> @details populates the grains by identifying active microstructure/homogenization pairs,
|
|
||||||
!! calculates the volume of the grains and deals with texture components
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
subroutine material_populateGrains
|
|
||||||
|
|
||||||
integer :: e,i,c,homog,micro
|
|
||||||
|
|
||||||
allocate(material_phase(homogenization_maxNgrains,discretization_nIP,discretization_nElem), source=0)
|
|
||||||
allocate(material_texture(homogenization_maxNgrains,discretization_nIP,discretization_nElem), source=0)
|
|
||||||
allocate(material_EulerAngles(3,homogenization_maxNgrains,discretization_nIP,discretization_nElem),source=0.0_pReal)
|
|
||||||
|
|
||||||
do e = 1, discretization_nElem
|
|
||||||
do i = 1, discretization_nIP
|
|
||||||
homog = discretization_homogenizationAt(e)
|
|
||||||
micro = discretization_microstructureAt(e)
|
|
||||||
do c = 1, homogenization_Ngrains(homog)
|
|
||||||
material_phase(c,i,e) = microstructure_phase(c,micro)
|
|
||||||
material_texture(c,i,e) = microstructure_texture(c,micro)
|
|
||||||
material_EulerAngles(1:3,c,i,e) = texture_Gauss(1:3,material_texture(c,i,e))
|
|
||||||
enddo
|
|
||||||
enddo
|
|
||||||
enddo
|
|
||||||
|
|
||||||
deallocate(microstructure_phase)
|
|
||||||
deallocate(microstructure_texture)
|
|
||||||
|
|
||||||
end subroutine material_populateGrains
|
|
||||||
|
|
||||||
end module material
|
end module material
|
||||||
|
|
Loading…
Reference in New Issue