added new glide system for hex lattice

This commit is contained in:
Martin Diehl 2011-09-02 10:43:49 +00:00
parent 0469d37fc3
commit 43e2684cfb
1 changed files with 80 additions and 59 deletions

View File

@ -39,11 +39,11 @@ implicit none
integer(pInt) lattice_Nhexagonal, & ! # of hexagonal lattice structure (from tag CoverA_ratio)
lattice_Nstructure ! # of lattice structures (1: fcc,2: bcc,3+: hexagonal)
integer(pInt), parameter :: lattice_maxNslipFamily = 4 ! max # of slip system families over lattice structures
integer(pInt), parameter :: lattice_maxNslipFamily = 5 ! max # of slip system families over lattice structures
integer(pInt), parameter :: lattice_maxNtwinFamily = 4 ! max # of twin system families over lattice structures
integer(pInt), parameter :: lattice_maxNslip = 48 ! max # of slip systems over lattice structures
integer(pInt), parameter :: lattice_maxNslip = 54 ! max # of slip systems over lattice structures
integer(pInt), parameter :: lattice_maxNtwin = 24 ! max # of twin systems over lattice structures
integer(pInt), parameter :: lattice_maxNinteraction = 20 ! max # of interaction types (in hardening matrix part)
integer(pInt), parameter :: lattice_maxNinteraction = 20 ! max # of interaction types (in hardening matrix part) ToDo
integer(pInt), pointer, dimension(:,:) :: interactionSlipSlip, &
interactionSlipTwin, &
@ -81,7 +81,7 @@ integer(pInt), allocatable, dimension(:,:,:) :: lattice_interactionSlipSlip, &
!============================== fcc (1) =================================
integer(pInt), parameter, dimension(lattice_maxNslipFamily) :: lattice_fcc_NslipSystem = (/12, 0, 0, 0/)
integer(pInt), parameter, dimension(lattice_maxNslipFamily) :: lattice_fcc_NslipSystem = (/12, 0, 0, 0, 0/)
integer(pInt), parameter, dimension(lattice_maxNtwinFamily) :: lattice_fcc_NtwinSystem = (/12, 0, 0, 0/)
integer(pInt), parameter :: lattice_fcc_Nslip = 12 ! sum(lattice_fcc_NslipSystem)
integer(pInt), parameter :: lattice_fcc_Ntwin = 12 ! sum(lattice_fcc_NtwinSystem)
@ -198,7 +198,7 @@ integer(pInt), allocatable, dimension(:,:,:) :: lattice_interactionSlipSlip, &
!============================== bcc (2) =================================
integer(pInt), parameter, dimension(lattice_maxNslipFamily) :: lattice_bcc_NslipSystem = (/12,12,24, 0/)
integer(pInt), parameter, dimension(lattice_maxNslipFamily) :: lattice_bcc_NslipSystem = (/12,12,24, 0, 0/)
integer(pInt), parameter, dimension(lattice_maxNtwinFamily) :: lattice_bcc_NtwinSystem = (/12, 0, 0, 0/)
integer(pInt), parameter :: lattice_bcc_Nslip = 48 ! sum(lattice_bcc_NslipSystem)
integer(pInt), parameter :: lattice_bcc_Ntwin = 12 ! sum(lattice_bcc_NtwinSystem)
@ -442,9 +442,9 @@ integer(pInt), allocatable, dimension(:,:,:) :: lattice_interactionSlipSlip, &
!============================== hex (3+) =================================
integer(pInt), parameter, dimension(lattice_maxNslipFamily) :: lattice_hex_NslipSystem = (/ 3, 3, 6,12/)
integer(pInt), parameter, dimension(lattice_maxNslipFamily) :: lattice_hex_NslipSystem = (/ 3, 3, 6,12, 6/)
integer(pInt), parameter, dimension(lattice_maxNtwinFamily) :: lattice_hex_NtwinSystem = (/ 6, 6, 6, 6/)
integer(pInt), parameter :: lattice_hex_Nslip = 24 ! sum(lattice_hex_NslipSystem)
integer(pInt), parameter :: lattice_hex_Nslip = 30 ! sum(lattice_hex_NslipSystem)
integer(pInt), parameter :: lattice_hex_Ntwin = 24 ! sum(lattice_hex_NtwinSystem)
integer(pInt) :: lattice_hex_Nstructure = 0_pInt
@ -478,7 +478,14 @@ integer(pInt), allocatable, dimension(:,:,:) :: lattice_interactionSlipSlip, &
2, -1, -1, 3, 1, -1, 0, 1, &
1, -2, 1, 3, 1, -1, 0, 1, &
1, 1, -2, 3, 1, 0, -1, 1, &
2, -1, -1, 3, 1, 0, -1, 1 &
2, -1, -1, 3, 1, 0, -1, 1, &
! pyramidal system: c+a slip <11-2-3>{11-22} -- as for hexagonal Ice (Castelnau et al 1996, similar to twin system found below)
2, -1, -1, -3, 2, -1, -1, 2, & ! <11.-3>{11.2} shear = 2((c/a)^2-2)/(3 c/a)
1, 1, -2, -3, 1, 1, -2, 2, & ! not sorted, just copied from twin system
-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 &
/),(/4+4,lattice_hex_Nslip/))
real(pReal), dimension(4+4,lattice_hex_Ntwin), parameter :: lattice_hex_systemTwin = &
@ -538,40 +545,47 @@ integer(pInt), allocatable, dimension(:,:,:) :: lattice_interactionSlipSlip, &
/),(/lattice_hex_Ntwin/))
!* four different interaction type matrix
!* 1. slip-slip interaction - 20 types
!* 2. slip-twin interaction - 16 types
!* 1. slip-slip interaction - 30 types
!* 2. slip-twin interaction - 20 types
!* 3. twin-twin interaction - 20 types
!* 4. twin-slip interaction - 16 types
integer(pInt), target, dimension(lattice_hex_Nslip,lattice_hex_Nslip) :: lattice_hex_interactionSlipSlip = &
reshape((/&
1, 5, 5, 9, 9, 9, 12,12,12,12,12,12, 14,14,14,14,14,14,14,14,14,14,14,14, &
5, 1, 5, 9, 9, 9, 12,12,12,12,12,12, 14,14,14,14,14,14,14,14,14,14,14,14, &
5, 5, 1, 9, 9, 9, 12,12,12,12,12,12, 14,14,14,14,14,14,14,14,14,14,14,14, &
1, 5, 5, 11,11,11, 15,15,15,15,15,15, 18,18,18,18,18,18,18,18,18,18,18,18, 20,20,20,20,20,20, &
5, 1, 5, 11,11,11, 15,15,15,15,15,15, 18,18,18,18,18,18,18,18,18,18,18,18, 20,20,20,20,20,20, &
5, 5, 1, 11,11,11, 15,15,15,15,15,15, 18,18,18,18,18,18,18,18,18,18,18,18, 20,20,20,20,20,20, &
!
15,15,15, 2, 6, 6, 10,10,10,10,10,10, 13,13,13,13,13,13,13,13,13,13,13,13, &
15,15,15, 6, 2, 6, 10,10,10,10,10,10, 13,13,13,13,13,13,13,13,13,13,13,13, &
15,15,15, 6, 6, 2, 10,10,10,10,10,10, 13,13,13,13,13,13,13,13,13,13,13,13, &
21,21,21, 2, 6, 6, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 19,19,19,19,19,19, &
21,21,21, 6, 2, 6, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 19,19,19,19,19,19, &
21,21,21, 6, 6, 2, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 19,19,19,19,19,19, &
!
18,18,18, 16,16,16, 3, 7, 7, 7, 7, 7, 11,11,11,11,11,11,11,11,11,11,11,11, &
18,18,18, 16,16,16, 7, 3, 7, 7, 7, 7, 11,11,11,11,11,11,11,11,11,11,11,11, &
18,18,18, 16,16,16, 7, 7, 3, 7, 7, 7, 11,11,11,11,11,11,11,11,11,11,11,11, &
18,18,18, 16,16,16, 7, 7, 7, 3, 7, 7, 11,11,11,11,11,11,11,11,11,11,11,11, &
18,18,18, 16,16,16, 7, 7, 7, 7, 3, 7, 11,11,11,11,11,11,11,11,11,11,11,11, &
18,18,18, 16,16,16, 7, 7, 7, 7, 7, 3, 11,11,11,11,11,11,11,11,11,11,11,11, &
25,25,25, 22,22,22, 3, 7, 7, 7, 7, 7, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, &
25,25,25, 22,22,22, 7, 3, 7, 7, 7, 7, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, &
25,25,25, 22,22,22, 7, 7, 3, 7, 7, 7, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, &
25,25,25, 22,22,22, 7, 7, 7, 3, 7, 7, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, &
25,25,25, 22,22,22, 7, 7, 7, 7, 3, 7, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, &
25,25,25, 22,22,22, 7, 7, 7, 7, 7, 3, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, &
!
20,20,20, 19,19,19, 17,17,17,17,17,17, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, &
20,20,20, 19,19,19, 17,17,17,17,17,17, 8, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, &
20,20,20, 19,19,19, 17,17,17,17,17,17, 8, 8, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, &
20,20,20, 19,19,19, 17,17,17,17,17,17, 8, 8, 8, 4, 8, 8, 8, 8, 8, 8, 8, 8, &
20,20,20, 19,19,19, 17,17,17,17,17,17, 8, 8, 8, 8, 4, 8, 8, 8, 8, 8, 8, 8, &
20,20,20, 19,19,19, 17,17,17,17,17,17, 8, 8, 8, 8, 8, 4, 8, 8, 8, 8, 8, 8, &
20,20,20, 19,19,19, 17,17,17,17,17,17, 8, 8, 8, 8, 8, 8, 4, 8, 8, 8, 8, 8, &
20,20,20, 19,19,19, 17,17,17,17,17,17, 8, 8, 8, 8, 8, 8, 8, 4, 8, 8, 8, 8, &
20,20,20, 19,19,19, 17,17,17,17,17,17, 8, 8, 8, 8, 8, 8, 8, 8, 4, 8, 8, 8, &
20,20,20, 19,19,19, 17,17,17,17,17,17, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 8, 8, &
20,20,20, 19,19,19, 17,17,17,17,17,17, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 8, &
20,20,20, 19,19,19, 17,17,17,17,17,17, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4 &
28,28,28, 26,26,26, 23,23,23,23,23,23, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14,14,14,14,14,14, &
28,28,28, 26,26,26, 23,23,23,23,23,23, 9, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14,14,14,14,14,14, &
28,28,28, 26,26,26, 23,23,23,23,23,23, 9, 9, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14,14,14,14,14,14, &
28,28,28, 26,26,26, 23,23,23,23,23,23, 9, 9, 9, 4, 9, 9, 9, 9, 9, 9, 9, 9, 14,14,14,14,14,14, &
28,28,28, 26,26,26, 23,23,23,23,23,23, 9, 9, 9, 9, 4, 9, 9, 9, 9, 9, 9, 9, 14,14,14,14,14,14, &
28,28,28, 26,26,26, 23,23,23,23,23,23, 9, 9, 9, 9, 9, 4, 9, 9, 9, 9, 9, 9, 14,14,14,14,14,14, &
28,28,28, 26,26,26, 23,23,23,23,23,23, 9, 9, 9, 9, 9, 9, 4, 9, 9, 9, 9, 9, 14,14,14,14,14,14, &
28,28,28, 26,26,26, 23,23,23,23,23,23, 9, 9, 9, 9, 9, 9, 9, 4, 9, 9, 9, 9, 14,14,14,14,14,14, &
28,28,28, 26,26,26, 23,23,23,23,23,23, 9, 9, 9, 9, 9, 9, 9, 9, 4, 9, 9, 9, 14,14,14,14,14,14, &
28,28,28, 26,26,26, 23,23,23,23,23,23, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4, 9, 9, 14,14,14,14,14,14, &
28,28,28, 26,26,26, 23,23,23,23,23,23, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4, 9, 14,14,14,14,14,14, &
28,28,28, 26,26,26, 23,23,23,23,23,23, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4, 14,14,14,14,14,14, &
!
30,30,30, 29,29,29, 27,27,27,27,27,27, 24,24,24,24,24,24,24,24,24,24,24,24, 5,10,10,10,10,10, &
30,30,30, 29,29,29, 27,27,27,27,27,27, 24,24,24,24,24,24,24,24,24,24,24,24, 10, 5,10,10,10,10, &
30,30,30, 29,29,29, 27,27,27,27,27,27, 24,24,24,24,24,24,24,24,24,24,24,24, 10,10, 5,10,10,10, &
30,30,30, 29,29,29, 27,27,27,27,27,27, 24,24,24,24,24,24,24,24,24,24,24,24, 10,10,10, 5,10,10, &
30,30,30, 29,29,29, 27,27,27,27,27,27, 24,24,24,24,24,24,24,24,24,24,24,24, 10,10,10,10, 5,10, &
30,30,30, 29,29,29, 27,27,27,27,27,27, 24,24,24,24,24,24,24,24,24,24,24,24, 10,10,10,10,10, 5 &
/),(/lattice_hex_Nslip,lattice_hex_Nslip/))
!* isotropic interaction at the moment
@ -603,39 +617,46 @@ integer(pInt), allocatable, dimension(:,:,:) :: lattice_interactionSlipSlip, &
13,13,13,13,13,13, 14,14,14,14,14,14, 15,15,15,15,15,15, 16,16,16,16,16,16, &
13,13,13,13,13,13, 14,14,14,14,14,14, 15,15,15,15,15,15, 16,16,16,16,16,16, &
13,13,13,13,13,13, 14,14,14,14,14,14, 15,15,15,15,15,15, 16,16,16,16,16,16, &
13,13,13,13,13,13, 14,14,14,14,14,14, 15,15,15,15,15,15, 16,16,16,16,16,16 &
13,13,13,13,13,13, 14,14,14,14,14,14, 15,15,15,15,15,15, 16,16,16,16,16,16, &
!
17,17,17,17,17,17, 18,18,18,18,18,18, 19,19,19,19,19,19, 20,20,20,20,20,20, &
17,17,17,17,17,17, 18,18,18,18,18,18, 19,19,19,19,19,19, 20,20,20,20,20,20, &
17,17,17,17,17,17, 18,18,18,18,18,18, 19,19,19,19,19,19, 20,20,20,20,20,20, &
17,17,17,17,17,17, 18,18,18,18,18,18, 19,19,19,19,19,19, 20,20,20,20,20,20, &
17,17,17,17,17,17, 18,18,18,18,18,18, 19,19,19,19,19,19, 20,20,20,20,20,20, &
17,17,17,17,17,17, 18,18,18,18,18,18, 19,19,19,19,19,19, 20,20,20,20,20,20 &
/),(/lattice_hex_Ntwin,lattice_hex_Nslip/))
!* isotropic interaction at the moment
integer(pInt), target, dimension(lattice_hex_Nslip,lattice_hex_Ntwin) :: lattice_hex_interactionTwinSlip = &
reshape((/&
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, & ! --> slip
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, & ! |
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, & ! |
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, & ! v
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, & ! twin
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, &
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, & ! --> slip
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, & ! |
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, & ! |
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, & ! v
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, & ! twin
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, &
!
2, 2, 2, 6, 6, 6, 10,10,10,10,10,10, 14,14,14,14,14,14,14,14,14,14,14,14, &
2, 2, 2, 6, 6, 6, 10,10,10,10,10,10, 14,14,14,14,14,14,14,14,14,14,14,14, &
2, 2, 2, 6, 6, 6, 10,10,10,10,10,10, 14,14,14,14,14,14,14,14,14,14,14,14, &
2, 2, 2, 6, 6, 6, 10,10,10,10,10,10, 14,14,14,14,14,14,14,14,14,14,14,14, &
2, 2, 2, 6, 6, 6, 10,10,10,10,10,10, 14,14,14,14,14,14,14,14,14,14,14,14, &
2, 2, 2, 6, 6, 6, 10,10,10,10,10,10, 14,14,14,14,14,14,14,14,14,14,14,14, &
2, 2, 2, 6, 6, 6, 10,10,10,10,10,10, 14,14,14,14,14,14,14,14,14,14,14,14, 18,18,18,18,18,18, &
2, 2, 2, 6, 6, 6, 10,10,10,10,10,10, 14,14,14,14,14,14,14,14,14,14,14,14, 18,18,18,18,18,18, &
2, 2, 2, 6, 6, 6, 10,10,10,10,10,10, 14,14,14,14,14,14,14,14,14,14,14,14, 18,18,18,18,18,18, &
2, 2, 2, 6, 6, 6, 10,10,10,10,10,10, 14,14,14,14,14,14,14,14,14,14,14,14, 18,18,18,18,18,18, &
2, 2, 2, 6, 6, 6, 10,10,10,10,10,10, 14,14,14,14,14,14,14,14,14,14,14,14, 18,18,18,18,18,18, &
2, 2, 2, 6, 6, 6, 10,10,10,10,10,10, 14,14,14,14,14,14,14,14,14,14,14,14, 18,18,18,18,18,18, &
!
3, 3, 3, 7, 7, 7, 11,11,11,11,11,11, 15,15,15,15,15,15,15,15,15,15,15,15, &
3, 3, 3, 7, 7, 7, 11,11,11,11,11,11, 15,15,15,15,15,15,15,15,15,15,15,15, &
3, 3, 3, 7, 7, 7, 11,11,11,11,11,11, 15,15,15,15,15,15,15,15,15,15,15,15, &
3, 3, 3, 7, 7, 7, 11,11,11,11,11,11, 15,15,15,15,15,15,15,15,15,15,15,15, &
3, 3, 3, 7, 7, 7, 11,11,11,11,11,11, 15,15,15,15,15,15,15,15,15,15,15,15, &
3, 3, 3, 7, 7, 7, 11,11,11,11,11,11, 15,15,15,15,15,15,15,15,15,15,15,15, &
3, 3, 3, 7, 7, 7, 11,11,11,11,11,11, 15,15,15,15,15,15,15,15,15,15,15,15, 19,19,19,19,19,19, &
3, 3, 3, 7, 7, 7, 11,11,11,11,11,11, 15,15,15,15,15,15,15,15,15,15,15,15, 19,19,19,19,19,19, &
3, 3, 3, 7, 7, 7, 11,11,11,11,11,11, 15,15,15,15,15,15,15,15,15,15,15,15, 19,19,19,19,19,19, &
3, 3, 3, 7, 7, 7, 11,11,11,11,11,11, 15,15,15,15,15,15,15,15,15,15,15,15, 19,19,19,19,19,19, &
3, 3, 3, 7, 7, 7, 11,11,11,11,11,11, 15,15,15,15,15,15,15,15,15,15,15,15, 19,19,19,19,19,19, &
3, 3, 3, 7, 7, 7, 11,11,11,11,11,11, 15,15,15,15,15,15,15,15,15,15,15,15, 19,19,19,19,19,19, &
!
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, &
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, &
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, &
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, &
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, &
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16 &
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 20,20,20,20,20,20, &
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 20,20,20,20,20,20, &
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 20,20,20,20,20,20, &
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 20,20,20,20,20,20, &
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 20,20,20,20,20,20, &
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 20,20,20,20,20,20 &
/),(/lattice_hex_Nslip,lattice_hex_Ntwin/))