DAMASK_EICMD/src/homogenization_mechanical_p...

41 lines
1.5 KiB
Fortran
Raw Normal View History

!--------------------------------------------------------------------------------------------------
!> @author Franz Roters, Max-Planck-Institut für Eisenforschung GmbH
!> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH
!> @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
!--------------------------------------------------------------------------------------------------
submodule(homogenization:mechanical) mechanical_pass
contains
!--------------------------------------------------------------------------------------------------
2020-07-03 20:15:11 +05:30
!> @brief allocates all necessary fields, reads information from material configuration file
!--------------------------------------------------------------------------------------------------
2022-02-23 10:03:30 +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
print'(/,1x,a)', '<<<+- homogenization:mechanical:pass init -+>>>'
2022-02-24 16:39:47 +05:30
print'(/,a,i0)', ' # homogenizations: ',count(mechanical_type == MECHANICAL_PASS_ID)
2021-04-11 15:48:26 +05:30
flush(IO_STDOUT)
2020-07-03 20:15:11 +05:30
2022-02-24 16:39:47 +05:30
do ho = 1, size(mechanical_type)
if (mechanical_type(ho) /= MECHANICAL_PASS_ID) cycle
2020-07-03 20:15:11 +05:30
if (homogenization_Nconstituents(ho) /= 1) &
2022-02-23 10:03:30 +05:30
call IO_error(211,ext_msg='(pass) with N_constituents !=1')
2020-12-16 15:51:24 +05:30
2023-01-23 13:01:59 +05:30
Nmembers = count(material_ID_homogenization == 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
end do
end subroutine pass_init
end submodule mechanical_pass