|
| Lattice (const MatrixDimD &A, const MatrixDimD &Q=MatrixDimD::Identity()) |
|
LatticeVector< dim > | latticeVector (const VectorDimD &p) const |
| Returns a lattice vector (in the current lattice) with Cartesian coordinates p.
|
|
LatticeDirection< dim > | latticeDirection (const VectorDimD &d, const double &tol=FLT_EPSILON) const |
| Returns the lattice direction along a vector.
|
|
ReciprocalLatticeVector< dim > | reciprocalLatticeVector (const VectorDimD &p) const |
| Returns a reciprocal lattice vector (in the dual of the current lattice) with Cartesian coordinates p.
|
|
ReciprocalLatticeDirection< dim > | reciprocalLatticeDirection (const VectorDimD &d, const double &tol=FLT_EPSILON) const |
| Returns the reciprocal lattice direction along a vector.
|
|
std::vector< ReciprocalLatticeDirection< dim > > | directionOrthogonalReciprocalLatticeBasis (const LatticeDirection< dim > &l, const bool &useRLLL=false) const |
| Given a lattice direction \(\textbf l\), this function returns a direction-orthogonal reciprocal lattice basis \([\textbf r_1,\cdots,\textbf r_{dim}]\), with the property \(\textbf r_1 \cdot \textbf l=1\) and the remaining reciprocal basis vectors are orthogonal to \(\textbf l\), i.e., \(\boldsymbol r_i \cdot \textbf l = 0\) for \(i=2,\cdots,dim\).
|
|
RationalLatticeDirection< dim > | rationalLatticeDirection (const VectorDimD &d, const typename BestRationalApproximation::LongIntType &maxDen, const double &magnitudeTol, const double &directionTol=FLT_EPSILON) const |
|
RationalReciprocalLatticeDirection< dim > | rationalReciprocalLatticeDirection (const VectorDimD &d, const typename BestRationalApproximation::LongIntType &maxDen, const double &magnitudeTol, const double &directionTol=FLT_EPSILON) const |
|
std::vector< LatticeDirection< dim > > | planeParallelLatticeBasis (const ReciprocalLatticeDirection< dim > &l, const bool &useRLLL=false) const |
| Given a reciprocal lattice direction \(\textbf l\), this function returns a plane-parallel lattice basis \([\textbf b_1,\cdots,\textbf b_{dim}]\), with the property \(\textbf b_1 \cdot \textbf l=1\) and the remaining basis vectors lie in the lattice plane represented by \(\textbf l\), i.e. \(\textbf b_i \cdot \textbf l = 0\) for \(i=2,\cdots,dim\).
|
|
double | interPlanarSpacing (const ReciprocalLatticeDirection< dim > &r) const |
| Computes the interplanar spacing.
|
|
template<int dm = dim> |
std::enable_if< dm==3, std::vector< MatrixDimD > >::type | generateCoincidentLattices (const ReciprocalLatticeDirection< dim > &rd, const double &maxDen=100, const int &N=100) const |
|
template<int dm = dim> |
std::enable_if< dm==2, std::vector< MatrixDimD > >::type | generateCoincidentLattices (const double &maxStrain, const int &maxDen=50, const int &N=30) const |
|
template<int dm = dim> |
std::enable_if< dm==2, std::vector< MatrixDimD > >::type | generateCoincidentLattices (const Lattice< dim > &undeformedLattice, const double &maxStrain, const int &maxDen=50, const int &N=30) const |
|
template<int dm = dim> |
std::enable_if< dm==3, std::vector< LatticeVector< dim > > >::type | box (const std::vector< LatticeVector< dim > > &boxVectors, const std::string &filename="") const |
|
template<int dm = dim> |
std::enable_if< dm==2, std::vector< LatticeVector< dim > > >::type | box (const std::vector< LatticeVector< dim > > &boxVectors, const std::string &filename="") const |
|
| StaticID () |
|
| StaticID (const StaticID &) |
|
template<int dim>
class gbLAB::Lattice< dim >
Lattice class.
The Lattice<dim> class describes a lattice in dim dimensions
- Examples
- testCoincidentRotations.cpp, testGb.cpp, testGb3d.cpp, testGenerateGBs.cpp, testLattice.cpp, testMoire.cpp, testPlaneParallelLatticeDirections.cpp, and testSNF.cpp.
Definition at line 33 of file Lattice.h.
Given a lattice direction \(\textbf l\), this function returns a direction-orthogonal reciprocal lattice basis \([\textbf r_1,\cdots,\textbf r_{dim}]\), with the property \(\textbf r_1 \cdot \textbf l=1\) and the remaining reciprocal basis vectors are orthogonal to \(\textbf l\), i.e., \(\boldsymbol r_i \cdot \textbf l = 0\) for \(i=2,\cdots,dim\).
- Parameters
-
- Returns
- a reciprocal lattice basis \([\textbf r_1,\cdots,\textbf r_{dim}]\)
- Examples
- testPlaneParallelLatticeDirections.cpp.
Definition at line 235 of file Lattice.cpp.
template<int dim>
template<int dm>
std::enable_if< dm==2, std::vector< typenameLattice< dim >::MatrixDimD > >::type gbLAB::Lattice< dim >::generateCoincidentLattices |
( |
const Lattice< dim > & |
undeformedLattice, |
|
|
const double & |
maxStrain, |
|
|
const int & |
maxDen = 50 , |
|
|
const int & |
N = 30 |
|
) |
| const |
This function generates deformations \(\mathbf F\) such that the deformations of *this lattice share moire supercells with a given undeformed 2D lattice. It is specialized to dim=2.
The current algorithm betters the one given in Algorithm 2 of
[1] Admal, Nikhil Chandra, et al. "Interface dislocations and grain boundary
disconnections using Smith normal bicrystallography." Acta materialia 240 (2022): 118340.
Note: There was a typo in Algorithm 2 in [1] - \(\mathfrak q_1\) and \(\mathfrak r_1\) should be replaced by the basis vectors \(\mathbf q_1\) and \(\mathbf r_1\) of lattice \(\mathcal B\).
- Template Parameters
-
undeformedLattice | underformed lattice |
dm | dimension (int) |
- Parameters
-
maxStrain | maximum strain |
maxDen | integer parameter that determines the resolution for the search of rotations |
N | integer parameter that determines the maximum size of the CSL |
- Returns
- A set of deformation gradients of *this lattice that result in moire superlattices with the undeformed lattice
Definition at line 370 of file Lattice.cpp.
Given a reciprocal lattice direction \(\textbf l\), this function returns a plane-parallel lattice basis \([\textbf b_1,\cdots,\textbf b_{dim}]\), with the property \(\textbf b_1 \cdot \textbf l=1\) and the remaining basis vectors lie in the lattice plane represented by \(\textbf l\), i.e. \(\textbf b_i \cdot \textbf l = 0\) for \(i=2,\cdots,dim\).
- Parameters
-
[in] | l | Reciprocal lattice direction |
- Returns
- A lattice basis \([\textbf b_1,\cdots,\textbf b_{dim}]\)
- Examples
- testPlaneParallelLatticeDirections.cpp.
Definition at line 169 of file Lattice.cpp.