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
|
2019-05-17 02:44:47 +05:30
|
|
|
use config
|
|
|
|
use material
|
2014-06-25 04:29:16 +05:30
|
|
|
|
2019-03-09 15:32:12 +05:30
|
|
|
implicit none
|
2020-01-27 02:20:43 +05:30
|
|
|
public
|
2020-03-02 20:19:14 +05:30
|
|
|
|
2014-06-25 04:29:16 +05:30
|
|
|
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
|
|
|
!--------------------------------------------------------------------------------------------------
|
2019-05-17 02:44:47 +05:30
|
|
|
subroutine damage_none_init
|
|
|
|
|
2020-10-28 02:03:30 +05:30
|
|
|
integer :: h,Nmaterialpoints
|
2019-03-09 15:32:12 +05:30
|
|
|
|
2020-09-17 22:58:41 +05:30
|
|
|
print'(/,a)', ' <<<+- damage_none init -+>>>'; flush(6)
|
2019-03-09 15:32:12 +05:30
|
|
|
|
2020-10-24 18:26:03 +05:30
|
|
|
do h = 1, size(material_name_homogenization)
|
2019-12-21 15:25:11 +05:30
|
|
|
if (damage_type(h) /= DAMAGE_NONE_ID) cycle
|
|
|
|
|
2020-10-28 02:03:30 +05:30
|
|
|
Nmaterialpoints = count(material_homogenizationAt == h)
|
2019-12-21 15:25:11 +05:30
|
|
|
damageState(h)%sizeState = 0
|
2020-10-28 02:03:30 +05:30
|
|
|
allocate(damageState(h)%state0 (0,Nmaterialpoints))
|
|
|
|
allocate(damageState(h)%subState0(0,Nmaterialpoints))
|
|
|
|
allocate(damageState(h)%state (0,Nmaterialpoints))
|
2020-03-02 20:19:14 +05:30
|
|
|
|
2019-12-21 15:25:11 +05:30
|
|
|
deallocate(damage(h)%p)
|
|
|
|
allocate (damage(h)%p(1), source=damage_initialPhi(h))
|
2020-03-02 20:19:14 +05:30
|
|
|
|
2019-12-21 15:25:11 +05:30
|
|
|
enddo
|
2014-06-25 04:29:16 +05:30
|
|
|
|
|
|
|
end subroutine damage_none_init
|
|
|
|
|
|
|
|
end module damage_none
|