filenames reflect hierarchical structure
This commit is contained in:
parent
546fcba93d
commit
6db58dffb7
|
@ -17,38 +17,36 @@
|
||||||
#include "results.f90"
|
#include "results.f90"
|
||||||
#include "geometry_plastic_nonlocal.f90"
|
#include "geometry_plastic_nonlocal.f90"
|
||||||
#include "discretization.f90"
|
#include "discretization.f90"
|
||||||
#ifdef Marc4DAMASK
|
|
||||||
#include "marc/discretization_marc.f90"
|
#include "marc/discretization_marc.f90"
|
||||||
#endif
|
|
||||||
#include "material.f90"
|
#include "material.f90"
|
||||||
#include "lattice.f90"
|
#include "lattice.f90"
|
||||||
#include "constitutive.f90"
|
#include "phase.f90"
|
||||||
#include "constitutive_mech.f90"
|
#include "phase_mechanics.f90"
|
||||||
#include "constitutive_plastic_none.f90"
|
#include "phase_mechanics_plastic_none.f90"
|
||||||
#include "constitutive_plastic_isotropic.f90"
|
#include "phase_mechanics_plastic_isotropic.f90"
|
||||||
#include "constitutive_plastic_phenopowerlaw.f90"
|
#include "phase_mechanics_plastic_phenopowerlaw.f90"
|
||||||
#include "constitutive_plastic_kinehardening.f90"
|
#include "phase_mechanics_plastic_kinehardening.f90"
|
||||||
#include "constitutive_plastic_dislotwin.f90"
|
#include "phase_mechanics_plastic_dislotwin.f90"
|
||||||
#include "constitutive_plastic_disloTungsten.f90"
|
#include "phase_mechanics_plastic_disloTungsten.f90"
|
||||||
#include "constitutive_plastic_nonlocal.f90"
|
#include "phase_mechanics_plastic_nonlocal.f90"
|
||||||
#include "constitutive_thermal.f90"
|
#include "phase_mechancis_anelastic_thermalexpansion.f90"
|
||||||
#include "constitutive_thermal_dissipation.f90"
|
#include "phase_mechanics_anelastic_cleavageopening.f90"
|
||||||
#include "constitutive_thermal_externalheat.f90"
|
#include "phase_mechanics_anelastic_slipplaneopening.f90"
|
||||||
#include "kinematics_thermal_expansion.f90"
|
#include "phase_thermal.f90"
|
||||||
#include "constitutive_damage.f90"
|
#include "phase_thermal_dissipation.f90"
|
||||||
#include "source_damage_isoBrittle.f90"
|
#include "phase_thermal_externalheat.f90"
|
||||||
#include "source_damage_isoDuctile.f90"
|
#include "phase_damage.f90"
|
||||||
#include "source_damage_anisoBrittle.f90"
|
#include "phase_damage_isobrittle.f90"
|
||||||
#include "source_damage_anisoDuctile.f90"
|
#include "phase_damage_isoductile.f90"
|
||||||
#include "kinematics_cleavage_opening.f90"
|
#include "phase_damage_anisobrittle.f90"
|
||||||
#include "kinematics_slipplane_opening.f90"
|
#include "phase_damage_anisoductile.f90"
|
||||||
#include "damage_none.f90"
|
#include "damage_none.f90"
|
||||||
#include "damage_nonlocal.f90"
|
#include "damage_nonlocal.f90"
|
||||||
#include "homogenization.f90"
|
#include "homogenization.f90"
|
||||||
#include "homogenization_mech.f90"
|
#include "homogenization_mechanics.f90"
|
||||||
#include "homogenization_mech_none.f90"
|
#include "homogenization_mechanics_none.f90"
|
||||||
#include "homogenization_mech_isostrain.f90"
|
#include "homogenization_mechanics_isostrain.f90"
|
||||||
#include "homogenization_mech_RGC.f90"
|
#include "homogenization_mechanics_RGC.f90"
|
||||||
#include "homogenization_thermal.f90"
|
#include "homogenization_thermal.f90"
|
||||||
#include "homogenization_damage.f90"
|
#include "homogenization_damage.f90"
|
||||||
#include "CPFEM.f90"
|
#include "CPFEM.f90"
|
||||||
|
|
|
@ -42,15 +42,6 @@ submodule(constitutive) constitutive_damage
|
||||||
logical, dimension(:,:), allocatable :: mySources
|
logical, dimension(:,:), allocatable :: mySources
|
||||||
end function source_damage_isoDuctile_init
|
end function source_damage_isoDuctile_init
|
||||||
|
|
||||||
module function kinematics_cleavage_opening_init(kinematics_length) result(myKinematics)
|
|
||||||
integer, intent(in) :: kinematics_length
|
|
||||||
logical, dimension(:,:), allocatable :: myKinematics
|
|
||||||
end function kinematics_cleavage_opening_init
|
|
||||||
|
|
||||||
module function kinematics_slipplane_opening_init(kinematics_length) result(myKinematics)
|
|
||||||
integer, intent(in) :: kinematics_length
|
|
||||||
logical, dimension(:,:), allocatable :: myKinematics
|
|
||||||
end function kinematics_slipplane_opening_init
|
|
||||||
|
|
||||||
module subroutine source_damage_isoBrittle_deltaState(C, Fe, ph, me)
|
module subroutine source_damage_isoBrittle_deltaState(C, Fe, ph, me)
|
||||||
integer, intent(in) :: ph,me
|
integer, intent(in) :: ph,me
|
||||||
|
@ -164,8 +155,7 @@ module subroutine damage_init
|
||||||
class(tNode), pointer :: &
|
class(tNode), pointer :: &
|
||||||
phases, &
|
phases, &
|
||||||
phase, &
|
phase, &
|
||||||
sources, &
|
sources
|
||||||
kinematics
|
|
||||||
|
|
||||||
phases => config_material%get('phase')
|
phases => config_material%get('phase')
|
||||||
|
|
||||||
|
@ -197,22 +187,6 @@ module subroutine damage_init
|
||||||
where(source_damage_anisoDuctile_init (maxval(phase_Nsources))) phase_source = DAMAGE_ANISODUCTILE_ID
|
where(source_damage_anisoDuctile_init (maxval(phase_Nsources))) phase_source = DAMAGE_ANISODUCTILE_ID
|
||||||
endif
|
endif
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
! initialize kinematic mechanisms
|
|
||||||
allocate(phase_Nkinematics(phases%length),source = 0)
|
|
||||||
do ph = 1,phases%length
|
|
||||||
phase => phases%get(ph)
|
|
||||||
kinematics => phase%get('kinematics',defaultVal=emptyList)
|
|
||||||
phase_Nkinematics(ph) = kinematics%length
|
|
||||||
enddo
|
|
||||||
|
|
||||||
allocate(phase_kinematics(maxval(phase_Nkinematics),phases%length), source = KINEMATICS_undefined_ID)
|
|
||||||
|
|
||||||
if(maxval(phase_Nkinematics) /= 0) then
|
|
||||||
where(kinematics_cleavage_opening_init(maxval(phase_Nkinematics))) phase_kinematics = KINEMATICS_cleavage_opening_ID
|
|
||||||
where(kinematics_slipplane_opening_init(maxval(phase_Nkinematics))) phase_kinematics = KINEMATICS_slipplane_opening_ID
|
|
||||||
endif
|
|
||||||
|
|
||||||
end subroutine damage_init
|
end subroutine damage_init
|
||||||
|
|
||||||
|
|
|
@ -268,6 +268,16 @@ submodule(constitutive) constitutive_mech
|
||||||
el
|
el
|
||||||
end subroutine plastic_nonlocal_deltaState
|
end subroutine plastic_nonlocal_deltaState
|
||||||
|
|
||||||
|
module function kinematics_cleavage_opening_init(kinematics_length) result(myKinematics)
|
||||||
|
integer, intent(in) :: kinematics_length
|
||||||
|
logical, dimension(:,:), allocatable :: myKinematics
|
||||||
|
end function kinematics_cleavage_opening_init
|
||||||
|
|
||||||
|
module function kinematics_slipplane_opening_init(kinematics_length) result(myKinematics)
|
||||||
|
integer, intent(in) :: kinematics_length
|
||||||
|
logical, dimension(:,:), allocatable :: myKinematics
|
||||||
|
end function kinematics_slipplane_opening_init
|
||||||
|
|
||||||
module subroutine plastic_isotropic_results(instance,group)
|
module subroutine plastic_isotropic_results(instance,group)
|
||||||
integer, intent(in) :: instance
|
integer, intent(in) :: instance
|
||||||
character(len=*), intent(in) :: group
|
character(len=*), intent(in) :: group
|
||||||
|
@ -338,7 +348,8 @@ module subroutine mech_init(phases)
|
||||||
phase, &
|
phase, &
|
||||||
mech, &
|
mech, &
|
||||||
elastic, &
|
elastic, &
|
||||||
stiffDegradation
|
stiffDegradation, &
|
||||||
|
kinematics
|
||||||
|
|
||||||
print'(/,a)', ' <<<+- constitutive_mech init -+>>>'
|
print'(/,a)', ' <<<+- constitutive_mech init -+>>>'
|
||||||
|
|
||||||
|
@ -481,6 +492,22 @@ module subroutine mech_init(phases)
|
||||||
|
|
||||||
end select
|
end select
|
||||||
|
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
! initialize kinematic mechanisms
|
||||||
|
allocate(phase_Nkinematics(phases%length),source = 0)
|
||||||
|
do ph = 1,phases%length
|
||||||
|
phase => phases%get(ph)
|
||||||
|
kinematics => phase%get('kinematics',defaultVal=emptyList)
|
||||||
|
phase_Nkinematics(ph) = kinematics%length
|
||||||
|
enddo
|
||||||
|
|
||||||
|
allocate(phase_kinematics(maxval(phase_Nkinematics),phases%length), source = KINEMATICS_undefined_ID)
|
||||||
|
|
||||||
|
if(maxval(phase_Nkinematics) /= 0) then
|
||||||
|
where(kinematics_cleavage_opening_init(maxval(phase_Nkinematics))) phase_kinematics = KINEMATICS_cleavage_opening_ID
|
||||||
|
where(kinematics_slipplane_opening_init(maxval(phase_Nkinematics))) phase_kinematics = KINEMATICS_slipplane_opening_ID
|
||||||
|
endif
|
||||||
|
|
||||||
end subroutine mech_init
|
end subroutine mech_init
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
!> @brief material subroutine incorporating kinematics resulting from opening of cleavage planes
|
!> @brief material subroutine incorporating kinematics resulting from opening of cleavage planes
|
||||||
!> @details to be done
|
!> @details to be done
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
submodule(constitutive:constitutive_damage) kinematics_cleavage_opening
|
submodule(constitutive:constitutive_mech) kinematics_cleavage_opening
|
||||||
|
|
||||||
integer, dimension(:), allocatable :: kinematics_cleavage_opening_instance
|
integer, dimension(:), allocatable :: kinematics_cleavage_opening_instance
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
!> @brief material subroutine incorporating kinematics resulting from opening of slip planes
|
!> @brief material subroutine incorporating kinematics resulting from opening of slip planes
|
||||||
!> @details to be done
|
!> @details to be done
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
submodule(constitutive:constitutive_damage) kinematics_slipplane_opening
|
submodule(constitutive:constitutive_mech) kinematics_slipplane_opening
|
||||||
|
|
||||||
integer, dimension(:), allocatable :: kinematics_slipplane_opening_instance
|
integer, dimension(:), allocatable :: kinematics_slipplane_opening_instance
|
||||||
|
|
Loading…
Reference in New Issue