2014-06-25 04:29:16 +05:30
|
|
|
!--------------------------------------------------------------------------------------------------
|
2015-05-28 22:32:23 +05:30
|
|
|
!> @author Pratheek Shanthraj, Max-Planck-Institut für Eisenforschung GmbH
|
|
|
|
!> @brief material subroutine for constant damage field
|
2014-06-25 04:29:16 +05:30
|
|
|
!--------------------------------------------------------------------------------------------------
|
|
|
|
module damage_none
|
|
|
|
|
|
|
|
implicit none
|
|
|
|
private
|
2015-05-28 22:32:23 +05:30
|
|
|
|
2014-06-25 04:29:16 +05:30
|
|
|
public :: &
|
|
|
|
damage_none_init
|
|
|
|
|
|
|
|
contains
|
|
|
|
|
|
|
|
!--------------------------------------------------------------------------------------------------
|
2015-05-28 22:32:23 +05:30
|
|
|
!> @brief allocates all neccessary fields, reads information from material configuration file
|
2014-06-25 04:29:16 +05:30
|
|
|
!--------------------------------------------------------------------------------------------------
|
2015-05-28 22:32:23 +05:30
|
|
|
subroutine damage_none_init()
|
2018-02-02 17:06:09 +05:30
|
|
|
#if defined(__GFORTRAN__) || __INTEL_COMPILER >= 1800
|
2017-10-05 20:05:34 +05:30
|
|
|
use, intrinsic :: iso_fortran_env, only: &
|
|
|
|
compiler_version, &
|
|
|
|
compiler_options
|
|
|
|
#endif
|
2015-05-28 22:32:23 +05:30
|
|
|
use prec, only: &
|
|
|
|
pInt
|
2014-06-25 04:29:16 +05:30
|
|
|
use IO, only: &
|
|
|
|
IO_timeStamp
|
2015-05-28 22:32:23 +05:30
|
|
|
use material
|
2018-06-14 10:09:49 +05:30
|
|
|
use config
|
2015-05-28 22:32:23 +05:30
|
|
|
|
2014-06-25 04:29:16 +05:30
|
|
|
implicit none
|
|
|
|
integer(pInt) :: &
|
2015-05-28 22:32:23 +05:30
|
|
|
homog, &
|
|
|
|
NofMyHomog
|
2014-10-10 01:53:06 +05:30
|
|
|
|
2017-11-21 19:38:45 +05:30
|
|
|
write(6,'(/,a)') ' <<<+- damage_'//DAMAGE_none_label//' init -+>>>'
|
|
|
|
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
2014-06-25 04:29:16 +05:30
|
|
|
#include "compilation_info.f90"
|
2014-10-10 01:53:06 +05:30
|
|
|
|
2015-05-28 22:32:23 +05:30
|
|
|
initializeInstances: do homog = 1_pInt, material_Nhomogenization
|
|
|
|
|
|
|
|
myhomog: if (damage_type(homog) == DAMAGE_none_ID) then
|
|
|
|
NofMyHomog = count(material_homog == homog)
|
|
|
|
damageState(homog)%sizeState = 0_pInt
|
|
|
|
damageState(homog)%sizePostResults = 0_pInt
|
2015-07-24 20:23:50 +05:30
|
|
|
allocate(damageState(homog)%state0 (0_pInt,NofMyHomog))
|
|
|
|
allocate(damageState(homog)%subState0(0_pInt,NofMyHomog))
|
|
|
|
allocate(damageState(homog)%state (0_pInt,NofMyHomog))
|
2015-05-28 22:32:23 +05:30
|
|
|
|
|
|
|
deallocate(damage(homog)%p)
|
2015-07-24 20:23:50 +05:30
|
|
|
allocate (damage(homog)%p(1), source=damage_initialPhi(homog))
|
2015-05-28 22:32:23 +05:30
|
|
|
|
|
|
|
endif myhomog
|
2014-06-25 04:29:16 +05:30
|
|
|
enddo initializeInstances
|
2014-07-02 17:57:39 +05:30
|
|
|
|
2014-06-25 04:29:16 +05:30
|
|
|
|
|
|
|
end subroutine damage_none_init
|
|
|
|
|
|
|
|
end module damage_none
|