CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::xtal::canonical Namespace Reference

Functions

bool check (const Lattice &lat)
 
bool check (const Lattice &lat, SymOpVector const &g)
 
template<typename ExternSymOpVector >
bool check (const Lattice &lat, ExternSymOpVector const &g)
 
Lattice equivalent (Lattice const &in_lat, SymOpVector const &point_grp, double compare_tol)
 
template<typename ExternSymOpVector >
Lattice equivalent (Lattice const &in_lat, ExternSymOpVector const &point_grp, double compare_tol)
 
Lattice equivalent (const Lattice &lat, SymOpVector const &g)
 Canonical equivalent lattice, using the provided group. More...
 
template<typename ExternSymOpVector >
Lattice equivalent (Lattice const &in_lat, ExternSymOpVector const &g)
 
Lattice equivalent (const Lattice &lat)
 Canonical equivalent lattice, using this lattice's point group. More...
 
Lattice equivalent (const Lattice &lat, double compare_tol)
 
Index operation_index (const Lattice &lat, SymOpVector const &g)
 
template<typename ExternSymOpVector >
Index operation_index (const Lattice &lat, ExternSymOpVector const &g)
 
Index operation_index (Lattice const &in_lat, SymOpVector const &point_grp, double compare_tol)
 Return the index of the operation that makes the lattice canonical. More...
 
std::pair< Lattice, Index_equivalent_lattice_and_index (const Lattice &in_lat, const SymOpVector &point_grp, double compare_tol)
 

Function Documentation

◆ _equivalent_lattice_and_index()

std::pair<Lattice, Index> CASM::xtal::canonical::_equivalent_lattice_and_index ( const Lattice in_lat,
const SymOpVector point_grp,
double  compare_tol 
)

Return canonical equivalent lattice, and 'to_canonical' SymOp

The 'to_canonical' SymOp, to_canonical_op, satisfies: canonical_lat == niggli(to_canonical_op.matrix() * ref_lat.lat_column_mat()) to within the specified tolerance. where ref_lat = niggli(in_lat, compare_tol, false)

Definition at line 26 of file CanonicalForm.cc.

◆ check() [1/3]

bool CASM::xtal::canonical::check ( const Lattice lat)

True if lat_column_mat is approximately equal to the lat_column_mat of the canonical_form, using the lattice point group to find the most canonical form

Definition at line 93 of file CanonicalForm.cc.

◆ check() [2/3]

template<typename ExternSymOpVector >
bool CASM::xtal::canonical::check ( const Lattice lat,
ExternSymOpVector const &  g 
)

Definition at line 29 of file CanonicalForm.hh.

◆ check() [3/3]

bool CASM::xtal::canonical::check ( const Lattice lat,
SymOpVector const &  g 
)

True if lat_column_mat is approximately equal to the lat_column_mat of the canonical_form, using the provided symmetry operations to find the most canonical form

Definition at line 87 of file CanonicalForm.cc.

◆ equivalent() [1/6]

Lattice CASM::xtal::canonical::equivalent ( const Lattice lat)

Canonical equivalent lattice, using this lattice's point group.

Definition at line 82 of file CanonicalForm.cc.

◆ equivalent() [2/6]

Lattice CASM::xtal::canonical::equivalent ( const Lattice lat,
double  compare_tol 
)

Canonical equivalent lattice, using this lattice's point group and using specified tolerance

Definition at line 78 of file CanonicalForm.cc.

◆ equivalent() [3/6]

Lattice CASM::xtal::canonical::equivalent ( const Lattice lat,
SymOpVector const &  g 
)

Canonical equivalent lattice, using the provided group.

Definition at line 74 of file CanonicalForm.cc.

◆ equivalent() [4/6]

template<typename ExternSymOpVector >
Lattice CASM::xtal::canonical::equivalent ( Lattice const &  in_lat,
ExternSymOpVector const &  g 
)

Definition at line 57 of file CanonicalForm.hh.

◆ equivalent() [5/6]

template<typename ExternSymOpVector >
Lattice CASM::xtal::canonical::equivalent ( Lattice const &  in_lat,
ExternSymOpVector const &  point_grp,
double  compare_tol 
)

Definition at line 46 of file CanonicalForm.hh.

◆ equivalent() [6/6]

Lattice CASM::xtal::canonical::equivalent ( Lattice const &  in_lat,
SymOpVector const &  point_grp,
double  compare_tol 
)

Return a canonical Lattice by first converting the given Lattice into the standard Niggli form, followed by applying the point group of the Lattice so that the one oriented in the most standard manner is selected.

Definition at line 69 of file CanonicalForm.cc.

◆ operation_index() [1/3]

template<typename ExternSymOpVector >
Index CASM::xtal::canonical::operation_index ( const Lattice lat,
ExternSymOpVector const &  g 
)

Definition at line 80 of file CanonicalForm.hh.

◆ operation_index() [2/3]

Index CASM::xtal::canonical::operation_index ( const Lattice lat,
SymOpVector const &  g 
)

Uses provided group to find 'to_canonical' SymOp

  • Returns first SymOp for which canonical_form.is_equivalent(apply(op, *this))
  • Note that that copy_apply(this->to_canonical(), *this).is_canonical() may be false because they may be equivalent, but without identical lat_column_mat().

Definition at line 102 of file CanonicalForm.cc.

◆ operation_index() [3/3]

Index CASM::xtal::canonical::operation_index ( Lattice const &  in_lat,
SymOpVector const &  point_grp,
double  compare_tol 
)

Return the index of the operation that makes the lattice canonical.

Definition at line 97 of file CanonicalForm.cc.