use Voigt notation
there is no advantage of using the symmetrized conversions
This commit is contained in:
parent
4d29393ced
commit
8a8fdfc93c
|
@ -64,38 +64,7 @@ end subroutine elastic_init
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief Return 6x6 elasticity tensor.
|
!> @brief Return 6x6 elasticity tensor.
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
function get_C66(ph,en)
|
function elastic_C66(ph,en) result(C66)
|
||||||
|
|
||||||
integer, intent(in) :: &
|
|
||||||
ph, &
|
|
||||||
en
|
|
||||||
real(pReal), dimension(6,6) :: get_C66
|
|
||||||
|
|
||||||
|
|
||||||
associate(prm => param(ph))
|
|
||||||
get_C66 = 0.0_pReal
|
|
||||||
get_C66(1,1) = prm%C_11
|
|
||||||
get_C66(1,2) = prm%C_12
|
|
||||||
get_C66(4,4) = prm%C_44
|
|
||||||
|
|
||||||
if (any(phase_lattice(ph) == ['hP','tI'])) then
|
|
||||||
get_C66(1,3) = prm%C_13
|
|
||||||
get_C66(3,3) = prm%C_33
|
|
||||||
end if
|
|
||||||
|
|
||||||
if (phase_lattice(ph) == 'tI') get_C66(6,6) = prm%C_66
|
|
||||||
|
|
||||||
get_C66 = lattice_symmetrize_C66(get_C66,phase_lattice(ph))
|
|
||||||
|
|
||||||
end associate
|
|
||||||
|
|
||||||
end function get_C66
|
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
!> @brief Return 6x6 elasticity tensor.
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
module function elastic_C66(ph,en) result(C66)
|
|
||||||
|
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
ph, &
|
ph, &
|
||||||
|
@ -103,7 +72,22 @@ module function elastic_C66(ph,en) result(C66)
|
||||||
real(pReal), dimension(6,6) :: C66
|
real(pReal), dimension(6,6) :: C66
|
||||||
|
|
||||||
|
|
||||||
C66 = math_sym3333to66(math_Voigt66to3333(get_C66(ph,en))) ! Literature data is in Voigt notation
|
associate(prm => param(ph))
|
||||||
|
C66 = 0.0_pReal
|
||||||
|
C66(1,1) = prm%C_11
|
||||||
|
C66(1,2) = prm%C_12
|
||||||
|
C66(4,4) = prm%C_44
|
||||||
|
|
||||||
|
if (any(phase_lattice(ph) == ['hP','tI'])) then
|
||||||
|
C66(1,3) = prm%C_13
|
||||||
|
C66(3,3) = prm%C_33
|
||||||
|
end if
|
||||||
|
|
||||||
|
if (phase_lattice(ph) == 'tI') C66(6,6) = prm%C_66
|
||||||
|
|
||||||
|
C66 = lattice_symmetrize_C66(C66,phase_lattice(ph))
|
||||||
|
|
||||||
|
end associate
|
||||||
|
|
||||||
end function elastic_C66
|
end function elastic_C66
|
||||||
|
|
||||||
|
@ -120,10 +104,11 @@ module function elastic_mu(ph,en) result(mu)
|
||||||
mu
|
mu
|
||||||
|
|
||||||
|
|
||||||
mu = lattice_equivalent_mu(get_C66(ph,en),'voigt')
|
mu = lattice_equivalent_mu(elastic_C66(ph,en),'voigt')
|
||||||
|
|
||||||
end function elastic_mu
|
end function elastic_mu
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief Return Poisson ratio.
|
!> @brief Return Poisson ratio.
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
@ -136,7 +121,7 @@ module function elastic_nu(ph,en) result(nu)
|
||||||
nu
|
nu
|
||||||
|
|
||||||
|
|
||||||
nu = lattice_equivalent_nu(get_C66(ph,en),'voigt')
|
nu = lattice_equivalent_nu(elastic_C66(ph,en),'voigt')
|
||||||
|
|
||||||
end function elastic_nu
|
end function elastic_nu
|
||||||
|
|
||||||
|
@ -194,7 +179,7 @@ module function phase_homogenizedC66(ph,en) result(C)
|
||||||
case (PLASTICITY_DISLOTWIN_ID) plasticType
|
case (PLASTICITY_DISLOTWIN_ID) plasticType
|
||||||
C = plastic_dislotwin_homogenizedC(ph,en)
|
C = plastic_dislotwin_homogenizedC(ph,en)
|
||||||
case default plasticType
|
case default plasticType
|
||||||
C = elastic_C66(ph,en)
|
C = math_sym3333to66(math_Voigt66to3333(elastic_C66(ph,en)))
|
||||||
end select plasticType
|
end select plasticType
|
||||||
|
|
||||||
end function phase_homogenizedC66
|
end function phase_homogenizedC66
|
||||||
|
|
|
@ -484,7 +484,7 @@ module function plastic_dislotwin_homogenizedC(ph,en) result(homogenizedC)
|
||||||
|
|
||||||
associate(prm => param(ph), stt => state(ph))
|
associate(prm => param(ph), stt => state(ph))
|
||||||
|
|
||||||
C66 = elastic_C66(ph,en)
|
C66 = math_sym3333to66(math_Voigt66to3333(elastic_C66(ph,en)))
|
||||||
|
|
||||||
f_unrotated = 1.0_pReal &
|
f_unrotated = 1.0_pReal &
|
||||||
- sum(stt%f_tw(1:prm%sum_N_tw,en)) &
|
- sum(stt%f_tw(1:prm%sum_N_tw,en)) &
|
||||||
|
|
Loading…
Reference in New Issue