part of damage, not of eigen
This commit is contained in:
parent
d56f1acf36
commit
0d974648f0
|
@ -259,7 +259,7 @@ module phase
|
||||||
end subroutine plastic_dependentState
|
end subroutine plastic_dependentState
|
||||||
|
|
||||||
|
|
||||||
module subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ph,me)
|
module subroutine damage_anisobrittle_LiAndItsTangent(Ld, dLd_dTstar, S, ph,me)
|
||||||
integer, intent(in) :: ph, me
|
integer, intent(in) :: ph, me
|
||||||
real(pReal), intent(in), dimension(3,3) :: &
|
real(pReal), intent(in), dimension(3,3) :: &
|
||||||
S
|
S
|
||||||
|
@ -267,9 +267,9 @@ module phase
|
||||||
Ld !< damage velocity gradient
|
Ld !< damage velocity gradient
|
||||||
real(pReal), intent(out), dimension(3,3,3,3) :: &
|
real(pReal), intent(out), dimension(3,3,3,3) :: &
|
||||||
dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor)
|
dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor)
|
||||||
end subroutine kinematics_cleavage_opening_LiAndItsTangent
|
end subroutine damage_anisobrittle_LiAndItsTangent
|
||||||
|
|
||||||
module subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ph,me)
|
module subroutine damage_isoductile_LiAndItsTangent(Ld, dLd_dTstar, S, ph,me)
|
||||||
integer, intent(in) :: ph, me
|
integer, intent(in) :: ph, me
|
||||||
real(pReal), intent(in), dimension(3,3) :: &
|
real(pReal), intent(in), dimension(3,3) :: &
|
||||||
S
|
S
|
||||||
|
@ -277,7 +277,7 @@ module phase
|
||||||
Ld !< damage velocity gradient
|
Ld !< damage velocity gradient
|
||||||
real(pReal), intent(out), dimension(3,3,3,3) :: &
|
real(pReal), intent(out), dimension(3,3,3,3) :: &
|
||||||
dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor)
|
dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor)
|
||||||
end subroutine kinematics_slipplane_opening_LiAndItsTangent
|
end subroutine damage_isoductile_LiAndItsTangent
|
||||||
|
|
||||||
end interface
|
end interface
|
||||||
|
|
||||||
|
|
|
@ -197,7 +197,7 @@ end subroutine anisobrittle_results
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief contains the constitutive equation for calculating the velocity gradient
|
!> @brief contains the constitutive equation for calculating the velocity gradient
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ph,me)
|
module subroutine damage_anisobrittle_LiAndItsTangent(Ld, dLd_dTstar, S, ph,me)
|
||||||
|
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
ph,me
|
ph,me
|
||||||
|
@ -253,6 +253,6 @@ module subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S,
|
||||||
enddo
|
enddo
|
||||||
end associate
|
end associate
|
||||||
|
|
||||||
end subroutine kinematics_cleavage_opening_LiAndItsTangent
|
end subroutine damage_anisobrittle_LiAndItsTangent
|
||||||
|
|
||||||
end submodule anisobrittle
|
end submodule anisobrittle
|
||||||
|
|
|
@ -9,13 +9,13 @@ submodule(phase:mechanical) eigen
|
||||||
model_damage
|
model_damage
|
||||||
|
|
||||||
interface
|
interface
|
||||||
module function kinematics_cleavage_opening_init() result(myKinematics)
|
module function damage_anisobrittle_init() result(myKinematics)
|
||||||
logical, dimension(:), allocatable :: myKinematics
|
logical, dimension(:), allocatable :: myKinematics
|
||||||
end function kinematics_cleavage_opening_init
|
end function damage_anisobrittle_init
|
||||||
|
|
||||||
module function kinematics_slipplane_opening_init() result(myKinematics)
|
module function damage_isoductile_init() result(myKinematics)
|
||||||
logical, dimension(:), allocatable :: myKinematics
|
logical, dimension(:), allocatable :: myKinematics
|
||||||
end function kinematics_slipplane_opening_init
|
end function damage_isoductile_init
|
||||||
|
|
||||||
module function thermalexpansion_init(kinematics_length) result(myKinematics)
|
module function thermalexpansion_init(kinematics_length) result(myKinematics)
|
||||||
integer, intent(in) :: kinematics_length
|
integer, intent(in) :: kinematics_length
|
||||||
|
@ -70,8 +70,8 @@ module subroutine eigendeformation_init(phases)
|
||||||
|
|
||||||
allocate(model_damage(phases%length), source = KINEMATICS_UNDEFINED_ID)
|
allocate(model_damage(phases%length), source = KINEMATICS_UNDEFINED_ID)
|
||||||
|
|
||||||
where(kinematics_cleavage_opening_init()) model_damage = KINEMATICS_cleavage_opening_ID
|
where(damage_anisobrittle_init()) model_damage = KINEMATICS_cleavage_opening_ID
|
||||||
where(kinematics_slipplane_opening_init()) model_damage = KINEMATICS_slipplane_opening_ID
|
where(damage_isoductile_init()) model_damage = KINEMATICS_slipplane_opening_ID
|
||||||
|
|
||||||
|
|
||||||
end subroutine eigendeformation_init
|
end subroutine eigendeformation_init
|
||||||
|
@ -198,12 +198,12 @@ module subroutine phase_LiAndItsTangents(Li, dLi_dS, dLi_dFi, &
|
||||||
|
|
||||||
select case (model_damage(ph))
|
select case (model_damage(ph))
|
||||||
case (KINEMATICS_cleavage_opening_ID)
|
case (KINEMATICS_cleavage_opening_ID)
|
||||||
call kinematics_cleavage_opening_LiAndItsTangent(my_Li, my_dLi_dS, S, ph, me)
|
call damage_anisobrittle_LiAndItsTangent(my_Li, my_dLi_dS, S, ph, me)
|
||||||
Li = Li + my_Li
|
Li = Li + my_Li
|
||||||
dLi_dS = dLi_dS + my_dLi_dS
|
dLi_dS = dLi_dS + my_dLi_dS
|
||||||
active = .true.
|
active = .true.
|
||||||
case (KINEMATICS_slipplane_opening_ID)
|
case (KINEMATICS_slipplane_opening_ID)
|
||||||
call kinematics_slipplane_opening_LiAndItsTangent(my_Li, my_dLi_dS, S, ph, me)
|
call damage_isoductile_LiAndItsTangent(my_Li, my_dLi_dS, S, ph, me)
|
||||||
Li = Li + my_Li
|
Li = Li + my_Li
|
||||||
dLi_dS = dLi_dS + my_dLi_dS
|
dLi_dS = dLi_dS + my_dLi_dS
|
||||||
active = .true.
|
active = .true.
|
||||||
|
|
|
@ -13,7 +13,7 @@ contains
|
||||||
!> @brief module initialization
|
!> @brief module initialization
|
||||||
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module function kinematics_cleavage_opening_init() result(myKinematics)
|
module function damage_anisobrittle_init() result(myKinematics)
|
||||||
|
|
||||||
logical, dimension(:), allocatable :: myKinematics
|
logical, dimension(:), allocatable :: myKinematics
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ module function kinematics_cleavage_opening_init() result(myKinematics)
|
||||||
print'(/,a)', ' <<<+- phase:mechanical:eigen:cleavageopening init -+>>>'
|
print'(/,a)', ' <<<+- phase:mechanical:eigen:cleavageopening init -+>>>'
|
||||||
print'(a,i2)', ' # phases: ',count(myKinematics); flush(IO_STDOUT)
|
print'(a,i2)', ' # phases: ',count(myKinematics); flush(IO_STDOUT)
|
||||||
|
|
||||||
end function kinematics_cleavage_opening_init
|
end function damage_anisobrittle_init
|
||||||
|
|
||||||
|
|
||||||
end submodule cleavageopening
|
end submodule cleavageopening
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
submodule(phase:eigen) slipplaneopening
|
submodule(phase:eigen) slipplaneopening
|
||||||
|
|
||||||
integer, dimension(:), allocatable :: kinematics_slipplane_opening_instance
|
integer, dimension(:), allocatable :: damage_isoductile_instance
|
||||||
|
|
||||||
type :: tParameters !< container type for internal constitutive parameters
|
type :: tParameters !< container type for internal constitutive parameters
|
||||||
integer :: &
|
integer :: &
|
||||||
|
@ -32,7 +32,7 @@ contains
|
||||||
!> @brief module initialization
|
!> @brief module initialization
|
||||||
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module function kinematics_slipplane_opening_init() result(myKinematics)
|
module function damage_isoductile_init() result(myKinematics)
|
||||||
|
|
||||||
logical, dimension(:), allocatable :: myKinematics
|
logical, dimension(:), allocatable :: myKinematics
|
||||||
|
|
||||||
|
@ -107,13 +107,13 @@ module function kinematics_slipplane_opening_init() result(myKinematics)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
|
||||||
end function kinematics_slipplane_opening_init
|
end function damage_isoductile_init
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief contains the constitutive equation for calculating the velocity gradient
|
!> @brief contains the constitutive equation for calculating the velocity gradient
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ph,me)
|
module subroutine damage_isoductile_LiAndItsTangent(Ld, dLd_dTstar, S, ph,me)
|
||||||
|
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
ph, me
|
ph, me
|
||||||
|
@ -179,6 +179,6 @@ module subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar, S
|
||||||
|
|
||||||
end associate
|
end associate
|
||||||
|
|
||||||
end subroutine kinematics_slipplane_opening_LiAndItsTangent
|
end subroutine damage_isoductile_LiAndItsTangent
|
||||||
|
|
||||||
end submodule slipplaneopening
|
end submodule slipplaneopening
|
||||||
|
|
Loading…
Reference in New Issue