Merge branch 'fix-thermal-dissipation' into 'development'
calculate plastic dissipation based on M_p not S See merge request damask/DAMASK!719
This commit is contained in:
commit
64b133e679
|
@ -185,6 +185,10 @@ module phase
|
||||||
real(pReal), dimension(3,3) :: F_e
|
real(pReal), dimension(3,3) :: F_e
|
||||||
end function mechanical_F_e
|
end function mechanical_F_e
|
||||||
|
|
||||||
|
module function mechanical_F_i(ph,en) result(F_i)
|
||||||
|
integer, intent(in) :: ph,en
|
||||||
|
real(pReal), dimension(3,3) :: F_i
|
||||||
|
end function mechanical_F_i
|
||||||
|
|
||||||
module function phase_F(co,ce) result(F)
|
module function phase_F(co,ce) result(F)
|
||||||
integer, intent(in) :: co, ce
|
integer, intent(in) :: co, ce
|
||||||
|
|
|
@ -1319,6 +1319,20 @@ module function mechanical_F_e(ph,en) result(F_e)
|
||||||
end function mechanical_F_e
|
end function mechanical_F_e
|
||||||
|
|
||||||
|
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
!< @brief Get eigen deformation gradient (for use by non-mech physics).
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
module function mechanical_F_i(ph,en) result(F_i)
|
||||||
|
|
||||||
|
integer, intent(in) :: ph,en
|
||||||
|
real(pReal), dimension(3,3) :: F_i
|
||||||
|
|
||||||
|
|
||||||
|
F_i = phase_mechanical_Fi(ph)%data(1:3,1:3,en)
|
||||||
|
|
||||||
|
end function mechanical_F_i
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!< @brief Get second Piola-Kirchhoff stress (for use by homogenization).
|
!< @brief Get second Piola-Kirchhoff stress (for use by homogenization).
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH
|
!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH
|
||||||
!> @author Pratheek Shanthraj, Max-Planck-Institut für Eisenforschung GmbH
|
!> @author Pratheek Shanthraj, Max-Planck-Institut für Eisenforschung GmbH
|
||||||
|
!> @author Franz Roters, Max-Planck-Institut für Eisenforschung GmbH
|
||||||
!> @brief material subroutine for thermal source due to plastic dissipation
|
!> @brief material subroutine for thermal source due to plastic dissipation
|
||||||
!> @details to be done
|
!> @details to be done
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
@ -77,10 +78,13 @@ module function dissipation_f_T(ph,en) result(f_T)
|
||||||
integer, intent(in) :: ph, en
|
integer, intent(in) :: ph, en
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
f_T
|
f_T
|
||||||
|
real(pReal), dimension(3,3) :: &
|
||||||
|
Mp !< Mandel stress work conjugate with Lp
|
||||||
|
|
||||||
|
Mp = matmul(matmul(transpose(mechanical_F_i(ph,en)),mechanical_F_i(ph,en)),mechanical_S(ph,en))
|
||||||
|
|
||||||
associate(prm => param(ph))
|
associate(prm => param(ph))
|
||||||
f_T = prm%kappa*sum(abs(mechanical_S(ph,en)*mechanical_L_p(ph,en)))
|
f_T = prm%kappa*sum(abs(Mp*mechanical_L_p(ph,en)))
|
||||||
end associate
|
end associate
|
||||||
|
|
||||||
end function dissipation_f_T
|
end function dissipation_f_T
|
||||||
|
|
Loading…
Reference in New Issue