diff --git a/PRIVATE b/PRIVATE index 5e104e75b..d10a94a36 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 5e104e75bbfb9d0d1969658aaf10999590956e3e +Subproject commit d10a94a36056d99ea0892d1c6c69aa0e1dbe9d46 diff --git a/examples/Marc/material.yaml b/examples/Marc/material.yaml index 5c893ac52..b82fcc75c 100644 --- a/examples/Marc/material.yaml +++ b/examples/Marc/material.yaml @@ -17,7 +17,7 @@ phase: atol_xi: 1.0 dot_gamma_0_sl: 0.001 h_0_sl_sl: 75e6 - h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4] n_sl: 20 output: [xi_sl] xi_0_sl: [31e6] diff --git a/examples/config/Phase_DisloUCLA_Tungsten.config b/examples/config/Phase_DisloUCLA_Tungsten.config index 2cdd5c58f..e680213d5 100644 --- a/examples/config/Phase_DisloUCLA_Tungsten.config +++ b/examples/config/Phase_DisloUCLA_Tungsten.config @@ -51,5 +51,5 @@ D0 4.0e-5 # Vacancy diffusion prefactor [m**2/ Qsd 4.5e-19 # Activation energy for climb [J] Catomicvolume 1.0 # Adj. parameter controlling the atomic volume [in b] Cedgedipmindistance 1.0 # Adj. parameter controlling the minimum dipole distance [in b] -interaction_slipslip 0.009 0.009 0.72 0.05 0.09 0.06 +interaction_slipslip 0.009 0.72 0.009 0.05 0.05 0.06 0.09 nonschmid_coefficients 0.938 0.71 4.43 0.0 0.0 0.0 diff --git a/examples/config/Phase_Dislotwin_TWIP-Steel-FeMnC.yaml b/examples/config/Phase_Dislotwin_TWIP-Steel-FeMnC.yaml index 2660f6924..610421886 100644 --- a/examples/config/Phase_Dislotwin_TWIP-Steel-FeMnC.yaml +++ b/examples/config/Phase_Dislotwin_TWIP-Steel-FeMnC.yaml @@ -19,7 +19,7 @@ TWIP_Steel_FeMnC: D_0: 4.0e-5 # Vacancy diffusion prefactor / m^2/s D_a: 1.0 # minimum dipole distance / b Q_cl: 4.5e-19 # Activation energy for climb / J - h_sl_sl: [0.122, 0.122, 0.625, 0.07, 0.137, 0.122] # Interaction coefficients (Kubin et al. 2008) + h_sl_sl: [0.122, 0.122, 0.625, 0.07, 0.137, 0.137, 0.122] # Interaction coefficients (Kubin et al. 2008) # shear band parameters xi_sb: 180.0e6 Q_sb: 3.7e-19 diff --git a/examples/config/Phase_Dislotwin_Tungsten.yaml b/examples/config/Phase_Dislotwin_Tungsten.yaml index c3f3e5864..d49149017 100644 --- a/examples/config/Phase_Dislotwin_Tungsten.yaml +++ b/examples/config/Phase_Dislotwin_Tungsten.yaml @@ -18,4 +18,4 @@ Tungsten: D_0: 4.0e-5 # Vacancy diffusion prefactor / m^2/s D_a: 1.0 # minimum dipole distance / b Q_cl: 4.5e-19 # Activation energy for climb / J - h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + h_sl_sl: [1, 1.4, 1, 1.4, 1.4, 1.4, 1.4] diff --git a/examples/config/Phase_Nonlocal_Aluminum.config b/examples/config/Phase_Nonlocal_Aluminum.config index c69d2fd67..0d835d5aa 100644 --- a/examples/config/Phase_Nonlocal_Aluminum.config +++ b/examples/config/Phase_Nonlocal_Aluminum.config @@ -52,7 +52,7 @@ q 1 # exponent for thermal barrier attackFrequency 50e9 # attack frequency in Hz surfaceTransmissivity 1.0 # transmissivity of free surfaces for dislocation flux grainboundaryTransmissivity 0.0 # transmissivity of grain boundaries for dislocation flux (grain bundaries are identified as interfaces with different textures on both sides); if not set or set to negative number, the subroutine automatically determines the transmissivity at the grain boundary -interaction_SlipSlip 0 0 0.625 0.07 0.137 0.122 # Dislocation interaction coefficient +interaction_SlipSlip 0 0 0.625 0.07 0.137 0.137 0.122 # Dislocation interaction coefficient linetension 0.8 # constant indicating the effect of the line tension on the hardening coefficients (0 to 1) edgejog 1.0 # fraction of annihilated screw dipoles that forms edge jogs (0 to 1) shortRangeStressCorrection 0 # switch for use of short range correction stress diff --git a/examples/config/Phase_Nonlocal_Nickel.config b/examples/config/Phase_Nonlocal_Nickel.config index c3814adeb..7bc2e1581 100644 --- a/examples/config/Phase_Nonlocal_Nickel.config +++ b/examples/config/Phase_Nonlocal_Nickel.config @@ -57,6 +57,6 @@ significantN 1 shortRangeStressCorrection 0 CFLfactor 1.1 # safety factor for CFL flux check (numerical parameter) r 1 -interaction_SlipSlip 0 0 0.625 0.07 0.137 0.122 # Dislocation interaction coefficient +interaction_SlipSlip 0 0 0.625 0.07 0.137 0.137 0.122 # Dislocation interaction coefficient linetension 0.8 edgejog 0.01 # 0.2 diff --git a/examples/config/Phase_Phenopowerlaw_Aluminum.yaml b/examples/config/Phase_Phenopowerlaw_Aluminum.yaml index a48550296..24da127fc 100644 --- a/examples/config/Phase_Phenopowerlaw_Aluminum.yaml +++ b/examples/config/Phase_Phenopowerlaw_Aluminum.yaml @@ -8,7 +8,7 @@ Aluminum: a_sl: 2.25 dot_gamma_0_sl: 0.001 h_0_sl_sl: 75e6 - h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4] n_sl: 20 output: [xi_sl, gamma_sl] type: phenopowerlaw diff --git a/examples/config/Phase_Phenopowerlaw_BCC-Ferrite.yaml b/examples/config/Phase_Phenopowerlaw_BCC-Ferrite.yaml index 31c828b9f..03b7e2013 100644 --- a/examples/config/Phase_Phenopowerlaw_BCC-Ferrite.yaml +++ b/examples/config/Phase_Phenopowerlaw_BCC-Ferrite.yaml @@ -10,7 +10,7 @@ Ferrite: a_sl: 2.0 dot_gamma_0_sl: 0.001 h_0_sl_sl: 1000.0e6 - h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + h_sl_sl: [1, 1.4, 1, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4] n_sl: 20 type: phenopowerlaw xi_0_sl: [95.e6, 96.e6] diff --git a/examples/config/Phase_Phenopowerlaw_BCC-Martensite.yaml b/examples/config/Phase_Phenopowerlaw_BCC-Martensite.yaml index 3c56f80aa..d2667f111 100644 --- a/examples/config/Phase_Phenopowerlaw_BCC-Martensite.yaml +++ b/examples/config/Phase_Phenopowerlaw_BCC-Martensite.yaml @@ -10,7 +10,7 @@ Martensite: a_sl: 2.0 dot_gamma_0_sl: 0.001 h_0_sl_sl: 563.0e9 - h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + h_sl_sl: [1, 1.4, 1, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4] n_sl: 20 type: phenopowerlaw xi_0_sl: [405.8e6, 456.7e6] diff --git a/examples/config/phase/mechanical/plastic/dislotwin_IF-steel.yaml b/examples/config/phase/mechanical/plastic/dislotwin_IF-steel.yaml index bebe0f341..b5defb6db 100644 --- a/examples/config/phase/mechanical/plastic/dislotwin_IF-steel.yaml +++ b/examples/config/phase/mechanical/plastic/dislotwin_IF-steel.yaml @@ -18,7 +18,7 @@ q_sl: [1.55, 1.55] i_sl: [23.3, 23.3] D_a: 7.4 # C_anni B: [0.001, 0.001] -h_sl_sl: [0.1, 0.1, 0.72, 0.053, 0.137, 0.073] +h_sl_sl: [0.1, 0.72, 0.1, 0.053, 0.053, 0.073, 0.137, 0.72, 0.72, 0.053, 0.053, 0.053, 0.053, 0.073, 0.073, 0.073, 0.073, 0.073, 0.073, 0.137, 0.073, 0.073, 0.137, 0.073] D_0: 4.000E-05 Q_cl: 5.400E-19 # no recovery! D: 40e-6 # estimated diff --git a/examples/config/phase/mechanical/plastic/phenopowerlaw_Au.yaml b/examples/config/phase/mechanical/plastic/phenopowerlaw_Au.yaml index daaab878d..840f3ff30 100644 --- a/examples/config/phase/mechanical/plastic/phenopowerlaw_Au.yaml +++ b/examples/config/phase/mechanical/plastic/phenopowerlaw_Au.yaml @@ -8,7 +8,7 @@ N_sl: [12] n_sl: 83 dot_gamma_0_sl: 0.001 h_0_sl_sl: 75e6 -h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] +h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4] a_sl: 1.0 xi_0_sl: [26e6] xi_inf_sl: [53e6] diff --git a/examples/grid/material.yaml b/examples/grid/material.yaml index b499e7413..47ab66d8b 100644 --- a/examples/grid/material.yaml +++ b/examples/grid/material.yaml @@ -17,7 +17,7 @@ phase: atol_xi: 1.0 dot_gamma_0_sl: 0.001 h_0_sl_sl: 75e6 - h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4] n_sl: 20 output: [xi_sl] xi_0_sl: [31e6] diff --git a/examples/mesh/material.yaml b/examples/mesh/material.yaml index 5a135bff1..225f54607 100644 --- a/examples/mesh/material.yaml +++ b/examples/mesh/material.yaml @@ -16,7 +16,7 @@ phase: atol_xi: 1.0 dot_gamma_0_sl: 0.001 h_0_sl_sl: 75e6 - h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4] n_sl: 20 output: [xi_sl] xi_0_sl: [31e6] diff --git a/python/tests/reference/Result/12grains6x7x8.material.yaml b/python/tests/reference/Result/12grains6x7x8.material.yaml index 436b0094e..8d3f53cfb 100644 --- a/python/tests/reference/Result/12grains6x7x8.material.yaml +++ b/python/tests/reference/Result/12grains6x7x8.material.yaml @@ -16,7 +16,7 @@ phase: atol_xi: 1.0 dot_gamma_0_sl: 0.001 h_0_sl_sl: 75e6 - h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4] n_sl: 20 output: [xi_sl] type: phenopowerlaw @@ -33,7 +33,7 @@ phase: atol_xi: 1.0 dot_gamma_0_sl: 0.001 h_0_sl_sl: 75e6 - h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + h_sl_sl: [1, 1.4, 1, 1.4, 1.4, 1.4, 1.4] n_sl: 20 output: [xi_sl] type: phenopowerlaw diff --git a/python/tests/reference/Result/4grains2x4x3.material.yaml b/python/tests/reference/Result/4grains2x4x3.material.yaml index 4cff681c0..ff2c90164 100644 --- a/python/tests/reference/Result/4grains2x4x3.material.yaml +++ b/python/tests/reference/Result/4grains2x4x3.material.yaml @@ -665,7 +665,7 @@ phase: atol_xi: 1.0 dot_gamma_0_sl: 0.001 h_0_sl_sl: 75e6 - h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + h_sl_sl: [1, 1.4, 1, 1.4, 1.4, 1.4, 1.4] n_sl: 20 output: [xi_sl] type: phenopowerlaw diff --git a/python/tests/reference/Result/6grains6x7x8_single_phase.material.yaml b/python/tests/reference/Result/6grains6x7x8_single_phase.material.yaml index 993aa6cee..a06d679db 100644 --- a/python/tests/reference/Result/6grains6x7x8_single_phase.material.yaml +++ b/python/tests/reference/Result/6grains6x7x8_single_phase.material.yaml @@ -16,7 +16,7 @@ phase: atol_xi: 1.0 dot_gamma_0_sl: 0.001 h_0_sl_sl: 75e6 - h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4] + h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4] n_sl: 20 output: [xi_sl] type: phenopowerlaw diff --git a/src/lattice.f90 b/src/lattice.f90 index 06986b42b..47f7c2902 100644 --- a/src/lattice.f90 +++ b/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, & - -1,-1, 1, 0, 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, 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, & - 1, 1, 1, -1, 1, 0, & - 1, 1,-1, -1, 1, 0, & - ! Slip system <111>{112} - -1, 1, 1, 2, 1, 1, & - 1, 1, 1, -2, 1, 1, & - 1, 1,-1, 2,-1, 1, & - 1,-1, 1, 2, 1,-1, & - 1,-1, 1, 1, 2, 1, & - 1, 1,-1, -1, 2, 1, & - 1, 1, 1, 1,-2, 1, & - -1, 1, 1, 1, 2,-1, & - 1, 1,-1, 1, 1, 2, & - 1,-1, 1, -1, 1, 2, & - -1, 1, 1, 1,-1, 2, & - 1, 1, 1, 1, 1,-2 & - ],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 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 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 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 starting next to a_1 axis + ],pReal),shape(HEX_SYSTEMSLIP)) !< hex slip systems, sorted by P. Eisenlohr CCW around 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 starting next to a_1 axis + ],pReal),shape(HEX_SYSTEMTWIN)) !< hex twin systems, sorted by P. Eisenlohr CCW around 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) acting - 2, 1, 2, 6, 4, 5, 5, 4, 6, 5, 3, 5, 9,10,11,12, 9,10, & ! | - 2, 2, 1, 5, 5, 3, 5, 6, 4, 6, 5, 4, 11,12, 9,10, 9,10, & ! | - 4, 6, 5, 1, 2, 2, 4, 5, 6, 3, 5, 5, 9,10,10, 9,12,11, & ! v - 6, 4, 5, 2, 1, 2, 5, 3, 5, 5, 4, 6, 9,10,12,11,10, 9, & ! reacting - 5, 5, 3, 2, 2, 1, 6, 5, 4, 5, 6, 4, 11,12,10, 9,10, 9, & - 3, 5, 5, 4, 5, 6, 1, 2, 2, 4, 6, 5, 10, 9,10, 9,11,12, & - 5, 4, 6, 5, 3, 5, 2, 1, 2, 6, 4, 5, 10, 9,12,11, 9,10, & - 5, 6, 4, 6, 5, 4, 2, 2, 1, 5, 5, 3, 12,11,10, 9, 9,10, & - 4, 5, 6, 3, 5, 5, 4, 6, 5, 1, 2, 2, 10, 9, 9,10,12,11, & - 5, 3, 5, 5, 4, 6, 6, 4, 5, 2, 1, 2, 10, 9,11,12,10, 9, & - 6, 5, 4, 5, 6, 4, 5, 5, 3, 2, 2, 1, 12,11, 9,10,10, 9, & + 1, 2, 2, 4, 7, 5, 3, 5, 5, 4, 6, 7, 10,11,10,11,12,13, & ! -----> acting (forest) + 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 (primary) + 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, & - 9, 9,11, 9, 9,11,10,10,12,10,10,12, 1, 7, 8, 8, 8, 8, & - 10,10,12,10,10,12, 9, 9,11, 9, 9,11, 7, 1, 8, 8, 8, 8, & - 9,11, 9,10,12,10,10,12,10, 9,11, 9, 8, 8, 1, 7, 8, 8, & - 10,12,10, 9,11, 9, 9,11, 9,10,12,10, 8, 8, 7, 1, 8, 8, & - 11, 9, 9,12,10,10,11, 9, 9,12,10,10, 8, 8, 8, 8, 1, 7, & - 12,10,10,11, 9, 9,12,10,10,11, 9, 9, 8, 8, 8, 8, 7, 1 & - ],shape(FCC_INTERACTIONSLIPSLIP)) !< Slip--slip interaction types for fcc - !< 1: self interaction - !< 2: coplanar interaction - !< 3: collinear interaction - !< 4: Hirth locks - !< 5: glissile junctions - !< 6: Lomer locks - !< 7: crossing (similar to Hirth locks in <110>{111} for two {110} planes) - !< 8: similar to Lomer locks in <110>{111} for two {110} planes - !< 9: similar to Lomer locks in <110>{111} btw one {110} and one {111} plane - !<10: similar to glissile junctions in <110>{111} btw one {110} and one {111} plane - !<11: crossing btw one {110} and one {111} plane - !<12: collinear btw one {110} and one {111} plane + 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 + !< 4: Hirth locks --> alpha 1 + !< 5: glissile junctions I --> alpha 2 + !< 6: glissile junctions II --> alpha 2* + !< 7: Lomer locks --> alpha 3 + !< 8: crossing (similar to Hirth locks in <110>{111} for two {110} planes) + !< 9: similar to Lomer locks in <110>{111} for two {110} planes + !<10: similar to Lomer locks in <110>{111} btw one {110} and one {111} plane + !<11: similar to glissile junctions in <110>{111} btw one {110} and one {111} plane + !<12: crossing btw one {110} and one {111} plane + !<13: collinear btw one {110} and one {111} plane integer, dimension(BCC_NSLIP,BCC_NSLIP), parameter :: & BCC_INTERACTIONSLIPSLIP = reshape( [& - 1,2,6,6,5,4,4,3,4,3,5,4, 6,6,4,3,3,4,6,6,4,3,6,6, & ! -----> acting - 2,1,6,6,4,3,5,4,5,4,4,3, 6,6,3,4,4,3,6,6,3,4,6,6, & ! | - 6,6,1,2,4,5,3,4,4,5,3,4, 4,3,6,6,6,6,3,4,6,6,4,3, & ! | - 6,6,2,1,3,4,4,5,3,4,4,5, 3,4,6,6,6,6,4,3,6,6,3,4, & ! v - 5,4,4,3,1,2,6,6,3,4,5,4, 3,6,4,6,6,4,6,3,4,6,3,6, & ! reacting - 4,3,5,4,2,1,6,6,4,5,4,3, 4,6,3,6,6,3,6,4,3,6,4,6, & - 4,5,3,4,6,6,1,2,5,4,3,4, 6,3,6,4,4,6,3,6,6,4,6,3, & - 3,4,4,5,6,6,2,1,4,3,4,5, 6,4,6,3,3,6,4,6,6,3,6,4, & - 4,5,4,3,3,4,5,4,1,2,6,6, 3,6,6,4,4,6,6,3,6,4,3,6, & - 3,4,5,4,4,5,4,3,2,1,6,6, 4,6,6,3,3,6,6,4,6,3,4,6, & - 5,4,3,4,5,4,3,4,6,6,1,2, 6,3,4,6,6,4,3,6,4,6,6,3, & - 4,3,4,5,4,3,4,5,6,6,2,1, 6,4,3,6,6,3,4,6,3,6,6,4, & + 1, 3, 6, 6, 7, 5, 4, 2, 4, 2, 7, 5, 18,18,11, 8, 9,13,17,14,13, 9,17,14, & ! -----> acting (forest) + 3, 1, 6, 6, 4, 2, 7, 5, 7, 5, 4, 2, 18,18, 8,11,13, 9,14,17, 9,13,14,17, & ! | + 6, 6, 1, 3, 5, 7, 2, 4, 5, 7, 2, 4, 11, 8,18,18,17,14, 9,13,17,14,13, 9, & ! | + 6, 6, 3, 1, 2, 4, 5, 7, 2, 4, 5, 7, 8,11,18,18,14,17,13, 9,14,17, 9,13, & ! v + 7, 5, 4, 2, 1, 3, 6, 6, 2, 4, 7, 5, 9,17,13,14,18,11,18, 8,13,17, 9,14, & ! reacting (primary) + 4, 2, 7, 5, 3, 1, 6, 6, 5, 7, 4, 2, 13,14, 9,17,18, 8,18,11, 9,14,13,17, & + 5, 7, 2, 4, 6, 6, 1, 3, 7, 5, 2, 4, 17, 9,14,13,11,18, 8,18,17,13,14, 9, & + 2, 4, 5, 7, 6, 6, 3, 1, 4, 2, 5, 7, 14,13,17, 9, 8,18,11,18,14, 9,17,13, & + 5, 7, 4, 2, 2, 4, 7, 5, 1, 3, 6, 6, 9,17,14,13,13,17,14, 9,18,11, 8,18, & + 2, 4, 7, 5, 5, 7, 4, 2, 3, 1, 6, 6, 13,14,17, 9, 9,14,17,13,18, 8,11,18, & + 7, 5, 2, 4, 7, 5, 2, 4, 6, 6, 1, 3, 17, 9,13,14,17,13, 9,14,11,18,18, 8, & + 4, 2, 5, 7, 4, 2, 5, 7, 6, 6, 3, 1, 14,13, 9,17,14, 9,13,17, 8,18,18,11, & ! - 6,6,4,3,3,4,6,6,3,4,6,6, 1,5,6,6,5,6,6,3,5,6,3,6, & - 6,6,3,4,6,6,3,4,6,6,3,4, 5,1,6,6,6,5,3,6,6,5,6,3, & - 4,3,6,6,4,3,6,6,6,6,4,3, 6,6,1,5,6,3,5,6,3,6,5,6, & - 3,4,6,6,6,6,4,3,4,3,6,6, 6,6,5,1,3,6,6,5,6,3,6,5, & - 3,4,6,6,6,6,4,3,4,3,6,6, 5,6,6,3,1,6,5,6,5,3,6,6, & - 4,3,6,6,4,3,6,6,6,6,4,3, 6,5,3,6,6,1,6,5,3,5,6,6, & - 6,6,3,4,6,6,3,4,6,6,3,4, 6,3,5,6,5,6,1,6,6,6,5,3, & - 6,6,4,3,3,4,6,6,3,4,6,6, 3,6,6,5,6,5,6,1,6,6,3,5, & - 4,3,6,6,4,3,6,6,6,6,4,3, 5,6,3,6,5,3,6,6,1,6,6,5, & - 3,4,6,6,6,6,4,3,4,3,6,6, 6,5,6,3,3,5,6,6,6,1,5,6, & - 6,6,4,3,3,4,6,6,3,4,6,6, 3,6,5,6,6,6,5,3,6,5,1,6, & - 6,6,3,4,6,6,3,4,6,6,3,4, 6,3,6,5,6,6,3,5,5,6,6,1 & - ],shape(BCC_INTERACTIONSLIPSLIP)) !< Slip--slip interaction types for bcc from Queyreau et al. Int J Plast 25 (2009) 361–377 - !< 1: self interaction - !< 2: coplanar interaction - !< 3: collinear interaction - !< 4: mixed-asymmetrical junction - !< 5: mixed-symmetrical junction - !< 6: edge junction + 19,19,10, 8, 9,12,16,15, 9,12,16,15, 1,20,24,24,23,22,21, 2,23,22, 2,21, & + 19,19, 8,10,16,15, 9,12,16,15, 9,12, 20, 1,24,24,22,23, 2,21,22,23,21, 2, & + 10, 8,19,19,12, 9,15,16,15,16,12, 9, 24,24, 1,20,21, 2,23,22, 2,21,23,22, & + 8,10,19,19,15,16,12, 9,12, 9,15,16, 24,24,20, 1, 2,21,22,23,21, 2,22,23, & + 9,12,16,15,19,19,10, 8,12, 9,16,15, 23,21,22, 2, 1,24,20,24,23, 2,22,21, & + 12, 9,15,16,10, 8,19,19,16,15,12, 9, 21,23, 2,21,24, 1,24,20, 2,23,21,22, & + 16,15, 9,12,19,19, 8,10,15,16, 9,12, 22, 2,23,22,20,24, 1,24,22,21,23, 2, & + 15,16,12, 9, 8,10,19,19, 9,12,15,16, 2,22,21,23,24,20,24, 1,21,22, 2,23, & + 12, 9,16,15,12, 9,16,15,19,19,10, 8, 23,21, 2,22,23, 2,21,22, 1,24,24,20, & + 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) + !< 1: self interaction --> alpha 0 + !< 2: collinear interaction --> alpha 1 + !< 3: coplanar interaction --> alpha 2 + !< 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( [& - 1, 2, 2, 3, 3, 3, 7, 7, 7, 13,13,13,13,13,13, 21,21,21,21,21,21,21,21,21,21,21,21, 31,31,31,31,31,31, & ! -----> acting + 1, 2, 2, 3, 3, 3, 7, 7, 7, 13,13,13,13,13,13, 21,21,21,21,21,21,21,21,21,21,21,21, 31,31,31,31,31,31, & ! -----> acting (forest) 2, 1, 2, 3, 3, 3, 7, 7, 7, 13,13,13,13,13,13, 21,21,21,21,21,21,21,21,21,21,21,21, 31,31,31,31,31,31, & ! | 2, 2, 1, 3, 3, 3, 7, 7, 7, 13,13,13,13,13,13, 21,21,21,21,21,21,21,21,21,21,21,21, 31,31,31,31,31,31, & ! | ! ! v - 6, 6, 6, 4, 5, 5, 8, 8, 8, 14,14,14,14,14,14, 22,22,22,22,22,22,22,22,22,22,22,22, 32,32,32,32,32,32, & ! reacting + 6, 6, 6, 4, 5, 5, 8, 8, 8, 14,14,14,14,14,14, 22,22,22,22,22,22,22,22,22,22,22,22, 32,32,32,32,32,32, & ! reacting (primary) 6, 6, 6, 5, 4, 5, 8, 8, 8, 14,14,14,14,14,14, 22,22,22,22,22,22,22,22,22,22,22,22, 32,32,32,32,32,32, & 6, 6, 6, 5, 5, 4, 8, 8, 8, 14,14,14,14,14,14, 22,22,22,22,22,22,22,22,22,22,22,22, 32,32,32,32,32,32, & ! @@ -867,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( [& @@ -1574,7 +1551,7 @@ end function lattice_slip_normal !-------------------------------------------------------------------------------------------------- -!> @brief Transverse direction of slip systems ( || t = b x n) +!> @brief Transverse direction of slip systems (|| t = b x n) !-------------------------------------------------------------------------------------------------- function lattice_slip_transverse(Nslip,structure,cOverA) result(t)