18 Lattice LatticeUtils::createFCCLattice(
double lattice_constant,
22 std::unique_ptr<ILatticeOrientation> P_orientation(orientation.clone());
23 P_orientation->usePrimitiveLattice(prim_cubic);
24 auto rotation = P_orientation->transformationMatrix();
32 std::unique_ptr<ILatticeOrientation> P_orientation(orientation.clone());
33 P_orientation->usePrimitiveLattice(prim_hexagonal);
34 auto rotation = P_orientation->transformationMatrix();
42 std::unique_ptr<ILatticeOrientation> P_orientation(orientation.clone());
43 P_orientation->usePrimitiveLattice(prim_tetragonal);
44 auto rotation = P_orientation->transformationMatrix();
Defines interface ILatticeOrientation and subclasses.
Defines factory functions for different types of lattices and orientations.
A lattice with three basis vectors.
static Lattice createHCPLattice(double a, double c)
TODO: Clarify how this is meant: HCP is not a Bravais lattice.
static Lattice createBCTLattice(double a, double c)
Returns a body-centered cubic (cI) lattice with edge length a.
Lattice createTransformedLattice(const Transform3D &transform) const
Creates transformed lattice.
static Lattice createTetragonalLattice(double a, double c)
Returns a primitive tetragonal (tP) lattice with square base edge a and height c.
static Lattice createFCCLattice(double a)
Returns a face-centered cubic (cF) lattice with edge length a.
static Lattice createHexagonalLattice(double a, double c)
Returns a primitive hexagonal (hP) lattice with hexagonal edge a and height c.
static Lattice createCubicLattice(double a)
Returns a primitive cubic (cP) lattice with edge length a.