reading in parameters using new style in parallel
This commit is contained in:
parent
f9214c8e1b
commit
63b939489b
|
@ -1,9 +1,10 @@
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH
|
||||||
!> @author Denny Tjahjanto, Max-Planck-Institut für Eisenforschung GmbH
|
!> @author Denny Tjahjanto, Max-Planck-Institut für Eisenforschung GmbH
|
||||||
!> @author Franz Roters, Max-Planck-Institut für Eisenforschung GmbH
|
!> @author Franz Roters, Max-Planck-Institut für Eisenforschung GmbH
|
||||||
!> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH
|
!> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH
|
||||||
!> @brief Relaxed grain cluster (RGC) homogenization scheme
|
!> @brief Relaxed grain cluster (RGC) homogenization scheme
|
||||||
!> Ngrains is defined as p x q x r (cluster)
|
!> Nconstituents is defined as p x q x r (cluster)
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module homogenization_RGC
|
module homogenization_RGC
|
||||||
use prec, only: &
|
use prec, only: &
|
||||||
|
@ -62,6 +63,8 @@ module homogenization_RGC
|
||||||
integer(kind(undefined_ID)), dimension(:,:), allocatable, private :: &
|
integer(kind(undefined_ID)), dimension(:,:), allocatable, private :: &
|
||||||
homogenization_RGC_outputID !< ID of each post result output
|
homogenization_RGC_outputID !< ID of each post result output
|
||||||
|
|
||||||
|
type(tParameters), dimension(:), allocatable, private :: param !< containers of constitutive parameters (len Ninstance)
|
||||||
|
|
||||||
public :: &
|
public :: &
|
||||||
homogenization_RGC_init, &
|
homogenization_RGC_init, &
|
||||||
homogenization_RGC_partitionDeformation, &
|
homogenization_RGC_partitionDeformation, &
|
||||||
|
@ -124,13 +127,14 @@ subroutine homogenization_RGC_init(fileUnit)
|
||||||
integer :: &
|
integer :: &
|
||||||
homog, &
|
homog, &
|
||||||
NofMyHomog, &
|
NofMyHomog, &
|
||||||
o, &
|
o, h, &
|
||||||
instance, &
|
instance, &
|
||||||
sizeHState
|
sizeHState
|
||||||
integer(pInt) :: section=0_pInt, maxNinstance, i,j,e, mySize, myInstance
|
integer(pInt) :: section=0_pInt, maxNinstance, i,j,e, mySize, myInstance
|
||||||
character(len=65536) :: &
|
character(len=65536) :: &
|
||||||
tag = '', &
|
tag = '', &
|
||||||
line = ''
|
line = ''
|
||||||
|
type(tParameters) :: prm
|
||||||
|
|
||||||
write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_RGC_label//' init -+>>>'
|
write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_RGC_label//' init -+>>>'
|
||||||
write(6,'(/,a)') ' Tjahjanto et al., International Journal of Material Forming, 2(1):939–942, 2009'
|
write(6,'(/,a)') ' Tjahjanto et al., International Journal of Material Forming, 2(1):939–942, 2009'
|
||||||
|
@ -161,6 +165,20 @@ subroutine homogenization_RGC_init(fileUnit)
|
||||||
allocate(homogenization_RGC_orientation(3,3,mesh_maxNips,mesh_NcpElems), source=0.0_pReal)
|
allocate(homogenization_RGC_orientation(3,3,mesh_maxNips,mesh_NcpElems), source=0.0_pReal)
|
||||||
homogenization_RGC_orientation = spread(spread(math_I3,3,mesh_maxNips),4,mesh_NcpElems) ! initialize to identity
|
homogenization_RGC_orientation = spread(spread(math_I3,3,mesh_maxNips),4,mesh_NcpElems) ! initialize to identity
|
||||||
|
|
||||||
|
do h = 1_pInt, size(homogenization_type)
|
||||||
|
if (homogenization_type(h) /= HOMOGENIZATION_RGC_ID) cycle
|
||||||
|
instance = homogenization_typeInstance(h)
|
||||||
|
associate(prm => param(instance))
|
||||||
|
prm%Nconstituents = config_homogenization(h)%getInts('clustersize',requiredShape=[3])
|
||||||
|
if (homogenization_Ngrains(section) /= product(prm%Nconstituents)) &
|
||||||
|
call IO_error(211_pInt,ext_msg=trim(tag)//' ('//HOMOGENIZATION_RGC_label//')')
|
||||||
|
prm%xiAlpha = config_homogenization(h)%getFloat('scalingparameter')
|
||||||
|
prm%ciAlpha = config_homogenization(h)%getFloat('overproportionality')
|
||||||
|
prm%dAlpha = config_homogenization(h)%getFloats('grainsize',requiredShape=[3])
|
||||||
|
prm%angles = config_homogenization(h)%getFloats('clusterorientation', requiredShape=[3])
|
||||||
|
end associate
|
||||||
|
enddo
|
||||||
|
|
||||||
rewind(fileUnit)
|
rewind(fileUnit)
|
||||||
do while (trim(line) /= IO_EOF .and. IO_lc(IO_getTag(line,'<','>'))/=material_partHomogenization) ! wind forward to <homogenization>
|
do while (trim(line) /= IO_EOF .and. IO_lc(IO_getTag(line,'<','>'))/=material_partHomogenization) ! wind forward to <homogenization>
|
||||||
line = IO_read(fileUnit)
|
line = IO_read(fileUnit)
|
||||||
|
|
Loading…
Reference in New Issue