implementing C66 rotation for transformation

This commit is contained in:
Martin Diehl 2018-12-21 23:53:21 +01:00
parent 704ce8ca55
commit f4cf38fa22
1 changed files with 9 additions and 9 deletions

View File

@ -1769,8 +1769,8 @@ end function lattice_C66_twin
!> @brief Rotated elasticity matrices for transformation in Mandel notation !> @brief Rotated elasticity matrices for transformation in Mandel notation
!> ToDo: Completely untested and incomplete and undocumented !> ToDo: Completely untested and incomplete and undocumented
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
function lattice_C66_trans(Ntrans,C_parent66,structure_parent, & function lattice_C66_trans(Ntrans,C_parent66, &
C_target66,structure_target, & structure_target, &
CoverA_trans,a_bcc,a_fcc) CoverA_trans,a_bcc,a_fcc)
use prec, only: & use prec, only: &
tol_math_check tol_math_check
@ -1790,17 +1790,14 @@ function lattice_C66_trans(Ntrans,C_parent66,structure_parent, &
implicit none implicit none
integer(pInt), dimension(:), intent(in) :: Ntrans !< number of active twin systems per family integer(pInt), dimension(:), intent(in) :: Ntrans !< number of active twin systems per family
character(len=*), intent(in) :: & character(len=*), intent(in) :: &
structure_target, & !< lattice structure structure_target !< lattice structure
structure_parent !< lattice structure real(pReal), dimension(6,6), intent(in) :: C_parent66
real(pReal), dimension(6,6), intent(in) :: C_parent66, C_target66
real(pReal), dimension(6,6) :: C_bar66, C_target_unrotated66 real(pReal), dimension(6,6) :: C_bar66, C_target_unrotated66
real(pReal), dimension(6,6,sum(Ntrans)) :: lattice_C66_trans real(pReal), dimension(6,6,sum(Ntrans)) :: lattice_C66_trans
real(pReal), dimension(3,3,sum(Ntrans)) :: Q,S
real(pReal), dimension(3,3) :: Q,S
real(pReal) :: a_bcc, a_fcc, CoverA_trans real(pReal) :: a_bcc, a_fcc, CoverA_trans
integer(pInt) :: i integer(pInt) :: i
if (trim(structure_parent) /= 'hex') write(6,*) "Mist"
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! elasticity matrix of the target phase in cube orientation ! elasticity matrix of the target phase in cube orientation
@ -1829,7 +1826,10 @@ function lattice_C66_trans(Ntrans,C_parent66,structure_parent, &
if (abs(C_target_unrotated66(i,i))<tol_math_check) & if (abs(C_target_unrotated66(i,i))<tol_math_check) &
call IO_error(135_pInt,el=i,ext_msg='matrix diagonal "el"ement in transformation') call IO_error(135_pInt,el=i,ext_msg='matrix diagonal "el"ement in transformation')
enddo enddo
lattice_C66_trans = 0.0_pReal lattice_C66_trans = 0.0_pReal
call lattice_Trans(Q,S,Ntrans,CoverA_trans,a_fcc,a_bcc)
do i = 1, sum(Ntrans) do i = 1, sum(Ntrans)
! R = math_axisAngleToR(coordinateSystem(1:3,2,i), 180.0_pReal * INRAD) ! ToDo: Why always 180 deg? ! R = math_axisAngleToR(coordinateSystem(1:3,2,i), 180.0_pReal * INRAD) ! ToDo: Why always 180 deg?
! lattice_C66_trans(1:6,1:6,i) = math_Mandel3333to66(math_rotate_forward3333(math_Mandel66to3333(C66),R)) ! lattice_C66_trans(1:6,1:6,i) = math_Mandel3333to66(math_rotate_forward3333(math_Mandel66to3333(C66),R))