cleaning
This commit is contained in:
parent
4f4adf7d68
commit
52d7d37401
|
@ -19,13 +19,6 @@ module phase
|
|||
implicit none
|
||||
private
|
||||
|
||||
enum, bind(c); enumerator :: &
|
||||
KINEMATICS_UNDEFINED_ID ,&
|
||||
KINEMATICS_CLEAVAGE_OPENING_ID, &
|
||||
KINEMATICS_SLIPPLANE_OPENING_ID, &
|
||||
KINEMATICS_THERMAL_EXPANSION_ID
|
||||
end enum
|
||||
|
||||
type(rotation), dimension(:,:,:), allocatable :: &
|
||||
crystallite_orientation !< current orientation
|
||||
|
||||
|
@ -64,10 +57,6 @@ module phase
|
|||
|
||||
type(tDebugOptions) :: debugCrystallite
|
||||
|
||||
|
||||
integer(kind(KINEMATICS_UNDEFINED_ID)), dimension(:,:), allocatable :: &
|
||||
phase_kinematics !< active kinematic mechanisms of each phase
|
||||
|
||||
integer, dimension(:), allocatable, public :: & !< ToDo: should be protected (bug in Intel compiler)
|
||||
thermal_Nsources, &
|
||||
phase_Nsources, & !< number of source mechanisms active in each phase
|
||||
|
@ -317,15 +306,10 @@ module phase
|
|||
constitutive_mech_getP, &
|
||||
constitutive_mech_setF, &
|
||||
constitutive_mech_getF, &
|
||||
constitutive_windForward, &
|
||||
KINEMATICS_UNDEFINED_ID ,&
|
||||
KINEMATICS_CLEAVAGE_OPENING_ID, &
|
||||
KINEMATICS_SLIPPLANE_OPENING_ID, &
|
||||
KINEMATICS_THERMAL_EXPANSION_ID
|
||||
constitutive_windForward
|
||||
|
||||
contains
|
||||
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
!> @brief Initialze constitutive models for individual physics
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -15,9 +15,15 @@ submodule(phase) mechanics
|
|||
PLASTICITY_KINEHARDENING_ID, &
|
||||
PLASTICITY_DISLOTWIN_ID, &
|
||||
PLASTICITY_DISLOTUNGSTEN_ID, &
|
||||
PLASTICITY_NONLOCAL_ID
|
||||
PLASTICITY_NONLOCAL_ID, &
|
||||
KINEMATICS_UNDEFINED_ID, &
|
||||
KINEMATICS_CLEAVAGE_OPENING_ID, &
|
||||
KINEMATICS_SLIPPLANE_OPENING_ID, &
|
||||
KINEMATICS_THERMAL_EXPANSION_ID
|
||||
end enum
|
||||
|
||||
integer(kind(KINEMATICS_UNDEFINED_ID)), dimension(:,:), allocatable :: &
|
||||
phase_kinematics
|
||||
integer(kind(ELASTICITY_UNDEFINED_ID)), dimension(:), allocatable :: &
|
||||
phase_elasticity !< elasticity of each phase
|
||||
integer(kind(STIFFNESS_DEGRADATION_UNDEFINED_ID)), dimension(:,:), allocatable :: &
|
||||
|
@ -53,8 +59,6 @@ submodule(phase) mechanics
|
|||
end subroutine eigendeformation_init
|
||||
|
||||
module subroutine plastic_init
|
||||
|
||||
|
||||
end subroutine plastic_init
|
||||
|
||||
module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,me)
|
||||
|
@ -82,17 +86,15 @@ submodule(phase) mechanics
|
|||
logical :: broken
|
||||
end function plastic_dotState
|
||||
|
||||
module function plastic_deltaState(co, ip, el, ph, of) result(broken)
|
||||
|
||||
module function plastic_deltaState(co, ip, el, ph, me) result(broken)
|
||||
integer, intent(in) :: &
|
||||
co, & !< component-ID of integration point
|
||||
ip, & !< integration point
|
||||
el, & !< element
|
||||
ph, &
|
||||
of
|
||||
me
|
||||
logical :: &
|
||||
broken
|
||||
|
||||
end function plastic_deltaState
|
||||
|
||||
module subroutine constitutive_LiAndItsTangents(Li, dLi_dS, dLi_dFi, &
|
||||
|
@ -346,9 +348,6 @@ module subroutine mech_init(phases)
|
|||
end subroutine mech_init
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
!> @brief returns the 2nd Piola-Kirchhoff stress tensor and its tangent with respect to
|
||||
!> the elastic and intermediate deformation gradients using Hooke's law
|
||||
|
|
|
@ -388,14 +388,14 @@ end subroutine plastic_dependentState
|
|||
!> @brief for constitutive models having an instantaneous change of state
|
||||
!> will return false if delta state is not needed/supported by the constitutive model
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
module function plastic_deltaState(co, ip, el, ph, of) result(broken)
|
||||
module function plastic_deltaState(co, ip, el, ph, me) result(broken)
|
||||
|
||||
integer, intent(in) :: &
|
||||
co, & !< component-ID of integration point
|
||||
ip, & !< integration point
|
||||
el, & !< element
|
||||
ph, &
|
||||
of
|
||||
me
|
||||
logical :: &
|
||||
broken
|
||||
|
||||
|
@ -407,19 +407,19 @@ module function plastic_deltaState(co, ip, el, ph, of) result(broken)
|
|||
mySize
|
||||
|
||||
|
||||
Mp = matmul(matmul(transpose(constitutive_mech_Fi(ph)%data(1:3,1:3,of)),&
|
||||
constitutive_mech_Fi(ph)%data(1:3,1:3,of)),constitutive_mech_S(ph)%data(1:3,1:3,of))
|
||||
Mp = matmul(matmul(transpose(constitutive_mech_Fi(ph)%data(1:3,1:3,me)),&
|
||||
constitutive_mech_Fi(ph)%data(1:3,1:3,me)),constitutive_mech_S(ph)%data(1:3,1:3,me))
|
||||
instance = phase_plasticityInstance(ph)
|
||||
|
||||
plasticityType: select case (phase_plasticity(ph))
|
||||
|
||||
case (PLASTICITY_KINEHARDENING_ID) plasticityType
|
||||
call plastic_kinehardening_deltaState(Mp,instance,of)
|
||||
broken = any(IEEE_is_NaN(plasticState(ph)%deltaState(:,of)))
|
||||
call plastic_kinehardening_deltaState(Mp,instance,me)
|
||||
broken = any(IEEE_is_NaN(plasticState(ph)%deltaState(:,me)))
|
||||
|
||||
case (PLASTICITY_NONLOCAL_ID) plasticityType
|
||||
call plastic_nonlocal_deltaState(Mp,instance,of,ip,el)
|
||||
broken = any(IEEE_is_NaN(plasticState(ph)%deltaState(:,of)))
|
||||
call plastic_nonlocal_deltaState(Mp,instance,me,ip,el)
|
||||
broken = any(IEEE_is_NaN(plasticState(ph)%deltaState(:,me)))
|
||||
|
||||
case default
|
||||
broken = .false.
|
||||
|
@ -432,8 +432,8 @@ module function plastic_deltaState(co, ip, el, ph, of) result(broken)
|
|||
|
||||
myOffset = plasticState(ph)%offsetDeltaState
|
||||
mySize = plasticState(ph)%sizeDeltaState
|
||||
plasticState(ph)%state(myOffset + 1:myOffset + mySize,of) = &
|
||||
plasticState(ph)%state(myOffset + 1:myOffset + mySize,of) + plasticState(ph)%deltaState(1:mySize,of)
|
||||
plasticState(ph)%state(myOffset + 1:myOffset + mySize,me) = &
|
||||
plasticState(ph)%state(myOffset + 1:myOffset + mySize,me) + plasticState(ph)%deltaState(1:mySize,me)
|
||||
end select
|
||||
endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue