cleavage systems should reflect lattice symmetry
also {100} cleavage planes need investigation
This commit is contained in:
parent
c9b9c9103b
commit
4c17963cd6
|
@ -39,8 +39,8 @@ module lattice
|
||||||
integer, dimension(1), parameter :: &
|
integer, dimension(1), parameter :: &
|
||||||
LATTICE_FCC_NTRANSSYSTEM = [12] !< # of transformation systems per family for fcc
|
LATTICE_FCC_NTRANSSYSTEM = [12] !< # of transformation systems per family for fcc
|
||||||
|
|
||||||
integer, dimension(2), parameter :: &
|
integer, dimension(1), parameter :: &
|
||||||
LATTICE_FCC_NCLEAVAGESYSTEM = [3, 4] !< # of cleavage systems per family for fcc
|
LATTICE_FCC_NCLEAVAGESYSTEM = [3] !< # of cleavage systems per family for fcc
|
||||||
|
|
||||||
integer, parameter :: &
|
integer, parameter :: &
|
||||||
#ifndef __PGI
|
#ifndef __PGI
|
||||||
|
@ -52,7 +52,7 @@ module lattice
|
||||||
LATTICE_FCC_NSLIP = 18, &
|
LATTICE_FCC_NSLIP = 18, &
|
||||||
LATTICE_FCC_NTWIN = 12, &
|
LATTICE_FCC_NTWIN = 12, &
|
||||||
LATTICE_FCC_NTRANS = 12, &
|
LATTICE_FCC_NTRANS = 12, &
|
||||||
LATTICE_FCC_NCLEAVAGE = 7
|
LATTICE_FCC_NCLEAVAGE = 3
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
real(pReal), dimension(3+3,LATTICE_FCC_NSLIP), parameter :: &
|
real(pReal), dimension(3+3,LATTICE_FCC_NSLIP), parameter :: &
|
||||||
|
@ -116,11 +116,7 @@ module lattice
|
||||||
! Cleavage direction Plane normal
|
! Cleavage direction Plane normal
|
||||||
0, 1, 0, 1, 0, 0, &
|
0, 1, 0, 1, 0, 0, &
|
||||||
0, 0, 1, 0, 1, 0, &
|
0, 0, 1, 0, 1, 0, &
|
||||||
1, 0, 0, 0, 0, 1, &
|
1, 0, 0, 0, 0, 1 &
|
||||||
0, 1,-1, 1, 1, 1, &
|
|
||||||
0,-1,-1, -1,-1, 1, &
|
|
||||||
-1, 0,-1, 1,-1,-1, &
|
|
||||||
0, 1, 1, -1, 1,-1 &
|
|
||||||
],pReal),shape(LATTICE_FCC_SYSTEMCLEAVAGE))
|
],pReal),shape(LATTICE_FCC_SYSTEMCLEAVAGE))
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
@ -131,8 +127,8 @@ module lattice
|
||||||
integer, dimension(1), parameter :: &
|
integer, dimension(1), parameter :: &
|
||||||
LATTICE_BCC_NTWINSYSTEM = [12] !< # of twin systems per family for bcc
|
LATTICE_BCC_NTWINSYSTEM = [12] !< # of twin systems per family for bcc
|
||||||
|
|
||||||
integer, dimension(2), parameter :: &
|
integer, dimension(1), parameter :: &
|
||||||
LATTICE_BCC_NCLEAVAGESYSTEM = [3, 6] !< # of cleavage systems per family for bcc
|
LATTICE_BCC_NCLEAVAGESYSTEM = [3] !< # of cleavage systems per family for bcc
|
||||||
|
|
||||||
integer, parameter :: &
|
integer, parameter :: &
|
||||||
#ifndef __PGI
|
#ifndef __PGI
|
||||||
|
@ -142,7 +138,7 @@ module lattice
|
||||||
#else
|
#else
|
||||||
LATTICE_BCC_NSLIP = 24, &
|
LATTICE_BCC_NSLIP = 24, &
|
||||||
LATTICE_BCC_NTWIN = 12, &
|
LATTICE_BCC_NTWIN = 12, &
|
||||||
LATTICE_BCC_NCLEAVAGE = 9
|
LATTICE_BCC_NCLEAVAGE = 3
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
real(pReal), dimension(3+3,LATTICE_BCC_NSLIP), parameter :: &
|
real(pReal), dimension(3+3,LATTICE_BCC_NSLIP), parameter :: &
|
||||||
|
@ -198,13 +194,7 @@ module lattice
|
||||||
! Cleavage direction Plane normal
|
! Cleavage direction Plane normal
|
||||||
0, 1, 0, 1, 0, 0, &
|
0, 1, 0, 1, 0, 0, &
|
||||||
0, 0, 1, 0, 1, 0, &
|
0, 0, 1, 0, 1, 0, &
|
||||||
1, 0, 0, 0, 0, 1, &
|
1, 0, 0, 0, 0, 1 &
|
||||||
1,-1, 1, 0, 1, 1, &
|
|
||||||
1, 1, 1, 0,-1, 1, &
|
|
||||||
-1, 1, 1, 1, 0, 1, &
|
|
||||||
1, 1, 1, -1, 0, 1, &
|
|
||||||
-1, 1, 1, 1, 1, 0, &
|
|
||||||
1, 1, 1, -1, 1, 0 &
|
|
||||||
],pReal),shape(LATTICE_BCC_SYSTEMCLEAVAGE))
|
],pReal),shape(LATTICE_BCC_SYSTEMCLEAVAGE))
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
@ -215,18 +205,13 @@ module lattice
|
||||||
integer, dimension(4), parameter :: &
|
integer, dimension(4), parameter :: &
|
||||||
LATTICE_HEX_NTWINSYSTEM = [6, 6, 6, 6] !< # of slip systems per family for hex
|
LATTICE_HEX_NTWINSYSTEM = [6, 6, 6, 6] !< # of slip systems per family for hex
|
||||||
|
|
||||||
integer, dimension(1), parameter :: &
|
|
||||||
LATTICE_HEX_NCLEAVAGESYSTEM = [3] !< # of cleavage systems per family for hex
|
|
||||||
|
|
||||||
integer, parameter :: &
|
integer, parameter :: &
|
||||||
#ifndef __PGI
|
#ifndef __PGI
|
||||||
LATTICE_HEX_NSLIP = sum(LATTICE_HEX_NSLIPSYSTEM), & !< total # of slip systems for hex
|
LATTICE_HEX_NSLIP = sum(LATTICE_HEX_NSLIPSYSTEM), & !< total # of slip systems for hex
|
||||||
LATTICE_HEX_NTWIN = sum(LATTICE_HEX_NTWINSYSTEM), & !< total # of twin systems for hex
|
LATTICE_HEX_NTWIN = sum(LATTICE_HEX_NTWINSYSTEM) !< total # of twin systems for hex
|
||||||
LATTICE_HEX_NCLEAVAGE = sum(LATTICE_HEX_NCLEAVAGESYSTEM) !< total # of cleavage systems for hex
|
|
||||||
#else
|
#else
|
||||||
LATTICE_HEX_NSLIP = 33, &
|
LATTICE_HEX_NSLIP = 33, &
|
||||||
LATTICE_HEX_NTWIN = 24, &
|
LATTICE_HEX_NTWIN = 24
|
||||||
LATTICE_HEX_NCLEAVAGE = 3
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
real(pReal), dimension(4+4,LATTICE_HEX_NSLIP), parameter :: &
|
real(pReal), dimension(4+4,LATTICE_HEX_NSLIP), parameter :: &
|
||||||
|
@ -305,14 +290,6 @@ module lattice
|
||||||
2, -1, -1, -3, 2, -1, -1, 2 &
|
2, -1, -1, -3, 2, -1, -1, 2 &
|
||||||
],pReal),shape(LATTICE_HEX_SYSTEMTWIN)) !< twin systems for hex, sorted by P. Eisenlohr CCW around <c> starting next to a_1 axis
|
],pReal),shape(LATTICE_HEX_SYSTEMTWIN)) !< twin systems for hex, sorted by P. Eisenlohr CCW around <c> starting next to a_1 axis
|
||||||
|
|
||||||
real(pReal), dimension(4+4,LATTICE_HEX_NCLEAVAGE), parameter :: &
|
|
||||||
LATTICE_HEX_SYSTEMCLEAVAGE = reshape(real([&
|
|
||||||
! Cleavage direction Plane normal
|
|
||||||
2,-1,-1, 0, 0, 0, 0, 1, &
|
|
||||||
0, 0, 0, 1, 2,-1,-1, 0, &
|
|
||||||
0, 0, 0, 1, 0, 1,-1, 0 &
|
|
||||||
],pReal),shape(LATTICE_HEX_SYSTEMCLEAVAGE))
|
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! body centered tetragonal
|
! body centered tetragonal
|
||||||
|
@ -421,8 +398,7 @@ module lattice
|
||||||
|
|
||||||
! BEGIN DEPRECATED
|
! BEGIN DEPRECATED
|
||||||
integer, parameter, public :: &
|
integer, parameter, public :: &
|
||||||
LATTICE_maxNcleavage = max(LATTICE_fcc_Ncleavage,LATTICE_bcc_Ncleavage, &
|
LATTICE_maxNcleavage = max(LATTICE_fcc_Ncleavage,LATTICE_bcc_Ncleavage,LATTICE_ort_Ncleavage)
|
||||||
LATTICE_hex_Ncleavage,LATTICE_ort_Ncleavage)
|
|
||||||
! END DEPRECATED
|
! END DEPRECATED
|
||||||
|
|
||||||
real(pReal), dimension(:,:,:), allocatable, public, protected :: &
|
real(pReal), dimension(:,:,:), allocatable, public, protected :: &
|
||||||
|
@ -631,20 +607,15 @@ subroutine initializeStructure(myPhase,CoverA)
|
||||||
select case(lattice_structure(myPhase))
|
select case(lattice_structure(myPhase))
|
||||||
|
|
||||||
case (LATTICE_fcc_ID)
|
case (LATTICE_fcc_ID)
|
||||||
lattice_NcleavageSystem(1:2,myPhase) = lattice_fcc_NcleavageSystem
|
lattice_NcleavageSystem(1:1,myPhase) = lattice_fcc_NcleavageSystem
|
||||||
lattice_Scleavage(1:3,1:3,1:3,1:lattice_fcc_Ncleavage,myPhase) = &
|
lattice_Scleavage(1:3,1:3,1:3,1:lattice_fcc_Ncleavage,myPhase) = &
|
||||||
lattice_SchmidMatrix_cleavage(lattice_fcc_ncleavageSystem,'fcc',covera)
|
lattice_SchmidMatrix_cleavage(lattice_fcc_ncleavageSystem,'fcc',covera)
|
||||||
|
|
||||||
case (LATTICE_bcc_ID)
|
case (LATTICE_bcc_ID)
|
||||||
lattice_NcleavageSystem(1:2,myPhase) = lattice_bcc_NcleavageSystem
|
lattice_NcleavageSystem(1:1,myPhase) = lattice_bcc_NcleavageSystem
|
||||||
lattice_Scleavage(1:3,1:3,1:3,1:lattice_bcc_Ncleavage,myPhase) = &
|
lattice_Scleavage(1:3,1:3,1:3,1:lattice_bcc_Ncleavage,myPhase) = &
|
||||||
lattice_SchmidMatrix_cleavage(lattice_bcc_ncleavagesystem,'bcc',covera)
|
lattice_SchmidMatrix_cleavage(lattice_bcc_ncleavagesystem,'bcc',covera)
|
||||||
|
|
||||||
case (LATTICE_hex_ID)
|
|
||||||
lattice_NcleavageSystem(1:1,myPhase) = lattice_hex_NcleavageSystem
|
|
||||||
lattice_Scleavage(1:3,1:3,1:3,1:lattice_hex_Ncleavage,myPhase) = &
|
|
||||||
lattice_SchmidMatrix_cleavage(lattice_hex_ncleavagesystem,'hex',covera)
|
|
||||||
|
|
||||||
case (LATTICE_ort_ID)
|
case (LATTICE_ort_ID)
|
||||||
lattice_NcleavageSystem(1:3,myPhase) = lattice_ort_NcleavageSystem
|
lattice_NcleavageSystem(1:3,myPhase) = lattice_ort_NcleavageSystem
|
||||||
lattice_Scleavage(1:3,1:3,1:3,1:lattice_ort_Ncleavage,myPhase) = &
|
lattice_Scleavage(1:3,1:3,1:3,1:lattice_ort_Ncleavage,myPhase) = &
|
||||||
|
@ -1684,9 +1655,6 @@ function lattice_SchmidMatrix_cleavage(Ncleavage,structure,cOverA) result(Schmid
|
||||||
case('bcc')
|
case('bcc')
|
||||||
NcleavageMax = LATTICE_BCC_NCLEAVAGESYSTEM
|
NcleavageMax = LATTICE_BCC_NCLEAVAGESYSTEM
|
||||||
cleavageSystems = LATTICE_BCC_SYSTEMCLEAVAGE
|
cleavageSystems = LATTICE_BCC_SYSTEMCLEAVAGE
|
||||||
case('hex')
|
|
||||||
NcleavageMax = LATTICE_HEX_NCLEAVAGESYSTEM
|
|
||||||
cleavageSystems = LATTICE_HEX_SYSTEMCLEAVAGE
|
|
||||||
case default
|
case default
|
||||||
call IO_error(137,ext_msg='lattice_SchmidMatrix_cleavage: '//trim(structure))
|
call IO_error(137,ext_msg='lattice_SchmidMatrix_cleavage: '//trim(structure))
|
||||||
end select
|
end select
|
||||||
|
|
Loading…
Reference in New Issue