CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::SupercellCanonicalForm< Base > Class Template Reference

#include <HasCanonicalForm.hh>

+ Inheritance diagram for CASM::SupercellCanonicalForm< Base >:

Detailed Description

template<typename Base>
class CASM::SupercellCanonicalForm< Base >

Supercell canonical form finding is a special case that returns references to Supercell in the Database<Supercell>

Definition at line 200 of file HasCanonicalForm.hh.

Public Member Functions

 SupercellCanonicalForm ()
 
bool is_canonical () const
 True if lattice().is_canonical(g), where g is the prim().point_group() More...
 
SymOp to_canonical () const
 
SymOp from_canonical () const
 The inverse of to_canonical() More...
 
xtal::Lattice canonical_lattice () const
 Return canonical equivalent lattice. More...
 
const Supercellcanonical_form () const
 Return canonical equivalent Supercell. More...
 
template<typename PermuteIteratorIt >
std::vector< PermuteIteratorinvariant_subgroup (const Supercell &scel_B, PermuteIteratorIt begin, PermuteIteratorIt end)
 Construct the subgroup of permutations that leaves a Supercell unchanged. More...
 

Private Attributes

const Supercellm_canonical
 Store a pointer to the canonical equivalent Supercell. More...
 

Constructor & Destructor Documentation

◆ SupercellCanonicalForm()

template<typename Base >
CASM::SupercellCanonicalForm< Base >::SupercellCanonicalForm ( )
inline

Definition at line 204 of file HasCanonicalForm.hh.

Member Function Documentation

◆ canonical_form()

template<typename Base >
const Supercell & CASM::SupercellCanonicalForm< Base >::canonical_form

Return canonical equivalent Supercell.

  • Will be inserted in Database if necessary

Definition at line 353 of file HasCanonicalForm_impl.hh.

◆ canonical_lattice()

template<typename Base >
Lattice CASM::SupercellCanonicalForm< Base >::canonical_lattice

Return canonical equivalent lattice.

Definition at line 346 of file HasCanonicalForm_impl.hh.

◆ from_canonical()

template<typename Base >
SymOp CASM::SupercellCanonicalForm< Base >::from_canonical

The inverse of to_canonical()

Definition at line 341 of file HasCanonicalForm_impl.hh.

◆ invariant_subgroup()

template<typename Base >
template<typename PermuteIteratorIt >
std::vector< PermuteIterator > CASM::SupercellCanonicalForm< Base >::invariant_subgroup ( const Supercell scel_B,
PermuteIteratorIt  begin,
PermuteIteratorIt  end 
)

Construct the subgroup of permutations that leaves a Supercell unchanged.

Parameters
scel_BSupercell associated with the supergroup [begin, end)
begin,endRange of PermuteIterator describing the supergroup
  • 'this' Supercell should be a supercell of (or the same as) scel_B

Definition at line 369 of file HasCanonicalForm_impl.hh.

◆ is_canonical()

template<typename Base >
bool CASM::SupercellCanonicalForm< Base >::is_canonical

True if lattice().is_canonical(g), where g is the prim().point_group()

Definition at line 328 of file HasCanonicalForm_impl.hh.

◆ to_canonical()

template<typename Base >
SymOp CASM::SupercellCanonicalForm< Base >::to_canonical

The first SymOp in the derived().prim().point_group() for which: derived().lattice().is_equivalent(op, canonical_form().lattice())) == true,

Definition at line 334 of file HasCanonicalForm_impl.hh.

Member Data Documentation

◆ m_canonical

template<typename Base >
const Supercell* CASM::SupercellCanonicalForm< Base >::m_canonical
mutableprivate

Store a pointer to the canonical equivalent Supercell.

Definition at line 234 of file HasCanonicalForm.hh.


The documentation for this class was generated from the following files: