2013-05-17 22:39:42 +05:30
|
|
|
!--------------------------------------------------------------------------------------------------
|
|
|
|
!> @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
|
2013-05-17 22:39:42 +05:30
|
|
|
!--------------------------------------------------------------------------------------------------
|
2021-01-27 01:22:48 +05:30
|
|
|
submodule(phase:plastic) none
|
2013-05-17 22:39:42 +05:30
|
|
|
|
2013-07-01 11:40:42 +05:30
|
|
|
contains
|
2012-07-03 16:46:38 +05:30
|
|
|
|
2013-05-17 22:39:42 +05:30
|
|
|
!--------------------------------------------------------------------------------------------------
|
2020-09-14 00:30:34 +05:30
|
|
|
!> @brief Perform module initialization.
|
2013-07-01 11:40:42 +05:30
|
|
|
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
2013-05-17 22:39:42 +05:30
|
|
|
!--------------------------------------------------------------------------------------------------
|
2020-09-14 00:30:34 +05:30
|
|
|
module function plastic_none_init() result(myPlasticity)
|
2013-12-19 14:19:47 +05:30
|
|
|
|
2020-08-15 19:32:10 +05:30
|
|
|
logical, dimension(:), allocatable :: myPlasticity
|
2020-02-01 02:07:18 +05:30
|
|
|
integer :: &
|
|
|
|
p, &
|
2020-10-28 02:03:30 +05:30
|
|
|
Nconstituents
|
2020-08-15 19:32:10 +05:30
|
|
|
class(tNode), pointer :: &
|
2021-02-13 17:37:35 +05:30
|
|
|
phases
|
2020-08-15 19:32:10 +05:30
|
|
|
|
|
|
|
|
2021-02-13 17:37:35 +05:30
|
|
|
myPlasticity = plastic_active('nonlocal')
|
|
|
|
if(count(myPlasticity) == 0) return
|
2020-02-14 13:30:14 +05:30
|
|
|
|
2021-02-13 17:37:35 +05:30
|
|
|
print'(/,a)', ' <<<+- phase:mechanics:plastic:none init -+>>>'
|
|
|
|
print'(a,i0)', ' # phases: ',count(myPlasticity); flush(IO_STDOUT)
|
2020-09-14 00:30:34 +05:30
|
|
|
|
2021-02-13 17:37:35 +05:30
|
|
|
phases => config_material%get('phase')
|
2020-08-15 19:32:10 +05:30
|
|
|
do p = 1, phases%length
|
|
|
|
if(.not. myPlasticity(p)) cycle
|
2021-01-26 12:24:24 +05:30
|
|
|
Nconstituents = count(material_phaseAt2 == p)
|
2021-02-09 03:51:53 +05:30
|
|
|
call phase_allocateState(plasticState(p),Nconstituents,0,0,0)
|
2020-02-01 02:07:18 +05:30
|
|
|
enddo
|
2014-07-02 17:57:39 +05:30
|
|
|
|
2020-08-15 19:32:10 +05:30
|
|
|
end function plastic_none_init
|
|
|
|
|
2012-07-03 16:46:38 +05:30
|
|
|
|
2021-01-26 05:41:32 +05:30
|
|
|
end submodule none
|