including documentation from damask.mpie.de
This commit is contained in:
parent
693c2f4e3f
commit
c9c8631e7b
256
src/lattice.f90
256
src/lattice.f90
|
@ -31,44 +31,38 @@ module lattice
|
|||
FCC_NCLEAVAGESYSTEM = [3] !< # of cleavage systems per family for fcc
|
||||
|
||||
integer, parameter :: &
|
||||
#ifndef __PGI
|
||||
FCC_NSLIP = sum(FCC_NSLIPSYSTEM), & !< total # of slip systems for fcc
|
||||
FCC_NTWIN = sum(FCC_NTWINSYSTEM), & !< total # of twin systems for fcc
|
||||
FCC_NTRANS = sum(FCC_NTRANSSYSTEM), & !< total # of transformation systems for fcc
|
||||
FCC_NCLEAVAGE = sum(FCC_NCLEAVAGESYSTEM) !< total # of cleavage systems for fcc
|
||||
#else
|
||||
FCC_NSLIP = 18, &
|
||||
FCC_NTWIN = 12, &
|
||||
FCC_NTRANS = 12, &
|
||||
FCC_NCLEAVAGE = 3
|
||||
#endif
|
||||
|
||||
real(pReal), dimension(3+3,FCC_NSLIP), parameter :: &
|
||||
FCC_SYSTEMSLIP = reshape(real([&
|
||||
! Slip direction Plane normal ! SCHMID-BOAS notation
|
||||
0, 1,-1, 1, 1, 1, & ! B2
|
||||
-1, 0, 1, 1, 1, 1, & ! B4
|
||||
1,-1, 0, 1, 1, 1, & ! B5
|
||||
0,-1,-1, -1,-1, 1, & ! C1
|
||||
1, 0, 1, -1,-1, 1, & ! C3
|
||||
-1, 1, 0, -1,-1, 1, & ! C5
|
||||
0,-1, 1, 1,-1,-1, & ! A2
|
||||
-1, 0,-1, 1,-1,-1, & ! A3
|
||||
1, 1, 0, 1,-1,-1, & ! A6
|
||||
0, 1, 1, -1, 1,-1, & ! D1
|
||||
1, 0,-1, -1, 1,-1, & ! D4
|
||||
-1,-1, 0, -1, 1,-1, & ! D6
|
||||
! Slip system <110>{110}
|
||||
! <110>{111} systems
|
||||
0, 1,-1, 1, 1, 1, & ! B2
|
||||
-1, 0, 1, 1, 1, 1, & ! B4
|
||||
1,-1, 0, 1, 1, 1, & ! B5
|
||||
0,-1,-1, -1,-1, 1, & ! C1
|
||||
1, 0, 1, -1,-1, 1, & ! C3
|
||||
-1, 1, 0, -1,-1, 1, & ! C5
|
||||
0,-1, 1, 1,-1,-1, & ! A2
|
||||
-1, 0,-1, 1,-1,-1, & ! A3
|
||||
1, 1, 0, 1,-1,-1, & ! A6
|
||||
0, 1, 1, -1, 1,-1, & ! D1
|
||||
1, 0,-1, -1, 1,-1, & ! D4
|
||||
-1,-1, 0, -1, 1,-1, & ! D6
|
||||
! <110>{110}/non-octahedral systems
|
||||
1, 1, 0, 1,-1, 0, &
|
||||
1,-1, 0, 1, 1, 0, &
|
||||
1, 0, 1, 1, 0,-1, &
|
||||
1, 0,-1, 1, 0, 1, &
|
||||
0, 1, 1, 0, 1,-1, &
|
||||
0, 1,-1, 0, 1, 1 &
|
||||
],pReal),shape(FCC_SYSTEMSLIP)) !< Slip system <110>{111} directions. Sorted according to Eisenlohr & Hantcherli
|
||||
],pReal),shape(FCC_SYSTEMSLIP)) !< fcc slip systems
|
||||
|
||||
real(pReal), dimension(3+3,FCC_NTWIN), parameter :: &
|
||||
FCC_SYSTEMTWIN = reshape(real( [&
|
||||
! <112>{111} systems
|
||||
-2, 1, 1, 1, 1, 1, &
|
||||
1,-2, 1, 1, 1, 1, &
|
||||
1, 1,-2, 1, 1, 1, &
|
||||
|
@ -81,7 +75,7 @@ module lattice
|
|||
2, 1,-1, -1, 1,-1, &
|
||||
-1,-2,-1, -1, 1,-1, &
|
||||
-1, 1, 2, -1, 1,-1 &
|
||||
],pReal),shape(FCC_SYSTEMTWIN)) !< Twin system <112>{111} directions. Sorted according to Eisenlohr & Hantcherli
|
||||
],pReal),shape(FCC_SYSTEMTWIN)) !< fcc twin systems
|
||||
|
||||
integer, dimension(2,FCC_NTWIN), parameter, public :: &
|
||||
lattice_FCC_TWINNUCLEATIONSLIPPAIR = reshape( [&
|
||||
|
@ -101,11 +95,11 @@ module lattice
|
|||
|
||||
real(pReal), dimension(3+3,FCC_NCLEAVAGE), parameter :: &
|
||||
FCC_SYSTEMCLEAVAGE = reshape(real([&
|
||||
! Cleavage direction Plane normal
|
||||
! <001>{001} systems
|
||||
0, 1, 0, 1, 0, 0, &
|
||||
0, 0, 1, 0, 1, 0, &
|
||||
1, 0, 0, 0, 0, 1 &
|
||||
],pReal),shape(FCC_SYSTEMCLEAVAGE))
|
||||
],pReal),shape(FCC_SYSTEMCLEAVAGE)) !< fcc cleavage systems
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! body centered cubic (cI)
|
||||
|
@ -119,50 +113,43 @@ module lattice
|
|||
BCC_NCLEAVAGESYSTEM = [3] !< # of cleavage systems per family for bcc
|
||||
|
||||
integer, parameter :: &
|
||||
#ifndef __PGI
|
||||
BCC_NSLIP = sum(BCC_NSLIPSYSTEM), & !< total # of slip systems for bcc
|
||||
BCC_NTWIN = sum(BCC_NTWINSYSTEM), & !< total # of twin systems for bcc
|
||||
BCC_NCLEAVAGE = sum(BCC_NCLEAVAGESYSTEM) !< total # of cleavage systems for bcc
|
||||
#else
|
||||
BCC_NSLIP = 24, &
|
||||
BCC_NTWIN = 12, &
|
||||
BCC_NCLEAVAGE = 3
|
||||
#endif
|
||||
|
||||
real(pReal), dimension(3+3,BCC_NSLIP), parameter :: &
|
||||
BCC_SYSTEMSLIP = reshape(real([&
|
||||
! Slip direction Plane normal
|
||||
! Slip system <111>{110}
|
||||
1,-1, 1, 0, 1, 1, & !D1
|
||||
-1,-1, 1, 0, 1, 1, & !C1
|
||||
1, 1, 1, 0,-1, 1, & !B2
|
||||
-1, 1, 1, 0,-1, 1, & !A2
|
||||
-1, 1, 1, 1, 0, 1, & !A3
|
||||
-1,-1, 1, 1, 0, 1, & !C3
|
||||
1, 1, 1, -1, 0, 1, & !B4
|
||||
1,-1, 1, -1, 0, 1, & !D4
|
||||
-1, 1, 1, 1, 1, 0, & !A6
|
||||
-1, 1,-1, 1, 1, 0, & !D6
|
||||
1, 1, 1, -1, 1, 0, & !B5
|
||||
1, 1,-1, -1, 1, 0, & !C5
|
||||
! Slip system <111>{112}
|
||||
-1, 1, 1, 2, 1, 1, & !A-4
|
||||
1, 1, 1, -2, 1, 1, & !B-3
|
||||
1, 1,-1, 2,-1, 1, & !C-10
|
||||
1,-1, 1, 2, 1,-1, & !D-9
|
||||
1,-1, 1, 1, 2, 1, & !D-6
|
||||
1, 1,-1, -1, 2, 1, & !C-5
|
||||
1, 1, 1, 1,-2, 1, & !B-12
|
||||
-1, 1, 1, 1, 2,-1, & !A-11
|
||||
1, 1,-1, 1, 1, 2, & !C-2
|
||||
1,-1, 1, -1, 1, 2, & !D-1
|
||||
-1, 1, 1, 1,-1, 2, & !A-8
|
||||
1, 1, 1, 1, 1,-2 & !B-7
|
||||
],pReal),shape(BCC_SYSTEMSLIP))
|
||||
! <111>{110} systems
|
||||
1,-1, 1, 0, 1, 1, & ! D1
|
||||
-1,-1, 1, 0, 1, 1, & ! C1
|
||||
1, 1, 1, 0,-1, 1, & ! B2
|
||||
-1, 1, 1, 0,-1, 1, & ! A2
|
||||
-1, 1, 1, 1, 0, 1, & ! A3
|
||||
-1,-1, 1, 1, 0, 1, & ! C3
|
||||
1, 1, 1, -1, 0, 1, & ! B4
|
||||
1,-1, 1, -1, 0, 1, & ! D4
|
||||
-1, 1, 1, 1, 1, 0, & ! A6
|
||||
-1, 1,-1, 1, 1, 0, & ! D6
|
||||
1, 1, 1, -1, 1, 0, & ! B5
|
||||
1, 1,-1, -1, 1, 0, & ! C5
|
||||
! <111>{112} systems
|
||||
-1, 1, 1, 2, 1, 1, & ! A-4
|
||||
1, 1, 1, -2, 1, 1, & ! B-3
|
||||
1, 1,-1, 2,-1, 1, & ! C-10
|
||||
1,-1, 1, 2, 1,-1, & ! D-9
|
||||
1,-1, 1, 1, 2, 1, & ! D-6
|
||||
1, 1,-1, -1, 2, 1, & ! C-5
|
||||
1, 1, 1, 1,-2, 1, & ! B-12
|
||||
-1, 1, 1, 1, 2,-1, & ! A-11
|
||||
1, 1,-1, 1, 1, 2, & ! C-2
|
||||
1,-1, 1, -1, 1, 2, & ! D-1
|
||||
-1, 1, 1, 1,-1, 2, & ! A-8
|
||||
1, 1, 1, 1, 1,-2 & ! B-7
|
||||
],pReal),shape(BCC_SYSTEMSLIP)) !< bcc slip systems
|
||||
|
||||
real(pReal), dimension(3+3,BCC_NTWIN), parameter :: &
|
||||
BCC_SYSTEMTWIN = reshape(real([&
|
||||
! Twin system <111>{112}
|
||||
! <111>{112} systems
|
||||
-1, 1, 1, 2, 1, 1, &
|
||||
1, 1, 1, -2, 1, 1, &
|
||||
1, 1,-1, 2,-1, 1, &
|
||||
|
@ -175,15 +162,15 @@ module lattice
|
|||
1,-1, 1, -1, 1, 2, &
|
||||
-1, 1, 1, 1,-1, 2, &
|
||||
1, 1, 1, 1, 1,-2 &
|
||||
],pReal),shape(BCC_SYSTEMTWIN))
|
||||
],pReal),shape(BCC_SYSTEMTWIN)) !< bcc twin systems
|
||||
|
||||
real(pReal), dimension(3+3,BCC_NCLEAVAGE), parameter :: &
|
||||
BCC_SYSTEMCLEAVAGE = reshape(real([&
|
||||
! Cleavage direction Plane normal
|
||||
! <001>{001} systems
|
||||
0, 1, 0, 1, 0, 0, &
|
||||
0, 0, 1, 0, 1, 0, &
|
||||
1, 0, 0, 0, 0, 1 &
|
||||
],pReal),shape(BCC_SYSTEMCLEAVAGE))
|
||||
],pReal),shape(BCC_SYSTEMCLEAVAGE)) !< bcc cleavage systems
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! hexagonal (hP)
|
||||
|
@ -194,37 +181,31 @@ module lattice
|
|||
HEX_NTWINSYSTEM = [6, 6, 6, 6] !< # of slip systems per family for hex
|
||||
|
||||
integer, parameter :: &
|
||||
#ifndef __PGI
|
||||
HEX_NSLIP = sum(HEX_NSLIPSYSTEM), & !< total # of slip systems for hex
|
||||
HEX_NTWIN = sum(HEX_NTWINSYSTEM) !< total # of twin systems for hex
|
||||
#else
|
||||
HEX_NSLIP = 33, &
|
||||
HEX_NTWIN = 24
|
||||
#endif
|
||||
|
||||
real(pReal), dimension(4+4,HEX_NSLIP), parameter :: &
|
||||
HEX_SYSTEMSLIP = reshape(real([&
|
||||
! Slip direction Plane normal
|
||||
! Basal systems <-1-1.0>{00.1} (independent of c/a-ratio, Bravais notation (4 coordinate base))
|
||||
! <-1-1.0>{00.1}/basal systems (independent of c/a-ratio)
|
||||
2, -1, -1, 0, 0, 0, 0, 1, &
|
||||
-1, 2, -1, 0, 0, 0, 0, 1, &
|
||||
-1, -1, 2, 0, 0, 0, 0, 1, &
|
||||
! 1st type prismatic systems <-1-1.0>{1-1.0} (independent of c/a-ratio)
|
||||
! <-1-1.0>{1-1.0}/prismatic systems (independent of c/a-ratio)
|
||||
2, -1, -1, 0, 0, 1, -1, 0, &
|
||||
-1, 2, -1, 0, -1, 0, 1, 0, &
|
||||
-1, -1, 2, 0, 1, -1, 0, 0, &
|
||||
! 2nd type prismatic systems <-11.0>{11.0} -- a slip; plane normals independent of c/a-ratio
|
||||
! <-11.0>{11.0}/2nd order prismatic compound systems (plane normal independent of c/a-ratio)
|
||||
-1, 1, 0, 0, 1, 1, -2, 0, &
|
||||
0, -1, 1, 0, -2, 1, 1, 0, &
|
||||
1, 0, -1, 0, 1, -2, 1, 0, &
|
||||
! 1st type 1st order pyramidal systems <-1-1.0>{-11.1} -- plane normals depend on the c/a-ratio
|
||||
! <-1-1.0>{-11.1}/1st order pyramidal <a> systems (direction independent of c/a-ratio)
|
||||
-1, 2, -1, 0, 1, 0, -1, 1, &
|
||||
-2, 1, 1, 0, 0, 1, -1, 1, &
|
||||
-1, -1, 2, 0, -1, 1, 0, 1, &
|
||||
1, -2, 1, 0, -1, 0, 1, 1, &
|
||||
2, -1, -1, 0, 0, -1, 1, 1, &
|
||||
1, 1, -2, 0, 1, -1, 0, 1, &
|
||||
! pyramidal system: c+a slip <11.3>{-10.1} -- plane normals depend on the c/a-ratio
|
||||
! <11.3>{-10.1}/1st order pyramidal <c+a> systems (direction independent of c/a-ratio)
|
||||
-2, 1, 1, 3, 1, 0, -1, 1, &
|
||||
-1, -1, 2, 3, 1, 0, -1, 1, &
|
||||
-1, -1, 2, 3, 0, 1, -1, 1, &
|
||||
|
@ -237,96 +218,96 @@ module lattice
|
|||
-1, 2, -1, 3, 0, -1, 1, 1, &
|
||||
-1, 2, -1, 3, 1, -1, 0, 1, &
|
||||
-2, 1, 1, 3, 1, -1, 0, 1, &
|
||||
! pyramidal system: c+a slip <11.3>{-1-1.2} -- as for hexagonal ice (Castelnau et al. 1996, similar to twin system found below)
|
||||
-1, -1, 2, 3, 1, 1, -2, 2, & ! <11.3>{-1-1.2} shear = 2((c/a)^2-2)/(3 c/a)
|
||||
! <11.3>{-1-1.2}/2nd order pyramidal <c+a> systems
|
||||
-1, -1, 2, 3, 1, 1, -2, 2, &
|
||||
1, -2, 1, 3, -1, 2, -1, 2, &
|
||||
2, -1, -1, 3, -2, 1, 1, 2, &
|
||||
1, 1, -2, 3, -1, -1, 2, 2, &
|
||||
-1, 2, -1, 3, 1, -2, 1, 2, &
|
||||
-2, 1, 1, 3, 2, -1, -1, 2 &
|
||||
],pReal),shape(HEX_SYSTEMSLIP)) !< slip systems for hex, sorted by P. Eisenlohr CCW around <c> starting next to a_1 axis
|
||||
],pReal),shape(HEX_SYSTEMSLIP)) !< hex slip systems, sorted by P. Eisenlohr CCW around <c> starting next to a_1 axis
|
||||
|
||||
real(pReal), dimension(4+4,HEX_NTWIN), parameter :: &
|
||||
HEX_SYSTEMTWIN = reshape(real([&
|
||||
! Compression or Tension = f(twinning shear=f(c/a)) for each metal ! (according to Yoo 1981)
|
||||
-1, 0, 1, 1, 1, 0, -1, 2, & ! <-10.1>{10.2} shear = (3-(c/a)^2)/(sqrt(3) c/a)
|
||||
! <-10.1>{10.2} systems, shear = (3-(c/a)^2)/(sqrt(3) c/a)
|
||||
! tension in Co, Mg, Zr, Ti, and Be; compression in Cd and Zn
|
||||
-1, 0, 1, 1, 1, 0, -1, 2, & !
|
||||
0, -1, 1, 1, 0, 1, -1, 2, &
|
||||
1, -1, 0, 1, -1, 1, 0, 2, &
|
||||
1, 0, -1, 1, -1, 0, 1, 2, &
|
||||
0, 1, -1, 1, 0, -1, 1, 2, &
|
||||
-1, 1, 0, 1, 1, -1, 0, 2, &
|
||||
!
|
||||
-1, -1, 2, 6, 1, 1, -2, 1, & ! <11.6>{-1-1.1} shear = 1/(c/a)
|
||||
! <11.6>{-1-1.1} systems, shear = 1/(c/a)
|
||||
! tension in Co, Re, and Zr
|
||||
-1, -1, 2, 6, 1, 1, -2, 1, &
|
||||
1, -2, 1, 6, -1, 2, -1, 1, &
|
||||
2, -1, -1, 6, -2, 1, 1, 1, &
|
||||
1, 1, -2, 6, -1, -1, 2, 1, &
|
||||
-1, 2, -1, 6, 1, -2, 1, 1, &
|
||||
-2, 1, 1, 6, 2, -1, -1, 1, &
|
||||
!
|
||||
1, 0, -1, -2, 1, 0, -1, 1, & ! <10.-2>{10.1} shear = (4(c/a)^2-9)/(4 sqrt(3) c/a)
|
||||
! <10.-2>{10.1} systems, shear = (4(c/a)^2-9)/(4 sqrt(3) c/a)
|
||||
! compression in Mg
|
||||
1, 0, -1, -2, 1, 0, -1, 1, &
|
||||
0, 1, -1, -2, 0, 1, -1, 1, &
|
||||
-1, 1, 0, -2, -1, 1, 0, 1, &
|
||||
-1, 0, 1, -2, -1, 0, 1, 1, &
|
||||
0, -1, 1, -2, 0, -1, 1, 1, &
|
||||
1, -1, 0, -2, 1, -1, 0, 1, &
|
||||
!
|
||||
1, 1, -2, -3, 1, 1, -2, 2, & ! <11.-3>{11.2} shear = 2((c/a)^2-2)/(3 c/a)
|
||||
! <11.-3>{11.2} systems, shear = 2((c/a)^2-2)/(3 c/a)
|
||||
! compression in Ti and Zr
|
||||
1, 1, -2, -3, 1, 1, -2, 2, &
|
||||
-1, 2, -1, -3, -1, 2, -1, 2, &
|
||||
-2, 1, 1, -3, -2, 1, 1, 2, &
|
||||
-1, -1, 2, -3, -1, -1, 2, 2, &
|
||||
1, -2, 1, -3, 1, -2, 1, 2, &
|
||||
2, -1, -1, -3, 2, -1, -1, 2 &
|
||||
],pReal),shape(HEX_SYSTEMTWIN)) !< twin systems for hex, sorted by P. Eisenlohr CCW around <c> starting next to a_1 axis
|
||||
],pReal),shape(HEX_SYSTEMTWIN)) !< hex twin systems, sorted by P. Eisenlohr CCW around <c> starting next to a_1 axis
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! body centered tetragonal (tI)
|
||||
integer, dimension(*), parameter :: &
|
||||
BCT_NSLIPSYSTEM = [2, 2, 2, 4, 2, 4, 2, 2, 4, 8, 4, 8, 8 ] !< # of slip systems per family for bct (Sn) Bieler J. Electr Mater 2009
|
||||
BCT_NSLIPSYSTEM = [2, 2, 2, 4, 2, 4, 2, 2, 4, 8, 4, 8, 8 ] !< # of slip systems per family for bct
|
||||
|
||||
integer, parameter :: &
|
||||
#ifndef __PGI
|
||||
BCT_NSLIP = sum(BCT_NSLIPSYSTEM) !< total # of slip systems for bct
|
||||
#else
|
||||
BCT_NSLIP = 52
|
||||
#endif
|
||||
|
||||
|
||||
real(pReal), dimension(3+3,BCT_NSLIP), parameter :: &
|
||||
BCT_SYSTEMSLIP = reshape(real([&
|
||||
! Slip direction Plane normal
|
||||
! Slip family 1 {100)<001] (Bravais notation {hkl)<uvw] for bct c/a = 0.5456)
|
||||
! {100)<001] systems
|
||||
0, 0, 1, 1, 0, 0, &
|
||||
0, 0, 1, 0, 1, 0, &
|
||||
! Slip family 2 {110)<001]
|
||||
! {110)<001] systems
|
||||
0, 0, 1, 1, 1, 0, &
|
||||
0, 0, 1, -1, 1, 0, &
|
||||
! slip family 3 {100)<010]
|
||||
! {100)<010] systems
|
||||
0, 1, 0, 1, 0, 0, &
|
||||
1, 0, 0, 0, 1, 0, &
|
||||
! Slip family 4 {110)<1-11]/2
|
||||
! {110)<1-11]/2 systems
|
||||
1,-1, 1, 1, 1, 0, &
|
||||
1,-1,-1, 1, 1, 0, &
|
||||
-1,-1,-1, -1, 1, 0, &
|
||||
-1,-1, 1, -1, 1, 0, &
|
||||
! Slip family 5 {110)<1-10]
|
||||
! {110)<1-10] systems
|
||||
1, -1, 0, 1, 1, 0, &
|
||||
1, 1, 0, 1,-1, 0, &
|
||||
! Slip family 6 {100)<011]
|
||||
! {100)<011] systems
|
||||
0, 1, 1, 1, 0, 0, &
|
||||
0,-1, 1, 1, 0, 0, &
|
||||
-1, 0, 1, 0, 1, 0, &
|
||||
1, 0, 1, 0, 1, 0, &
|
||||
! Slip family 7 {001)<010]
|
||||
! {001)<010] systems
|
||||
0, 1, 0, 0, 0, 1, &
|
||||
1, 0, 0, 0, 0, 1, &
|
||||
! Slip family 8 {001)<110]
|
||||
! {001)<110] systems
|
||||
1, 1, 0, 0, 0, 1, &
|
||||
-1, 1, 0, 0, 0, 1, &
|
||||
! Slip family 9 {011)<01-1]
|
||||
! {011)<01-1] systems
|
||||
0, 1,-1, 0, 1, 1, &
|
||||
0,-1,-1, 0,-1, 1, &
|
||||
-1, 0,-1, -1, 0, 1, &
|
||||
1, 0,-1, 1, 0, 1, &
|
||||
! Slip family 10 {011)<1-11]/2
|
||||
! {011)<1-11]/2 systems
|
||||
1,-1, 1, 0, 1, 1, &
|
||||
1, 1,-1, 0, 1, 1, &
|
||||
1, 1, 1, 0, 1,-1, &
|
||||
|
@ -335,12 +316,12 @@ module lattice
|
|||
-1,-1, 1, 1, 0, 1, &
|
||||
1, 1, 1, 1, 0,-1, &
|
||||
1,-1, 1, 1, 0,-1, &
|
||||
! Slip family 11 {011)<100]
|
||||
! {011)<100] systems
|
||||
1, 0, 0, 0, 1, 1, &
|
||||
1, 0, 0, 0, 1,-1, &
|
||||
0, 1, 0, 1, 0, 1, &
|
||||
0, 1, 0, 1, 0,-1, &
|
||||
! Slip family 12 {211)<01-1]
|
||||
! {211)<01-1] systems
|
||||
0, 1,-1, 2, 1, 1, &
|
||||
0,-1,-1, 2,-1, 1, &
|
||||
1, 0,-1, 1, 2, 1, &
|
||||
|
@ -349,7 +330,7 @@ module lattice
|
|||
0,-1,-1, -2,-1, 1, &
|
||||
-1, 0,-1, -1,-2, 1, &
|
||||
1, 0,-1, 1,-2, 1, &
|
||||
! Slip family 13 {211)<-111]/2
|
||||
! {211)<-111]/2 systems
|
||||
-1, 1, 1, 2, 1, 1, &
|
||||
-1,-1, 1, 2,-1, 1, &
|
||||
1,-1, 1, 1, 2, 1, &
|
||||
|
@ -358,27 +339,22 @@ module lattice
|
|||
1,-1, 1, -2,-1, 1, &
|
||||
-1, 1, 1, -1,-2, 1, &
|
||||
1, 1, 1, 1,-2, 1 &
|
||||
],pReal),shape(BCT_SYSTEMSLIP)) !< slip systems for bct sorted by Bieler
|
||||
],pReal),shape(BCT_SYSTEMSLIP)) !< bct slip systems for c/a = 0.5456 (Sn), sorted by Bieler 2009 (https://doi.org/10.1007/s11664-009-0909-x)
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! orthorhombic primitive (oP)
|
||||
integer, dimension(*), parameter :: &
|
||||
ORT_NCLEAVAGESYSTEM = [1, 1, 1] !< # of cleavage systems per family for ortho
|
||||
ORT_NCLEAVAGESYSTEM = [1, 1, 1] !< # of cleavage systems per family for orthorhombic primitive
|
||||
|
||||
integer, parameter :: &
|
||||
#ifndef __PGI
|
||||
ORT_NCLEAVAGE = sum(ORT_NCLEAVAGESYSTEM) !< total # of cleavage systems for ortho
|
||||
#else
|
||||
ORT_NCLEAVAGE = 3
|
||||
#endif
|
||||
ORT_NCLEAVAGE = sum(ORT_NCLEAVAGESYSTEM) !< total # of cleavage systems for orthorhombic primitive
|
||||
|
||||
real(pReal), dimension(3+3,ORT_NCLEAVAGE), parameter :: &
|
||||
ORT_SYSTEMCLEAVAGE = reshape(real([&
|
||||
! Cleavage direction Plane normal
|
||||
0, 1, 0, 1, 0, 0, &
|
||||
0, 0, 1, 0, 1, 0, &
|
||||
1, 0, 0, 0, 0, 1 &
|
||||
],pReal),shape(ORT_SYSTEMCLEAVAGE))
|
||||
],pReal),shape(ORT_SYSTEMCLEAVAGE)) !< orthorhombic primitive cleavage systems
|
||||
|
||||
|
||||
enum, bind(c); enumerator :: &
|
||||
|
@ -714,10 +690,9 @@ function lattice_nonSchmidMatrix(Nslip,nonSchmidCoefficients,sense) result(nonSc
|
|||
|
||||
if (abs(sense) /= 1) error stop 'Sense in lattice_nonSchmidMatrix'
|
||||
|
||||
coordinateSystem = buildCoordinateSystem(Nslip,BCC_NSLIPSYSTEM,BCC_SYSTEMSLIP,&
|
||||
'cI',0.0_pReal)
|
||||
coordinateSystem = buildCoordinateSystem(Nslip,BCC_NSLIPSYSTEM,BCC_SYSTEMSLIP,'cI',0.0_pReal)
|
||||
coordinateSystem(1:3,1,1:sum(Nslip)) = coordinateSystem(1:3,1,1:sum(Nslip))*real(sense,pReal) ! convert unidirectional coordinate system
|
||||
nonSchmidMatrix = lattice_SchmidMatrix_slip(Nslip,'cI',0.0_pReal) ! Schmid contribution
|
||||
nonSchmidMatrix = lattice_SchmidMatrix_slip(Nslip,'cI',0.0_pReal) ! Schmid contribution
|
||||
|
||||
do i = 1,sum(Nslip)
|
||||
direction = coordinateSystem(1:3,1,i)
|
||||
|
@ -759,26 +734,26 @@ function lattice_interaction_SlipBySlip(Nslip,interactionValues,structure) resul
|
|||
|
||||
integer, dimension(FCC_NSLIP,FCC_NSLIP), parameter :: &
|
||||
FCC_INTERACTIONSLIPSLIP = reshape( [&
|
||||
1, 2, 2, 4, 7, 5, 3, 5, 5, 4, 6, 7, 10,11,10,11,12,13, & ! -----> acting
|
||||
2, 1, 2, 7, 4, 5, 6, 4, 7, 5, 3, 5, 10,11,12,13,10,11, & ! |
|
||||
2, 2, 1, 5, 5, 3, 6, 7, 4, 7, 6, 4, 12,13,10,11,10,11, & ! |
|
||||
4, 7, 6, 1, 2, 2, 4, 6, 7, 3, 5, 5, 10,11,11,10,13,12, & ! v
|
||||
7, 4, 6, 2, 1, 2, 5, 3, 5, 6, 4, 7, 10,11,13,12,11,10, & ! reacting
|
||||
5, 5, 3, 2, 2, 1, 7, 6, 4, 6, 7, 4, 12,13,11,10,11,10, &
|
||||
3, 5, 5, 4, 6, 7, 1, 2, 2, 4, 7, 6, 11,10,11,10,12,13, &
|
||||
6, 4, 7, 5, 3, 5, 2, 1, 2, 7, 4, 6, 11,10,13,12,10,11, &
|
||||
6, 7, 4, 7, 6, 4, 2, 2, 1, 5, 5, 3, 13,12,11,10,10,11, &
|
||||
4, 6, 7, 3, 5, 5, 4, 7, 6, 1, 2, 2, 11,10,10,11,13,12, &
|
||||
5, 3, 5, 6, 4, 7, 7, 4, 6, 2, 1, 2, 11,10,12,13,11,10, &
|
||||
7, 6, 4, 6, 7, 4, 5, 5, 3, 2, 2, 1, 13,12,10,11,11,10, &
|
||||
|
||||
10,10,12,10,10,12,11,11,13,11,11,13, 1, 8, 9, 9, 9, 9, &
|
||||
11,11,13,11,11,13,10,10,12,10,10,12, 8, 1, 9, 9, 9, 9, &
|
||||
10,12,10,11,13,11,11,13,11,10,12,10, 9, 9, 1, 8, 9, 9, &
|
||||
11,13,11,10,12,10,10,12,10,11,13,11, 9, 9, 8, 1, 9, 9, &
|
||||
12,10,10,13,11,11,12,10,10,13,11,11, 9, 9, 9, 9, 1, 8, &
|
||||
13,11,11,12,10,10,13,11,11,12,10,10, 9, 9, 9, 9, 8, 1 &
|
||||
],shape(FCC_INTERACTIONSLIPSLIP)) !< Slip--slip interaction types for fcc / Madec 2017(https://doi.org/10.1016/j.actamat.2016.12.040)
|
||||
1, 2, 2, 4, 7, 5, 3, 5, 5, 4, 6, 7, 10,11,10,11,12,13, & ! -----> acting
|
||||
2, 1, 2, 7, 4, 5, 6, 4, 7, 5, 3, 5, 10,11,12,13,10,11, & ! |
|
||||
2, 2, 1, 5, 5, 3, 6, 7, 4, 7, 6, 4, 12,13,10,11,10,11, & ! |
|
||||
4, 7, 6, 1, 2, 2, 4, 6, 7, 3, 5, 5, 10,11,11,10,13,12, & ! v
|
||||
7, 4, 6, 2, 1, 2, 5, 3, 5, 6, 4, 7, 10,11,13,12,11,10, & ! reacting
|
||||
5, 5, 3, 2, 2, 1, 7, 6, 4, 6, 7, 4, 12,13,11,10,11,10, &
|
||||
3, 5, 5, 4, 6, 7, 1, 2, 2, 4, 7, 6, 11,10,11,10,12,13, &
|
||||
6, 4, 7, 5, 3, 5, 2, 1, 2, 7, 4, 6, 11,10,13,12,10,11, &
|
||||
6, 7, 4, 7, 6, 4, 2, 2, 1, 5, 5, 3, 13,12,11,10,10,11, &
|
||||
4, 6, 7, 3, 5, 5, 4, 7, 6, 1, 2, 2, 11,10,10,11,13,12, &
|
||||
5, 3, 5, 6, 4, 7, 7, 4, 6, 2, 1, 2, 11,10,12,13,11,10, &
|
||||
7, 6, 4, 6, 7, 4, 5, 5, 3, 2, 2, 1, 13,12,10,11,11,10, &
|
||||
|
||||
10,10,12,10,10,12,11,11,13,11,11,13, 1, 8, 9, 9, 9, 9, &
|
||||
11,11,13,11,11,13,10,10,12,10,10,12, 8, 1, 9, 9, 9, 9, &
|
||||
10,12,10,11,13,11,11,13,11,10,12,10, 9, 9, 1, 8, 9, 9, &
|
||||
11,13,11,10,12,10,10,12,10,11,13,11, 9, 9, 8, 1, 9, 9, &
|
||||
12,10,10,13,11,11,12,10,10,13,11,11, 9, 9, 9, 9, 1, 8, &
|
||||
13,11,11,12,10,10,13,11,11,12,10,10, 9, 9, 9, 9, 8, 1 &
|
||||
],shape(FCC_INTERACTIONSLIPSLIP)) !< Slip-slip interaction types for fcc / Madec 2017 (https://doi.org/10.1016/j.actamat.2016.12.040)
|
||||
!< 1: self interaction --> alpha 0
|
||||
!< 2: coplanar interaction --> alpha copla
|
||||
!< 3: collinear interaction --> alpha coli
|
||||
|
@ -820,13 +795,14 @@ function lattice_interaction_SlipBySlip(Nslip,interactionValues,structure) resul
|
|||
9,12,15,16,16,15,12, 9,10, 8,19,19, 21,23,22, 2, 2,23,22,21,24, 1,20,24, &
|
||||
16,15,12, 9, 9,12,15,16, 8,10,19,19, 2,22,23,21,21,22,23, 2,24,20, 1,24, &
|
||||
15,16, 9,12,15,16, 9,12,19,19, 8,10, 22, 2,21,23,22,21, 2,23,20,24,24, 1 &
|
||||
],shape(BCC_INTERACTIONSLIPSLIP)) !< Slip--slip interaction types for bcc / Madec 2017(https://doi.org/10.1016/j.actamat.2016.12.040)
|
||||
],shape(BCC_INTERACTIONSLIPSLIP)) !< Slip-slip interaction types for bcc / Madec 2017 (https://doi.org/10.1016/j.actamat.2016.12.040)
|
||||
!< 1: self interaction --> alpha 0
|
||||
!< 2: collinear interaction --> alpha 1
|
||||
!< 3: coplanar interaction --> alpha 2
|
||||
!< 4-24: other coefficients
|
||||
!< 4-7: other coefficients
|
||||
!< 8: {110}-{112}, collinear and perpendicular planes --> alpha 6
|
||||
!< 9: {110}-{112}, just collinear --> alpha 7
|
||||
!< 10-24: other coefficients
|
||||
|
||||
integer, dimension(HEX_NSLIP,HEX_NSLIP), parameter :: &
|
||||
HEX_INTERACTIONSLIPSLIP = reshape( [&
|
||||
|
@ -868,7 +844,7 @@ function lattice_interaction_SlipBySlip(Nslip,interactionValues,structure) resul
|
|||
42,42,42, 41,41,41, 40,40,40, 39,39,39,39,39,39, 38,38,38,38,38,38,38,38,38,38,38,38, 37,37,37,36,37,37, &
|
||||
42,42,42, 41,41,41, 40,40,40, 39,39,39,39,39,39, 38,38,38,38,38,38,38,38,38,38,38,38, 37,37,37,37,36,37, &
|
||||
42,42,42, 41,41,41, 40,40,40, 39,39,39,39,39,39, 38,38,38,38,38,38,38,38,38,38,38,38, 37,37,37,37,37,36 &
|
||||
],shape(HEX_INTERACTIONSLIPSLIP)) !< Slip--slip interaction types for hex (onion peel naming scheme)
|
||||
],shape(HEX_INTERACTIONSLIPSLIP)) !< Slip-slip interaction types for hex (onion peel naming scheme)
|
||||
|
||||
integer, dimension(BCT_NSLIP,BCT_NSLIP), parameter :: &
|
||||
BCT_INTERACTIONSLIPSLIP = reshape( [&
|
||||
|
|
Loading…
Reference in New Issue