2014-03-14 04:50:50 +05:30
|
|
|
!--------------------------------------------------------------------------------------------------
|
|
|
|
!> @author Franz Roters, Max-Planck-Institut für Eisenforschung GmbH
|
|
|
|
!> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH
|
2014-05-08 23:14:28 +05:30
|
|
|
!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH
|
2019-01-13 02:34:03 +05:30
|
|
|
!> @brief dummy homogenization homogenization scheme for 1 constituent per material point
|
2014-03-14 04:50:50 +05:30
|
|
|
!--------------------------------------------------------------------------------------------------
|
2021-04-06 15:35:47 +05:30
|
|
|
submodule(homogenization:mechanical) mechanical_pass
|
2014-03-14 04:50:50 +05:30
|
|
|
|
|
|
|
contains
|
|
|
|
|
|
|
|
!--------------------------------------------------------------------------------------------------
|
2020-07-03 20:15:11 +05:30
|
|
|
!> @brief allocates all necessary fields, reads information from material configuration file
|
2014-03-14 04:50:50 +05:30
|
|
|
!--------------------------------------------------------------------------------------------------
|
2021-04-06 15:35:47 +05:30
|
|
|
module subroutine pass_init
|
2020-07-03 20:15:11 +05:30
|
|
|
|
2019-03-09 12:17:01 +05:30
|
|
|
integer :: &
|
2021-04-11 15:48:26 +05:30
|
|
|
ho, &
|
2021-05-23 13:40:25 +05:30
|
|
|
Nmembers
|
2020-07-03 20:15:11 +05:30
|
|
|
|
2021-11-15 23:05:44 +05:30
|
|
|
print'(/,1x,a)', '<<<+- homogenization:mechanical:pass init -+>>>'
|
2019-05-18 10:53:46 +05:30
|
|
|
|
2021-11-15 23:05:44 +05:30
|
|
|
print'(/,a,i0)', ' # homogenizations: ',count(homogenization_type == HOMOGENIZATION_NONE_ID)
|
2021-04-11 15:48:26 +05:30
|
|
|
flush(IO_STDOUT)
|
2020-07-03 20:15:11 +05:30
|
|
|
|
2021-04-11 15:48:26 +05:30
|
|
|
do ho = 1, size(homogenization_type)
|
2021-11-15 23:05:44 +05:30
|
|
|
if (homogenization_type(ho) /= HOMOGENIZATION_NONE_ID) cycle
|
2020-07-03 20:15:11 +05:30
|
|
|
|
2021-11-15 23:05:44 +05:30
|
|
|
if (homogenization_Nconstituents(ho) /= 1) &
|
2021-04-06 15:35:47 +05:30
|
|
|
call IO_error(211,ext_msg='N_constituents (pass)')
|
2020-12-16 15:51:24 +05:30
|
|
|
|
2021-05-23 13:40:25 +05:30
|
|
|
Nmembers = count(material_homogenizationID == ho)
|
2021-04-11 15:48:26 +05:30
|
|
|
homogState(ho)%sizeState = 0
|
2021-05-23 13:40:25 +05:30
|
|
|
allocate(homogState(ho)%state0(0,Nmembers))
|
|
|
|
allocate(homogState(ho)%state (0,Nmembers))
|
2020-07-03 20:15:11 +05:30
|
|
|
|
2021-11-15 23:05:44 +05:30
|
|
|
end do
|
2014-08-21 23:18:20 +05:30
|
|
|
|
2021-04-06 15:35:47 +05:30
|
|
|
end subroutine pass_init
|
2014-03-14 04:50:50 +05:30
|
|
|
|
2021-04-06 15:35:47 +05:30
|
|
|
end submodule mechanical_pass
|