DAMASK_EICMD/src/phase_mechanical_plastic_no...

45 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
2019-01-06 04:25:10 +05:30
!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH
!> @brief Dummy plasticity for purely elastic material
!--------------------------------------------------------------------------------------------------
submodule(phase:plastic) none
contains
!--------------------------------------------------------------------------------------------------
!> @brief Perform module initialization.
!> @details reads in material parameters, allocates arrays, and does sanity checks
!--------------------------------------------------------------------------------------------------
module function plastic_none_init() result(myPlasticity)
2020-08-15 19:32:10 +05:30
logical, dimension(:), allocatable :: myPlasticity
integer :: &
2021-02-16 20:36:09 +05:30
ph
type(tDict), pointer :: &
2021-02-13 17:37:35 +05:30
phases
2020-08-15 19:32:10 +05:30
2021-02-13 19:08:53 +05:30
myPlasticity = plastic_active('none')
if (count(myPlasticity) == 0) return
print'(/,1x,a)', '<<<+- phase:mechanical:plastic:none init -+>>>'
2023-08-29 07:11:48 +05:30
print'(/,1x,a,1x,i0)', '# phases:',count(myPlasticity); flush(IO_STDOUT)
2023-01-18 23:20:01 +05:30
phases => config_material%get_dict('phase')
2021-02-16 20:36:09 +05:30
do ph = 1, phases%length
if (.not. myPlasticity(ph)) cycle
print'(/,1x,a,1x,i0,a)', 'phase',ph,': '//phases%key(ph)
2023-01-23 13:01:59 +05:30
call phase_allocateState(plasticState(ph),count(material_ID_phase == ph),0,0,0)
end do
2020-08-15 19:32:10 +05:30
end function plastic_none_init
2021-01-26 05:41:32 +05:30
end submodule none