distributing responsibilities
This commit is contained in:
parent
8ec2d3a9ce
commit
b2292986f4
|
@ -114,7 +114,7 @@ module function homogenization_mu_phi(ce) result(mu)
|
||||||
real(pReal) :: mu
|
real(pReal) :: mu
|
||||||
|
|
||||||
|
|
||||||
mu = lattice_mu_phi(material_phaseID(1,ce))
|
mu = phase_mu_phi(1,ce)
|
||||||
|
|
||||||
end function homogenization_mu_phi
|
end function homogenization_mu_phi
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@ module function homogenization_K_phi(ce) result(K)
|
||||||
real(pReal), dimension(3,3) :: K
|
real(pReal), dimension(3,3) :: K
|
||||||
|
|
||||||
|
|
||||||
K = crystallite_push33ToRef(1,ce,lattice_K_phi(1:3,1:3,material_phaseID(1,ce))) \
|
K = phase_K_phi(1,ce) &
|
||||||
* num_damage%charLength**2
|
* num_damage%charLength**2
|
||||||
|
|
||||||
end function homogenization_K_phi
|
end function homogenization_K_phi
|
||||||
|
|
|
@ -102,8 +102,15 @@ module function homogenization_mu_T(ce) result(mu)
|
||||||
integer, intent(in) :: ce
|
integer, intent(in) :: ce
|
||||||
real(pReal) :: mu
|
real(pReal) :: mu
|
||||||
|
|
||||||
|
integer :: co
|
||||||
|
|
||||||
mu = c_P(ce) * rho(ce)
|
|
||||||
|
mu = phase_mu_T(1,ce)
|
||||||
|
do co = 2, homogenization_Nconstituents(material_homogenizationID(ce))
|
||||||
|
mu = mu + phase_mu_T(co,ce)
|
||||||
|
enddo
|
||||||
|
|
||||||
|
mu = mu / real(homogenization_Nconstituents(material_homogenizationID(ce)),pReal)
|
||||||
|
|
||||||
end function homogenization_mu_T
|
end function homogenization_mu_T
|
||||||
|
|
||||||
|
@ -119,9 +126,9 @@ module function homogenization_K_T(ce) result(K)
|
||||||
integer :: co
|
integer :: co
|
||||||
|
|
||||||
|
|
||||||
K = crystallite_push33ToRef(1,ce,lattice_K_T(:,:,material_phaseID(1,ce)))
|
K = phase_K_T(1,ce)
|
||||||
do co = 2, homogenization_Nconstituents(material_homogenizationID(ce))
|
do co = 2, homogenization_Nconstituents(material_homogenizationID(ce))
|
||||||
K = K + crystallite_push33ToRef(co,ce,lattice_K_T(:,:,material_phaseID(co,ce)))
|
K = K + phase_K_T(co,ce)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
K = K / real(homogenization_Nconstituents(material_homogenizationID(ce)),pReal)
|
K = K / real(homogenization_Nconstituents(material_homogenizationID(ce)),pReal)
|
||||||
|
@ -187,46 +194,4 @@ module subroutine thermal_results(ho,group)
|
||||||
|
|
||||||
end subroutine thermal_results
|
end subroutine thermal_results
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
!> @brief Homogenize specific heat capacity.
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
function c_P(ce)
|
|
||||||
|
|
||||||
integer, intent(in) :: ce
|
|
||||||
real(pReal) :: c_P
|
|
||||||
|
|
||||||
integer :: co
|
|
||||||
|
|
||||||
|
|
||||||
c_P = lattice_c_p(material_phaseID(1,ce))
|
|
||||||
do co = 2, homogenization_Nconstituents(material_homogenizationID(ce))
|
|
||||||
c_P = c_P + lattice_c_p(material_phaseID(co,ce))
|
|
||||||
enddo
|
|
||||||
|
|
||||||
c_P = c_P / real(homogenization_Nconstituents(material_homogenizationID(ce)),pReal)
|
|
||||||
|
|
||||||
end function c_P
|
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
!> @brief Homogenize mass density.
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
function rho(ce)
|
|
||||||
|
|
||||||
integer, intent(in) :: ce
|
|
||||||
real(pReal) :: rho
|
|
||||||
|
|
||||||
integer :: co
|
|
||||||
|
|
||||||
|
|
||||||
rho = lattice_rho(material_phaseID(1,ce))
|
|
||||||
do co = 2, homogenization_Nconstituents(material_homogenizationID(ce))
|
|
||||||
rho = rho + lattice_rho(material_phaseID(co,ce))
|
|
||||||
enddo
|
|
||||||
|
|
||||||
rho = rho / real(homogenization_Nconstituents(material_homogenizationID(ce)),pReal)
|
|
||||||
|
|
||||||
end function rho
|
|
||||||
|
|
||||||
end submodule thermal
|
end submodule thermal
|
||||||
|
|
|
@ -184,7 +184,7 @@ module phase
|
||||||
|
|
||||||
module subroutine phase_thermal_setField(T,dot_T, co,ce)
|
module subroutine phase_thermal_setField(T,dot_T, co,ce)
|
||||||
real(pReal), intent(in) :: T, dot_T
|
real(pReal), intent(in) :: T, dot_T
|
||||||
integer, intent(in) :: ce, co
|
integer, intent(in) :: co, ce
|
||||||
end subroutine phase_thermal_setField
|
end subroutine phase_thermal_setField
|
||||||
|
|
||||||
module subroutine phase_set_phi(phi,co,ce)
|
module subroutine phase_set_phi(phi,co,ce)
|
||||||
|
@ -192,6 +192,28 @@ module phase
|
||||||
integer, intent(in) :: co, ce
|
integer, intent(in) :: co, ce
|
||||||
end subroutine phase_set_phi
|
end subroutine phase_set_phi
|
||||||
|
|
||||||
|
|
||||||
|
module function phase_mu_phi(co,ce) result(mu)
|
||||||
|
integer, intent(in) :: co, ce
|
||||||
|
real(pReal) :: mu
|
||||||
|
end function phase_mu_phi
|
||||||
|
|
||||||
|
module function phase_K_phi(co,ce) result(K)
|
||||||
|
integer, intent(in) :: co, ce
|
||||||
|
real(pReal), dimension(3,3) :: K
|
||||||
|
end function phase_K_phi
|
||||||
|
|
||||||
|
|
||||||
|
module function phase_mu_T(co,ce) result(mu)
|
||||||
|
integer, intent(in) :: co, ce
|
||||||
|
real(pReal) :: mu
|
||||||
|
end function phase_mu_T
|
||||||
|
|
||||||
|
module function phase_K_T(co,ce) result(K)
|
||||||
|
integer, intent(in) :: co, ce
|
||||||
|
real(pReal), dimension(3,3) :: K
|
||||||
|
end function phase_K_T
|
||||||
|
|
||||||
! == cleaned:end ===================================================================================
|
! == cleaned:end ===================================================================================
|
||||||
|
|
||||||
module function thermal_stress(Delta_t,ph,me) result(converged_)
|
module function thermal_stress(Delta_t,ph,me) result(converged_)
|
||||||
|
@ -297,6 +319,10 @@ module phase
|
||||||
phase_homogenizedC, &
|
phase_homogenizedC, &
|
||||||
phase_f_phi, &
|
phase_f_phi, &
|
||||||
phase_f_T, &
|
phase_f_T, &
|
||||||
|
phase_K_phi, &
|
||||||
|
phase_K_T, &
|
||||||
|
phase_mu_phi, &
|
||||||
|
phase_mu_T, &
|
||||||
phase_results, &
|
phase_results, &
|
||||||
phase_allocateState, &
|
phase_allocateState, &
|
||||||
phase_forward, &
|
phase_forward, &
|
||||||
|
|
|
@ -345,6 +345,33 @@ function phase_damage_collectDotState(ph,me) result(broken)
|
||||||
end function phase_damage_collectDotState
|
end function phase_damage_collectDotState
|
||||||
|
|
||||||
|
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
!> @brief Damage viscosity.
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
module function phase_mu_phi(co,ce) result(mu)
|
||||||
|
|
||||||
|
integer, intent(in) :: co, ce
|
||||||
|
real(pReal) :: mu
|
||||||
|
|
||||||
|
|
||||||
|
mu = lattice_mu_phi(material_phaseID(co,ce))
|
||||||
|
|
||||||
|
end function phase_mu_phi
|
||||||
|
|
||||||
|
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
!> @brief Damage conductivity/diffusivity in reference configuration.
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
module function phase_K_phi(co,ce) result(K)
|
||||||
|
|
||||||
|
integer, intent(in) :: co, ce
|
||||||
|
real(pReal), dimension(3,3) :: K
|
||||||
|
|
||||||
|
|
||||||
|
K = crystallite_push33ToRef(co,ce,lattice_K_phi(1:3,1:3,material_phaseID(co,ce)))
|
||||||
|
|
||||||
|
end function phase_K_phi
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief for constitutive models having an instantaneous change of state
|
!> @brief for constitutive models having an instantaneous change of state
|
||||||
|
|
|
@ -184,6 +184,35 @@ function phase_thermal_collectDotState(ph,me) result(broken)
|
||||||
end function phase_thermal_collectDotState
|
end function phase_thermal_collectDotState
|
||||||
|
|
||||||
|
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
!> @brief Damage viscosity.
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
module function phase_mu_T(co,ce) result(mu)
|
||||||
|
|
||||||
|
integer, intent(in) :: co, ce
|
||||||
|
real(pReal) :: mu
|
||||||
|
|
||||||
|
|
||||||
|
mu = lattice_c_p(material_phaseID(co,ce)) &
|
||||||
|
* lattice_rho(material_phaseID(co,ce))
|
||||||
|
|
||||||
|
end function phase_mu_T
|
||||||
|
|
||||||
|
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
!> @brief Damage conductivity/diffusivity in reference configuration.
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
module function phase_K_T(co,ce) result(K)
|
||||||
|
|
||||||
|
integer, intent(in) :: co, ce
|
||||||
|
real(pReal), dimension(3,3) :: K
|
||||||
|
|
||||||
|
|
||||||
|
K = crystallite_push33ToRef(co,ce,lattice_K_T(1:3,1:3,material_phaseID(co,ce)))
|
||||||
|
|
||||||
|
end function phase_K_T
|
||||||
|
|
||||||
|
|
||||||
module function thermal_stress(Delta_t,ph,me) result(converged_) ! ?? why is this called "stress" when it seems closer to "updateState" ??
|
module function thermal_stress(Delta_t,ph,me) result(converged_) ! ?? why is this called "stress" when it seems closer to "updateState" ??
|
||||||
|
|
||||||
real(pReal), intent(in) :: Delta_t
|
real(pReal), intent(in) :: Delta_t
|
||||||
|
|
Loading…
Reference in New Issue