DAMASK_EICMD/src/damage_none.f90

55 lines
1.7 KiB
Fortran
Raw Normal View History

!--------------------------------------------------------------------------------------------------
!> @author Pratheek Shanthraj, Max-Planck-Institut für Eisenforschung GmbH
!> @brief material subroutine for constant damage field
!--------------------------------------------------------------------------------------------------
module damage_none
2019-03-09 15:32:12 +05:30
implicit none
private
public :: &
damage_none_init
contains
!--------------------------------------------------------------------------------------------------
!> @brief allocates all neccessary fields, reads information from material configuration file
!--------------------------------------------------------------------------------------------------
subroutine damage_none_init()
2019-03-09 15:32:12 +05:30
use config, only: &
config_homogenization
use material, only: &
damage_initialPhi, &
damage, &
damage_type, &
2019-03-10 15:32:32 +05:30
material_homogenizationAt, &
2019-03-09 15:32:12 +05:30
damageState, &
DAMAGE_NONE_LABEL, &
DAMAGE_NONE_ID
2019-05-15 02:42:32 +05:30
2019-03-09 15:32:12 +05:30
integer :: &
homog, &
NofMyHomog
write(6,'(/,a)') ' <<<+- damage_'//DAMAGE_NONE_LABEL//' init -+>>>'
initializeInstances: do homog = 1, size(config_homogenization)
myhomog: if (damage_type(homog) == DAMAGE_NONE_ID) then
2019-03-10 15:32:32 +05:30
NofMyHomog = count(material_homogenizationAt == homog)
2019-03-09 15:32:12 +05:30
damageState(homog)%sizeState = 0
damageState(homog)%sizePostResults = 0
allocate(damageState(homog)%state0 (0,NofMyHomog))
allocate(damageState(homog)%subState0(0,NofMyHomog))
allocate(damageState(homog)%state (0,NofMyHomog))
deallocate(damage(homog)%p)
allocate (damage(homog)%p(1), source=damage_initialPhi(homog))
endif myhomog
enddo initializeInstances
end subroutine damage_none_init
end module damage_none