documenting
This commit is contained in:
parent
8c6d759b55
commit
f9f56a1755
|
@ -352,23 +352,6 @@ module constitutive
|
|||
end subroutine source_damage_isoBrittle_deltaState
|
||||
|
||||
|
||||
module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, &
|
||||
S, Fi, co, ip, el)
|
||||
integer, intent(in) :: &
|
||||
co, & !< component-ID of integration point
|
||||
ip, & !< integration point
|
||||
el !< element
|
||||
real(pReal), intent(in), dimension(3,3) :: &
|
||||
S, & !< 2nd Piola-Kirchhoff stress
|
||||
Fi !< intermediate deformation gradient
|
||||
real(pReal), intent(out), dimension(3,3) :: &
|
||||
Lp !< plastic velocity gradient
|
||||
real(pReal), intent(out), dimension(3,3,3,3) :: &
|
||||
dLp_dS, &
|
||||
dLp_dFi !< derivative of Lp with respect to Fi
|
||||
end subroutine constitutive_plastic_LpAndItsTangents
|
||||
|
||||
|
||||
module subroutine constitutive_plastic_dependentState(co,ip,el)
|
||||
integer, intent(in) :: &
|
||||
co, & !< component-ID of integration point
|
||||
|
@ -376,23 +359,6 @@ module constitutive
|
|||
el !< element
|
||||
end subroutine constitutive_plastic_dependentState
|
||||
|
||||
|
||||
|
||||
module subroutine constitutive_hooke_SandItsTangents(S, dS_dFe, dS_dFi, Fe, Fi, co, ip, el)
|
||||
integer, intent(in) :: &
|
||||
co, & !< component-ID of integration point
|
||||
ip, & !< integration point
|
||||
el !< element
|
||||
real(pReal), intent(in), dimension(3,3) :: &
|
||||
Fe, & !< elastic deformation gradient
|
||||
Fi !< intermediate deformation gradient
|
||||
real(pReal), intent(out), dimension(3,3) :: &
|
||||
S !< 2nd Piola-Kirchhoff stress tensor
|
||||
real(pReal), intent(out), dimension(3,3,3,3) :: &
|
||||
dS_dFe, & !< derivative of 2nd P-K stress with respect to elastic deformation gradient
|
||||
dS_dFi !< derivative of 2nd P-K stress with respect to intermediate deformation gradient
|
||||
end subroutine constitutive_hooke_SandItsTangents
|
||||
|
||||
end interface
|
||||
|
||||
|
||||
|
|
|
@ -530,7 +530,7 @@ end function plastic_active
|
|||
!> @brief returns the 2nd Piola-Kirchhoff stress tensor and its tangent with respect to
|
||||
!> the elastic and intermediate deformation gradients using Hooke's law
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
module subroutine constitutive_hooke_SandItsTangents(S, dS_dFe, dS_dFi, &
|
||||
subroutine constitutive_hooke_SandItsTangents(S, dS_dFe, dS_dFi, &
|
||||
Fe, Fi, co, ip, el)
|
||||
|
||||
integer, intent(in) :: &
|
||||
|
@ -616,7 +616,7 @@ end subroutine constitutive_plastic_dependentState
|
|||
! ToDo: Discuss whether it makes sense if crystallite handles the configuration conversion, i.e.
|
||||
! Mp in, dLp_dMp out
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, &
|
||||
subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, &
|
||||
S, Fi, co, ip, el)
|
||||
integer, intent(in) :: &
|
||||
co, & !< component-ID of integration point
|
||||
|
@ -1846,7 +1846,9 @@ module subroutine mech_restartRead(groupHandle,ph)
|
|||
end subroutine mech_restartRead
|
||||
|
||||
|
||||
! getter for non-mech (e.g. thermal)
|
||||
!----------------------------------------------------------------------------------------------
|
||||
!< @brief Get first Piola-Kichhoff stress (for use by non-mech physics)
|
||||
!----------------------------------------------------------------------------------------------
|
||||
module function mech_S(ph,me) result(S)
|
||||
|
||||
integer, intent(in) :: ph,me
|
||||
|
@ -1858,7 +1860,9 @@ module function mech_S(ph,me) result(S)
|
|||
end function mech_S
|
||||
|
||||
|
||||
! getter for non-mech (e.g. thermal)
|
||||
!----------------------------------------------------------------------------------------------
|
||||
!< @brief Get plastic velocity gradient (for use by non-mech physics)
|
||||
!----------------------------------------------------------------------------------------------
|
||||
module function mech_L_p(ph,me) result(L_p)
|
||||
|
||||
integer, intent(in) :: ph,me
|
||||
|
@ -1870,7 +1874,9 @@ module function mech_L_p(ph,me) result(L_p)
|
|||
end function mech_L_p
|
||||
|
||||
|
||||
! getter for non-mech (e.g. thermal)
|
||||
!----------------------------------------------------------------------------------------------
|
||||
!< @brief Get deformation gradient (for use by homogenization)
|
||||
!----------------------------------------------------------------------------------------------
|
||||
module function constitutive_mech_getF(co,ip,el) result(F)
|
||||
|
||||
integer, intent(in) :: co, ip, el
|
||||
|
@ -1882,7 +1888,9 @@ module function constitutive_mech_getF(co,ip,el) result(F)
|
|||
end function constitutive_mech_getF
|
||||
|
||||
|
||||
! getter for non-mech (e.g. thermal)
|
||||
!----------------------------------------------------------------------------------------------
|
||||
!< @brief Get elastic deformation gradient (for use by non-mech physics)
|
||||
!----------------------------------------------------------------------------------------------
|
||||
module function mech_F_e(ph,me) result(F_e)
|
||||
|
||||
integer, intent(in) :: ph,me
|
||||
|
@ -1895,7 +1903,9 @@ end function mech_F_e
|
|||
|
||||
|
||||
|
||||
! getter for non-mech (e.g. thermal)
|
||||
!----------------------------------------------------------------------------------------------
|
||||
!< @brief Get second Piola-Kichhoff stress (for use by homogenization)
|
||||
!----------------------------------------------------------------------------------------------
|
||||
module function constitutive_mech_getP(co,ip,el) result(P)
|
||||
|
||||
integer, intent(in) :: co, ip, el
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
!> @brief internal microstructure state for all thermal sources and kinematics constitutive models
|
||||
!----------------------------------------------------------------------------------------------------
|
||||
submodule(constitutive) constitutive_thermal
|
||||
|
||||
|
||||
type :: tDataContainer
|
||||
real(pReal), dimension(:), allocatable :: T
|
||||
end type tDataContainer
|
||||
|
||||
|
||||
type(tDataContainer), dimension(:), allocatable :: current
|
||||
|
||||
interface
|
||||
|
@ -56,10 +56,10 @@ contains
|
|||
!< @brief initializes thermal sources and kinematics mechanism
|
||||
!----------------------------------------------------------------------------------------------
|
||||
module subroutine thermal_init(phases)
|
||||
|
||||
|
||||
class(tNode), pointer :: &
|
||||
phases
|
||||
|
||||
|
||||
integer :: &
|
||||
ph, &
|
||||
Nconstituents
|
||||
|
@ -71,13 +71,13 @@ module subroutine thermal_init(phases)
|
|||
|
||||
|
||||
do ph = 1, phases%length
|
||||
|
||||
|
||||
Nconstituents = count(material_phaseAt == ph) * discretization_nIPs
|
||||
|
||||
allocate(current(ph)%T(Nconstituents))
|
||||
|
||||
enddo
|
||||
|
||||
|
||||
! initialize source mechanisms
|
||||
if(maxval(phase_Nsources) /= 0) then
|
||||
where(source_thermal_dissipation_init (maxval(phase_Nsources))) phase_source = SOURCE_thermal_dissipation_ID
|
||||
|
@ -145,8 +145,9 @@ module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T,
|
|||
end subroutine constitutive_thermal_getRateAndItsTangents
|
||||
|
||||
|
||||
|
||||
! getter for non-thermal (e.g. mech)
|
||||
!----------------------------------------------------------------------------------------------
|
||||
!< @brief Get temperature (for use by non-thermal physics)
|
||||
!----------------------------------------------------------------------------------------------
|
||||
module function thermal_T(ph,me) result(T)
|
||||
|
||||
integer, intent(in) :: ph, me
|
||||
|
@ -158,10 +159,17 @@ module function thermal_T(ph,me) result(T)
|
|||
end function thermal_T
|
||||
|
||||
|
||||
! setter for homogenization
|
||||
!----------------------------------------------------------------------------------------------
|
||||
!< @brief Set temperature
|
||||
!----------------------------------------------------------------------------------------------
|
||||
module subroutine constitutive_thermal_setT(T,co,ip,el)
|
||||
|
||||
real(pReal), intent(in) :: T
|
||||
integer, intent(in) :: co, ip, el
|
||||
|
||||
|
||||
current(material_phaseAt(co,el))%T(material_phaseMemberAt(co,ip,el)) = T
|
||||
|
||||
end subroutine constitutive_thermal_setT
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue