CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::sym Namespace Reference

Functions

xtal::Coordinateapply (const xtal::SymOp &op, xtal::Coordinate &coord)
 apply SymOp to a Coordinate More...
 
xtal::Coordinate copy_apply (const xtal::SymOp &op, xtal::Coordinate coord)
 Copy and apply SymOp to a Coordinate. More...
 
template<typename ExternSymOp >
xtal::Coordinate copy_apply (const ExternSymOp &op, xtal::Coordinate coord)
 
xtal::DoFSet copy_apply (const xtal::SymOp &op, const xtal::DoFSet &_dof)
 Copy and apply SymOp to a DoFSet. More...
 
xtal::AtomPositionapply (const xtal::SymOp &op, xtal::AtomPosition &mutating_atom_pos)
 
xtal::AtomPosition copy_apply (const xtal::SymOp &op, xtal::AtomPosition atom_pos)
 
template<typename ExternSymOp >
xtal::AtomPosition copy_apply (const ExternSymOp &op, xtal::AtomPosition atom_pos)
 
xtal::Moleculeapply (const xtal::SymOp &op, xtal::Molecule &mutating_mol)
 
xtal::Molecule copy_apply (const xtal::SymOp &op, xtal::Molecule mol)
 
template<typename ExternSymOp >
xtal::Molecule copy_apply (const ExternSymOp &op, xtal::Molecule mol)
 
xtal::Siteapply (const xtal::SymOp &op, xtal::Site &mutating_site)
 Apply SymOp to a Site. Transforms the Coordinate as well as the allowed occupants (Molecules) and other degrees of freedom. More...
 
xtal::Site copy_apply (const xtal::SymOp &op, xtal::Site site)
 Copy and apply SymOp to a Site. Transforms the Coordinate as well as the allowed occupants (Molecules) and other degrees of freedom. More...
 
xtal::SpeciesAttributeapply (const xtal::SymOp &op, xtal::SpeciesAttribute &mutating_attribute)
 
xtal::SpeciesAttribute copy_apply (const xtal::SymOp &op, xtal::SpeciesAttribute attribute)
 
template<typename ExternSymOp >
xtal::SpeciesAttribute copy_apply (const ExternSymOp &op, xtal::SpeciesAttribute attribute)
 
xtal::Latticeapply (const xtal::SymOp &op, xtal::Lattice &lat)
 Apply SymOp to a Lattice. More...
 
xtal::Lattice copy_apply (const xtal::SymOp &op, xtal::Lattice lat_copy)
 Copy and apply SymOp to a Lattice. More...
 
template<typename ExternSymOp >
xtal::Lattice copy_apply (const ExternSymOp &op, const xtal::Lattice &lat)
 
SymGroup invariant_subgroup (const SymGroup &super_group, const xtal::Lattice &lat)
 Returns the subgroup of the given group that keeps the lattice invariant. More...
 
template<typename OutputIt >
OutputIt invariant_subgroup (const std::vector< SymOp > &super_group, const xtal::Lattice &lat, OutputIt result)
 
template<typename Transform , typename Object , typename... Args>
Object & apply (const Transform &transformation, Object &obj, const Args &... args)
 Apply a transformation, in place, return reference to the provided object. More...
 
template<typename Transform , typename Object , typename... Args>
Object copy_apply (const Transform &transformation, Object obj_copy, const Args &... args)
 Copy and apply a transformation, retun a new transformed copy. More...
 
template<>
IntegralClusterapply (SymOp const &op, IntegralCluster &clust, Structure const &prim)
 
template<>
xtal::UnitCellCoord copy_apply< CASM::SymOp, xtal::UnitCellCoord, xtal::Lattice, SymGroupRepID > (const CASM::SymOp &op, xtal::UnitCellCoord copied_ucc, const xtal::Lattice &prim_lattice, const SymGroupRepID &prim_symrep_ID)
 
template<>
xtal::UnitCellCoordapply< CASM::SymOp, xtal::UnitCellCoord, xtal::Lattice, SymGroupRepID > (const CASM::SymOp &op, xtal::UnitCellCoord &mutating_ucc, const xtal::Lattice &prim_lattice, const SymGroupRepID &prim_symrep_ID)
 
template<>
xtal::UnitCellCoord copy_apply< CASM::SymOp, xtal::UnitCellCoord, Structure > (const CASM::SymOp &op, xtal::UnitCellCoord copied_ucc, const Structure &prim)
 
template<>
xtal::UnitCellCoordapply< CASM::SymOp, xtal::UnitCellCoord, Structure > (const CASM::SymOp &op, xtal::UnitCellCoord &mutating_ucc, const Structure &prim)
 
template<>
xtal::Coordinateapply< CASM::SymOp, xtal::Coordinate > (const CASM::SymOp &op, xtal::Coordinate &mutating_coord)
 

Function Documentation

◆ apply() [1/6]

template<typename Transform , typename Object , typename... Args>
Object& CASM::sym::apply ( const Transform &  transformation,
Object &  obj,
const Args &...  args 
)

Apply a transformation, in place, return reference to the provided object.

◆ apply() [2/6]

xtal::Coordinate & CASM::sym::apply ( const xtal::SymOp op,
xtal::Coordinate coord 
)

apply SymOp to a Coordinate

Definition at line 347 of file Coordinate.cc.

◆ apply() [3/6]

xtal::Lattice & CASM::sym::apply ( const xtal::SymOp op,
xtal::Lattice lat 
)

Apply SymOp to a Lattice.

Definition at line 75 of file SymTools.cc.

◆ apply() [4/6]

xtal::Site & CASM::sym::apply ( const xtal::SymOp op,
xtal::Site mutating_site 
)

Apply SymOp to a Site. Transforms the Coordinate as well as the allowed occupants (Molecules) and other degrees of freedom.

Definition at line 475 of file Site.cc.

◆ apply() [5/6]

xtal::SpeciesAttribute & CASM::sym::apply ( const xtal::SymOp op,
xtal::SpeciesAttribute mutating_attribute 
)

Definition at line 20 of file SpeciesAttribute.cc.

◆ apply() [6/6]

template<>
IntegralCluster& CASM::sym::apply ( SymOp const &  op,
IntegralCluster clust,
Structure const &  prim 
)

Apply SymOp to IntegralCluster

Specialization of template from casm/symmetry/Symtools.hh: template <typename Transform, typename Object, typename... Args> Object &apply(const Transform &transformation, Object &obj, const Args &... args);

Definition at line 49 of file IntegralCluster.cc.

◆ apply< CASM::SymOp, xtal::Coordinate >()

template<>
xtal::Coordinate& CASM::sym::apply< CASM::SymOp, xtal::Coordinate > ( const CASM::SymOp op,
xtal::Coordinate mutating_coord 
)

Definition at line 92 of file SymTools.cc.

◆ apply< CASM::SymOp, xtal::UnitCellCoord, Structure >()

template<>
xtal::UnitCellCoord& CASM::sym::apply< CASM::SymOp, xtal::UnitCellCoord, Structure > ( const CASM::SymOp op,
xtal::UnitCellCoord mutating_ucc,
const Structure prim 
)

Definition at line 82 of file SymTools.cc.

◆ apply< CASM::SymOp, xtal::UnitCellCoord, xtal::Lattice, SymGroupRepID >()

template<>
xtal::UnitCellCoord& CASM::sym::apply< CASM::SymOp, xtal::UnitCellCoord, xtal::Lattice, SymGroupRepID > ( const CASM::SymOp op,
xtal::UnitCellCoord mutating_ucc,
const xtal::Lattice prim_lattice,
const SymGroupRepID prim_symrep_ID 
)

Definition at line 61 of file SymTools.cc.

◆ copy_apply() [1/9]

template<typename ExternSymOp >
xtal::Lattice CASM::sym::copy_apply ( const ExternSymOp &  op,
const xtal::Lattice lat 
)

Definition at line 24 of file SymTools.hh.

◆ copy_apply() [2/9]

template<typename ExternSymOp >
xtal::Coordinate CASM::sym::copy_apply ( const ExternSymOp &  op,
xtal::Coordinate  coord 
)

Definition at line 583 of file Coordinate.hh.

◆ copy_apply() [3/9]

template<typename ExternSymOp >
xtal::SpeciesAttribute CASM::sym::copy_apply ( const ExternSymOp &  op,
xtal::SpeciesAttribute  attribute 
)

Definition at line 71 of file SpeciesAttribute.hh.

◆ copy_apply() [4/9]

template<typename Transform , typename Object , typename... Args>
Object CASM::sym::copy_apply ( const Transform &  transformation,
Object  obj_copy,
const Args &...  args 
)

Copy and apply a transformation, retun a new transformed copy.

Definition at line 35 of file SymTools.hh.

◆ copy_apply() [5/9]

xtal::DoFSet CASM::sym::copy_apply ( const xtal::SymOp op,
const xtal::DoFSet _dof 
)

Copy and apply SymOp to a DoFSet.

Definition at line 67 of file DoFSet.cc.

◆ copy_apply() [6/9]

xtal::Coordinate CASM::sym::copy_apply ( const xtal::SymOp op,
xtal::Coordinate  coord 
)

Copy and apply SymOp to a Coordinate.

Definition at line 354 of file Coordinate.cc.

◆ copy_apply() [7/9]

xtal::Lattice CASM::sym::copy_apply ( const xtal::SymOp op,
xtal::Lattice  lat_copy 
)

Copy and apply SymOp to a Lattice.

Definition at line 80 of file SymTools.cc.

◆ copy_apply() [8/9]

xtal::Site CASM::sym::copy_apply ( const xtal::SymOp op,
xtal::Site  site 
)

Copy and apply SymOp to a Site. Transforms the Coordinate as well as the allowed occupants (Molecules) and other degrees of freedom.

Definition at line 481 of file Site.cc.

◆ copy_apply() [9/9]

xtal::SpeciesAttribute CASM::sym::copy_apply ( const xtal::SymOp op,
xtal::SpeciesAttribute  attribute 
)

Definition at line 30 of file SpeciesAttribute.cc.

◆ copy_apply< CASM::SymOp, xtal::UnitCellCoord, Structure >()

Definition at line 73 of file SymTools.cc.

◆ copy_apply< CASM::SymOp, xtal::UnitCellCoord, xtal::Lattice, SymGroupRepID >()

template<>
xtal::UnitCellCoord CASM::sym::copy_apply< CASM::SymOp, xtal::UnitCellCoord, xtal::Lattice, SymGroupRepID > ( const CASM::SymOp op,
xtal::UnitCellCoord  copied_ucc,
const xtal::Lattice prim_lattice,
const SymGroupRepID prim_symrep_ID 
)

Definition at line 42 of file SymTools.cc.

◆ invariant_subgroup() [1/2]

template<typename OutputIt >
OutputIt CASM::sym::invariant_subgroup ( const std::vector< SymOp > &  super_group,
const xtal::Lattice lat,
OutputIt  result 
)

Definition at line 11 of file SymTools_impl.hh.

◆ invariant_subgroup() [2/2]

SymGroup CASM::sym::invariant_subgroup ( const SymGroup super_group,
const xtal::Lattice lat 
)

Returns the subgroup of the given group that keeps the lattice invariant.

Definition at line 34 of file SymTools.cc.