CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <VectorSymCompare.hh>
Definition at line 187 of file VectorSymCompare.hh.
Public Types | |
using | Base = EigenSymCompare< SymCompare< CRTPBase< SubspaceSymCompare< Element, SymApply > >> > |
using | MostDerived = typename Base::MostDerived |
using | Element = typename traits< MostDerived >::Element |
using | SymApply = typename traits< MostDerived >::SymApply |
using | InvariantsType = typename traits< MostDerived >::InvariantsType |
type InvariantsType is used to screen elements for equivalence and sort orbits More... | |
Public Member Functions | |
template<typename... Args> | |
SubspaceSymCompare (Args &&... args) | |
Constructor. More... | |
double | tol () const |
Return tolerance. More... | |
Element | copy_apply (SymOp const &op, Element obj) const |
Applies SymOp to Element. More... | |
Element | spatial_prepare (Element obj) const |
Prepare an element for comparison via an isometric affine transformation. More... | |
Element | representation_prepare (Element obj) const |
Prepare an element for comparison via transformation of its internal representation. More... | |
Element | prepare (Element obj) const |
Prepare an element for comparison via representation_prepare(), followed by spatial_prepare() More... | |
bool | compare (const Element &A, const Element &B) const |
Orders 'prepared' elements. More... | |
bool | equal (const Element &A, const Element &B) const |
Check equivalence of 'prepared' elements. More... | |
InvariantsType | make_invariants (const Element &element) const |
Make orbit invariants from one element in the orbit. More... | |
bool | invariants_compare (const InvariantsType &A, const InvariantsType &B) const |
Defines an order for orbits that have different invariants. More... | |
bool | invariants_equal (const InvariantsType &A, const InvariantsType &B) const |
Check equivalence of invariants. More... | |
bool | inter_orbit_compare (const Element &A, const InvariantsType &A_invariants, const Element &B, const InvariantsType &B_invariants) const |
Orders orbit prototypes, breaking invariants_compare ties. More... | |
bool | inter_orbit_equal (const Element &A, const InvariantsType &A_invariants, const Element &B, const InvariantsType &B_invariants) const |
Check equivalence of prototypes in different orbit. More... | |
std::unique_ptr< SymOpRepresentation > | canonical_transform (Element const &obj) const |
Access transform that took cluster from unprepared to prepared state. More... | |
SymOp const & | spatial_transform () const |
Access spatial transform that was used during most recent spatial preparation of an element. More... | |
Protected Member Functions | |
Element | representation_prepare_impl (Element obj) const |
Prepare an element for comparison by rotating, sorting, and changing sign of column vectors. More... | |
InvariantsType | make_invariants_impl (Element const &obj) const |
Make orbit invariants from one element in the orbit. More... | |
bool | invariants_compare_impl (InvariantsType const &A_invariants, InvariantsType const &B_invariants) const |
Orders 'prepared' elements in the same orbit. More... | |
bool | compare_impl (const Element &A, const Element &B) const |
Compares 'prepared' elements. More... | |
std::unique_ptr< SymOpRepresentation > | canonical_transform_impl (Element const &obj) const |
Returns transformation that takes 'obj' to its prepared (canonical) form. More... | |
Element | copy_apply_impl (SymOp const &op, Element obj) const |
Element | spatial_prepare_impl (Element obj) const |
Spatial prepare does not apply – element is returned unchanged. More... | |
SymOp const & | spatial_transform_impl () const |
Spatial prepare does not apply – transform is always identity. More... | |
bool | inter_orbit_compare_impl (const Element &A, const InvariantsType &A_invariants, const Element &B, const InvariantsType &B_invariants) const |
Orders orbit prototypes, breaking invariants_compare ties. More... | |
Protected Attributes | |
friend | _Base |
Private Attributes | |
double | m_tol |
SymApply | m_apply |
SymOp | m_spatial_transform |
Friends | |
class | EigenSymCompare< SymCompare< CRTPBase< SubspaceSymCompare< Element, SymApply > > > > |
class | SymCompare< CRTPBase< SubspaceSymCompare< Element, SymApply > > > |
using CASM::SubspaceSymCompare< Element, SymApply >::Base = EigenSymCompare< SymCompare<CRTPBase<SubspaceSymCompare<Element, SymApply> >> > |
Definition at line 191 of file VectorSymCompare.hh.
|
inherited |
Definition at line 94 of file VectorSymCompare.hh.
|
inherited |
type InvariantsType
is used to screen elements for equivalence and sort orbits
Definition at line 82 of file SymCompare.hh.
|
inherited |
Definition at line 93 of file VectorSymCompare.hh.
|
inherited |
Definition at line 95 of file VectorSymCompare.hh.
|
inline |
Constructor.
tol | Tolerance for invariants_compare of site-to-site distances |
Definition at line 199 of file VectorSymCompare.hh.
|
inherited |
Access transform that took cluster from unprepared to prepared state.
Definition at line 244 of file SymCompare.hh.
|
protectedinherited |
Returns transformation that takes 'obj' to its prepared (canonical) form.
Definition at line 126 of file VectorSymCompare_impl.hh.
|
inherited |
Orders 'prepared' elements.
Definition at line 173 of file SymCompare.hh.
|
protectedinherited |
Compares 'prepared' elements.
Definition at line 121 of file VectorSymCompare_impl.hh.
|
inherited |
Applies SymOp to Element.
Applies SymOp to Element. Default performs standalone copy_apply.
Definition at line 123 of file SymCompare.hh.
|
inlineprotectedinherited |
Definition at line 129 of file VectorSymCompare.hh.
|
inherited |
Check equivalence of 'prepared' elements.
Definition at line 183 of file SymCompare.hh.
|
inherited |
Orders orbit prototypes, breaking invariants_compare ties.
Definition at line 222 of file SymCompare.hh.
|
protectedinherited |
Orders orbit prototypes, breaking invariants_compare ties.
Implementation:
Definition at line 265 of file SymCompare.hh.
|
inherited |
Check equivalence of prototypes in different orbit.
Definition at line 235 of file SymCompare.hh.
|
inherited |
Defines an order for orbits that have different invariants.
Defines an order for elements that have different invariants.
Definition at line 201 of file SymCompare.hh.
|
protectedinherited |
Orders 'prepared' elements in the same orbit.
Definition at line 117 of file VectorSymCompare_impl.hh.
|
inherited |
Check equivalence of invariants.
Definition at line 210 of file SymCompare.hh.
|
inherited |
Make orbit invariants from one element in the orbit.
Get orbit invariants from one element in the orbit.
Definition at line 189 of file SymCompare.hh.
|
protectedinherited |
Make orbit invariants from one element in the orbit.
Definition at line 114 of file VectorSymCompare_impl.hh.
|
inherited |
Prepare an element for comparison via representation_prepare(), followed by spatial_prepare()
Definition at line 163 of file SymCompare.hh.
|
inherited |
Prepare an element for comparison via transformation of its internal representation.
Definition at line 154 of file SymCompare.hh.
|
protected |
Prepare an element for comparison by rotating, sorting, and changing sign of column vectors.
Prepare an element for comparison.
Definition at line 117 of file VectorSymCompare_impl.hh.
|
inherited |
Prepare an element for comparison via an isometric affine transformation.
spatial_transform
spatial_transform
is also included in the symmetry operations stored in the Orbit equivalence_map (i.e. equivalence_map_element = spatial_transform * generating_group_op)Definition at line 142 of file SymCompare.hh.
|
protectedinherited |
Spatial prepare does not apply – element is returned unchanged.
Definition at line 134 of file VectorSymCompare_impl.hh.
|
inherited |
Access spatial transform that was used during most recent spatial preparation of an element.
Definition at line 252 of file SymCompare.hh.
|
protectedinherited |
Spatial prepare does not apply – transform is always identity.
Spatial prepare does not apply – always identity.
Definition at line 137 of file VectorSymCompare_impl.hh.
|
inherited |
Return tolerance.
Definition at line 100 of file VectorSymCompare_impl.hh.
|
friend |
Definition at line 199 of file VectorSymCompare.hh.
|
friend |
Definition at line 199 of file VectorSymCompare.hh.
|
protectedinherited |
Definition at line 103 of file VectorSymCompare.hh.
|
privateinherited |
Definition at line 142 of file VectorSymCompare.hh.
|
privateinherited |
Not applicable to VectorSymCompare – always identity
Definition at line 146 of file VectorSymCompare.hh.
|
privateinherited |
Definition at line 140 of file VectorSymCompare.hh.