|
subroutine, public | lattice::lattice_init |
| Module initialization. More...
|
|
real(preal) function, dimension(sum(ntwin)), public | lattice::lattice_characteristicshear_twin (Ntwin, structure, CoverA) |
| Characteristic shear for twinning. More...
|
|
real(preal) function, dimension(6, 6, sum(ntwin)), public | lattice::lattice_c66_twin (Ntwin, C66, structure, CoverA) |
| Rotated elasticity matrices for twinning in 66-vector notation. More...
|
|
real(preal) function, dimension(6, 6, sum(ntrans)), public | lattice::lattice_c66_trans (Ntrans, C_parent66, structure_target, cOverA_trans, a_bcc, a_fcc) |
| Rotated elasticity matrices for transformation in 66-vector notation. More...
|
|
real(preal) function, dimension(1:3, 1:3, sum(nslip)), public | lattice::lattice_nonschmidmatrix (Nslip, nonSchmidCoefficients, sense) |
| Non-schmid projections for bcc with up to 6 coefficients. More...
|
|
real(preal) function, dimension(sum(nslip), sum(nslip)), public | lattice::lattice_interaction_slipbyslip (Nslip, interactionValues, structure) |
| Slip-slip interaction matrix details only active slip systems are considered. More...
|
|
real(preal) function, dimension(sum(ntwin), sum(ntwin)), public | lattice::lattice_interaction_twinbytwin (Ntwin, interactionValues, structure) |
| Twin-twin interaction matrix details only active twin systems are considered. More...
|
|
real(preal) function, dimension(sum(ntrans), sum(ntrans)), public | lattice::lattice_interaction_transbytrans (Ntrans, interactionValues, structure) |
| Trans-trans interaction matrix details only active trans systems are considered. More...
|
|
real(preal) function, dimension(sum(nslip), sum(ntwin)), public | lattice::lattice_interaction_slipbytwin (Nslip, Ntwin, interactionValues, structure) |
| Slip-twin interaction matrix details only active slip and twin systems are considered. More...
|
|
real(preal) function, dimension(sum(nslip), sum(ntrans)), public | lattice::lattice_interaction_slipbytrans (Nslip, Ntrans, interactionValues, structure) |
| Slip-trans interaction matrix details only active slip and trans systems are considered. More...
|
|
real(preal) function, dimension(sum(ntwin), sum(nslip)), public | lattice::lattice_interaction_twinbyslip (Ntwin, Nslip, interactionValues, structure) |
| Twin-slip interaction matrix details only active twin and slip systems are considered. More...
|
|
real(preal) function, dimension(3, 3, sum(nslip)), public | lattice::lattice_schmidmatrix_slip (Nslip, structure, cOverA) |
| Schmid matrix for slip details only active slip systems are considered. More...
|
|
real(preal) function, dimension(3, 3, sum(ntwin)), public | lattice::lattice_schmidmatrix_twin (Ntwin, structure, cOverA) |
| Schmid matrix for twinning details only active twin systems are considered. More...
|
|
real(preal) function, dimension(3, 3, sum(ntrans)), public | lattice::lattice_schmidmatrix_trans (Ntrans, structure_target, cOverA, a_bcc, a_fcc) |
| Schmid matrix for twinning details only active twin systems are considered. More...
|
|
real(preal) function, dimension(3, 3, 3, sum(ncleavage)), public | lattice::lattice_schmidmatrix_cleavage (Ncleavage, structure, cOverA) |
| Schmid matrix for cleavage details only active cleavage systems are considered. More...
|
|
real(preal) function, dimension(3, sum(nslip)), public | lattice::lattice_slip_direction (Nslip, structure, cOverA) |
| Slip direction of slip systems (|| b) More...
|
|
real(preal) function, dimension(3, sum(nslip)), public | lattice::lattice_slip_normal (Nslip, structure, cOverA) |
| Normal direction of slip systems (|| n) More...
|
|
real(preal) function, dimension(3, sum(nslip)), public | lattice::lattice_slip_transverse (Nslip, structure, cOverA) |
| Transverse direction of slip systems ( || t = b x n) More...
|
|
character(len=:) function, dimension(:), allocatable, public | lattice::lattice_labels_slip (Nslip, structure) |
| Labels for slip systems details only active slip systems are considered. More...
|
|
real(preal) function, dimension(3, 3), public | lattice::lattice_applylatticesymmetry33 (T, structure) |
| Return 3x3 tensor with symmetry according to given crystal structure. More...
|
|
real(preal) function, dimension(6, 6) | lattice::applylatticesymmetryc66 (C66, structure) |
| Return stiffness matrix in 6x6 notation with symmetry according to given crystal structure. More...
|
|
character(len=:) function, dimension(:), allocatable, public | lattice::lattice_labels_twin (Ntwin, structure) |
| Labels for twin systems details only active twin systems are considered. More...
|
|
real(preal) function, dimension(sum(nslip), sum(nslip)) | lattice::slipprojection_transverse (Nslip, structure, cOverA) |
| Projection of the transverse direction onto the slip plane. More...
|
|
real(preal) function, dimension(sum(nslip), sum(nslip)) | lattice::slipprojection_direction (Nslip, structure, cOverA) |
| Projection of the slip direction onto the slip plane. More...
|
|
real(preal) function, dimension(3, 3, sum(nslip)) | lattice::coordinatesystem_slip (Nslip, structure, cOverA) |
| build a local coordinate system on slip systems More...
|
|
real(preal) function, dimension(sum(reacting_used), sum(acting_used)) | lattice::buildinteraction (reacting_used, acting_used, reacting_max, acting_max, values, matrix) |
| Populate reduced interaction matrix. More...
|
|
real(preal) function, dimension(3, 3, sum(active)) | lattice::buildcoordinatesystem (active, potential, system, structure, cOverA) |
| Build a local coordinate system on slip, twin, trans, cleavage systems. More...
|
|
subroutine | lattice::buildtransformationsystem (Q, S, Ntrans, cOverA, a_fcc, a_bcc) |
| Helper function to define transformation systems. More...
|
|
character(len=:) function, dimension(:), allocatable | lattice::getlabels (active, potential, system) |
| select active systems as strings More...
|
|
real(preal) function | lattice::equivalent_nu (C, assumption) |
| Equivalent Poisson's ratio (ν) More...
|
|
real(preal) function | lattice::equivalent_mu (C, assumption) |
| Equivalent shear modulus (μ) More...
|
|
subroutine | lattice::unittest |
| check correctness of some lattice functions More...
|
|
|
integer, dimension(2), parameter | lattice::fcc_nslipsystem = [12, 6] |
|
integer, dimension(1), parameter | lattice::fcc_ntwinsystem = [12] |
|
integer, dimension(1), parameter | lattice::fcc_ntranssystem = [12] |
|
integer, dimension(1), parameter | lattice::fcc_ncleavagesystem = [3] |
|
integer, parameter | lattice::fcc_nslip = sum(FCC_NSLIPSYSTEM) |
| total # of slip systems for fcc More...
|
|
integer, parameter | lattice::fcc_ntwin = sum(FCC_NTWINSYSTEM) |
| total # of twin systems for fcc More...
|
|
integer, parameter | lattice::fcc_ntrans = sum(FCC_NTRANSSYSTEM) |
| total # of transformation systems for fcc More...
|
|
integer, parameter | lattice::fcc_ncleavage = sum(FCC_NCLEAVAGESYSTEM) |
| total # of cleavage systems for fcc More...
|
|
real(preal), dimension(3+3, fcc_nslip), parameter | lattice::fcc_systemslip = reshape(real([ 0, 1,-1, 1, 1, 1, -1, 0, 1, 1, 1, 1, 1,-1, 0, 1, 1, 1, 0,-1,-1, -1,-1, 1, 1, 0, 1, -1,-1, 1, -1, 1, 0, -1,-1, 1, 0,-1, 1, 1,-1,-1, -1, 0,-1, 1,-1,-1, 1, 1, 0, 1,-1,-1, 0, 1, 1, -1, 1,-1, 1, 0,-1, -1, 1,-1, -1,-1, 0, -1, 1,-1, 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. More...
|
|
real(preal), dimension(3+3, fcc_ntwin), parameter | lattice::fcc_systemtwin = reshape(real( [ -2, 1, 1, 1, 1, 1, 1,-2, 1, 1, 1, 1, 1, 1,-2, 1, 1, 1, 2,-1, 1, -1,-1, 1, -1, 2, 1, -1,-1, 1, -1,-1,-2, -1,-1, 1, -2,-1,-1, 1,-1,-1, 1, 2,-1, 1,-1,-1, 1,-1, 2, 1,-1,-1, 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. More...
|
|
integer, dimension(2, fcc_ntwin), parameter, public | lattice::lattice_fcc_twinnucleationslippair = reshape( [ 2,3, 1,3, 1,2, 5,6, 4,6, 4,5, 8,9, 7,9, 7,8, 11,12, 10,12, 10,11 ], shape(lattice_FCC_TWINNUCLEATIONSLIPPAIR)) |
|
real(preal), dimension(3+3, fcc_ncleavage), parameter | lattice::fcc_systemcleavage = reshape(real([ 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1 ], pReal), shape(FCC_SYSTEMCLEAVAGE)) |
|
integer, dimension(2), parameter | lattice::bcc_nslipsystem = [12, 12] |
|
integer, dimension(1), parameter | lattice::bcc_ntwinsystem = [12] |
|
integer, dimension(1), parameter | lattice::bcc_ncleavagesystem = [3] |
|
integer, parameter | lattice::bcc_nslip = sum(BCC_NSLIPSYSTEM) |
| total # of slip systems for bcc More...
|
|
integer, parameter | lattice::bcc_ntwin = sum(BCC_NTWINSYSTEM) |
| total # of twin systems for bcc More...
|
|
integer, parameter | lattice::bcc_ncleavage = sum(BCC_NCLEAVAGESYSTEM) |
| total # of cleavage systems for bcc More...
|
|
real(preal), dimension(3+3, bcc_nslip), parameter | lattice::bcc_systemslip = reshape(real([ 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, -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)) |
|
real(preal), dimension(3+3, bcc_ntwin), parameter | lattice::bcc_systemtwin = reshape(real([ -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_SYSTEMTWIN)) |
|
real(preal), dimension(3+3, bcc_ncleavage), parameter | lattice::bcc_systemcleavage = reshape(real([ 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1 ], pReal), shape(BCC_SYSTEMCLEAVAGE)) |
|
integer, dimension(6), parameter | lattice::hex_nslipsystem = [3, 3, 3, 6, 12, 6] |
|
integer, dimension(4), parameter | lattice::hex_ntwinsystem = [6, 6, 6, 6] |
|
integer, parameter | lattice::hex_nslip = sum(HEX_NSLIPSYSTEM) |
| total # of slip systems for hex More...
|
|
integer, parameter | lattice::hex_ntwin = sum(HEX_NTWINSYSTEM) |
| total # of twin systems for hex More...
|
|
real(preal), dimension(4+4, hex_nslip), parameter | lattice::hex_systemslip = reshape(real([ 2, -1, -1, 0, 0, 0, 0, 1, -1, 2, -1, 0, 0, 0, 0, 1, -1, -1, 2, 0, 0, 0, 0, 1, 2, -1, -1, 0, 0, 1, -1, 0, -1, 2, -1, 0, -1, 0, 1, 0, -1, -1, 2, 0, 1, -1, 0, 0, -1, 1, 0, 0, 1, 1, -2, 0, 0, -1, 1, 0, -2, 1, 1, 0, 1, 0, -1, 0, 1, -2, 1, 0, -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, -2, 1, 1, 3, 1, 0, -1, 1, -1, -1, 2, 3, 1, 0, -1, 1, -1, -1, 2, 3, 0, 1, -1, 1, 1, -2, 1, 3, 0, 1, -1, 1, 1, -2, 1, 3, -1, 1, 0, 1, 2, -1, -1, 3, -1, 1, 0, 1, 2, -1, -1, 3, -1, 0, 1, 1, 1, 1, -2, 3, -1, 0, 1, 1, 1, 1, -2, 3, 0, -1, 1, 1, -1, 2, -1, 3, 0, -1, 1, 1, -1, 2, -1, 3, 1, -1, 0, 1, -2, 1, 1, 3, 1, -1, 0, 1, -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 More...
|
|
real(preal), dimension(4+4, hex_ntwin), parameter | lattice::hex_systemtwin = reshape(real([ -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, 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, 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, -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 More...
|
|
integer, dimension(13), parameter | lattice::bct_nslipsystem = [2, 2, 2, 4, 2, 4, 2, 2, 4, 8, 4, 8, 8 ] |
|
integer, parameter | lattice::bct_nslip = sum(BCT_NSLIPSYSTEM) |
| total # of slip systems for bct More...
|
|
real(preal), dimension(3+3, bct_nslip), parameter | lattice::bct_systemslip = reshape(real([ 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, -1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 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, 0, 1, -1, 0, 1, 1, 0, 1, 1, 0, 1,-1, 0, 0, 1, 1, 1, 0, 0, 0,-1, 1, 1, 0, 0, -1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, -1, 1, 0, 0, 0, 1, 0, 1,-1, 0, 1, 1, 0,-1,-1, 0,-1, 1, -1, 0,-1, -1, 0, 1, 1, 0,-1, 1, 0, 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,-1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1,-1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,-1, 0, 1,-1, 2, 1, 1, 0,-1,-1, 2,-1, 1, 1, 0,-1, 1, 2, 1, -1, 0,-1, -1, 2, 1, 0, 1,-1, -2, 1, 1, 0,-1,-1, -2,-1, 1, -1, 0,-1, -1,-2, 1, 1, 0,-1, 1,-2, 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, -2, 1, 1, 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 More...
|
|
integer, dimension(3), parameter | lattice::ort_ncleavagesystem = [1, 1, 1] |
|
integer, parameter | lattice::ort_ncleavage = sum(ORT_NCLEAVAGESYSTEM) |
| total # of cleavage systems for ortho More...
|
|
real(preal), dimension(3+3, ort_ncleavage), parameter | lattice::ort_systemcleavage = reshape(real([ 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1 ], pReal), shape(ORT_SYSTEMCLEAVAGE)) |
|
@, public | lattice::lattice_iso_id |
|
@, public | lattice::lattice_fcc_id |
|
@, public | lattice::lattice_bcc_id |
|
@, public | lattice::lattice_bct_id |
|
@, public | lattice::lattice_hex_id |
|
@, public | lattice::lattice_ort_id |
|
real(preal), dimension(:), allocatable, public, protected | lattice::lattice_mu |
|
real(preal), dimension(:), allocatable, public, protected | lattice::lattice_nu |
|
real(preal), dimension(:), allocatable, public, protected | lattice::lattice_damagemobility |
|
real(preal), dimension(:), allocatable, public, protected | lattice::lattice_massdensity |
|
real(preal), dimension(:), allocatable, public, protected | lattice::lattice_specificheat |
|
real(preal), dimension(:,:,:), allocatable, public, protected | lattice::lattice_c66 |
|
real(preal), dimension(:,:,:), allocatable, public, protected | lattice::lattice_thermalconductivity |
|
real(preal), dimension(:,:,:), allocatable, public, protected | lattice::lattice_damagediffusion |
|
integer(kind(lattice_undefined_id)), dimension(:), allocatable, public, protected | lattice::lattice_structure |
|