CASM
AClustersApproachtoStatisticalMechanics
|
#include <SymBasisPermute.hh>
SymBasisPermute describes how a symmetry operation permutes atoms in a basis.
Definition at line 28 of file SymBasisPermute.hh.
Public Types | |
typedef Index | size_type |
Public Member Functions | |
UnitCellCoord & | apply (UnitCellCoord &value) const |
Apply to a UnitCellCoord, in place. More... | |
UnitCellCoord | copy_apply (UnitCellCoord value) const |
Copy UnitCellCoord and apply. More... | |
SymOpRepresentation * | copy () const override |
Return pointer to a copy of this SymBasisPermute. More... | |
size_type | size () const |
Return number of basis sites. More... | |
UnitCellCoord | operator[] (Index b) const |
Return UnitCellCoord that (b,0,0,0) transforms to. More... | |
UnitCellCoord | at (Index b) const |
Return UnitCellCoord that (b,0,0,0) transforms to. More... | |
SymBasisPermute const * | get_ucc_permutation () const override |
Get this from a SymOp. More... | |
const std::vector < UnitCellCoord > & | data () const |
Get underlying data (data()[b] is the result of transforming (b,0,0,0)) More... | |
const Eigen::Matrix3l & | matrix () const |
Get underlying integer transformation amtrix. More... | |
jsonParser & | to_json (jsonParser &json) const override |
void | from_json (const jsonParser &json) override |
virtual double | character () const |
Calculates character of the representation (if well-defined) More... | |
virtual Permutation const * | get_permutation () const |
virtual Eigen::MatrixXd const * | get_MatrixXd () const |
Eigen::MatrixXd const * | get_matrix_rep (SymGroupRepID _rep_ID) const |
get pointer to matrix representation corresponding to rep_ID More... | |
Permutation const * | get_permutation_rep (SymGroupRepID _rep_ID) const |
get pointer to permutation representation corresponding to _rep_ID More... | |
SymBasisPermute const * | get_basis_permute_rep (SymGroupRepID _rep_ID) const |
get pointer to BasisPermute representation corresponding to _rep_ID More... | |
Array< Eigen::MatrixXd const * > | get_matrix_reps (Array< SymGroupRepID > _rep_IDs) const |
get array of pointers to matrix representations for representations corresponding to _rep_IDs More... | |
void | set_rep (SymGroupRepID _rep_ID, const SymOpRepresentation &op_rep) const |
set representation for SymOp corresponding to _rep_ID More... | |
void | set_identifiers (const MasterSymGroup &new_group, SymGroupRepID new_rep_ID) |
Change m_master_group and determine op_index. More... | |
void | set_identifiers (const MasterSymGroup &new_group, SymGroupRepID new_rep_ID, Index new_op_index) |
Set m_master_group, _rep_ID, and op_index. More... | |
const MasterSymGroup & | master_group () const |
const access of head group More... | |
bool | has_valid_master () const |
check if this representation is registered with a MasterSymGroup More... | |
void | invalidate_index () |
Index | index () const |
Index of this operation within the master_group. More... | |
SymGroupRepID | rep_ID () const |
ID of representation that this operation belongs to within the master_group. More... | |
Index | ind_inverse () const |
Get the operation index of the inverse of this operation, using the master_group's multiplication table. More... | |
Index | ind_prod (const SymOpRepresentation &RHS) const |
template<typename StrucType > | |
SymBasisPermute (const SymOp &op, const StrucType &struc, double tol) | |
Construct SymBasisPermute. More... | |
Protected Attributes | |
MasterSymGroup const * | m_master_group |
Pointer to the MasterSymGroup where prototype of this SymOp lives. More... | |
SymGroupRepID | m_rep_ID |
ID of this representation within the master_group. Default is uninitialized. More... | |
Index | m_op_index |
Index into MasterSymGroup that specifies the operation. More... | |
Private Attributes | |
std::vector< UnitCellCoord > | m_ucc_permute |
Eigen::Matrix3l | m_point_mat |
Transform fractional coordinates, integer version of SymOp::matrix() More... | |
Definition at line 41 of file SymBasisPermute.hh.
CASM::SymBasisPermute::SymBasisPermute | ( | const SymOp & | op, |
const StrucType & | struc, | ||
double | tol | ||
) |
Construct SymBasisPermute.
Definition at line 116 of file SymBasisPermute.hh.
|
inline |
Apply to a UnitCellCoord, in place.
Definition at line 48 of file SymBasisPermute.hh.
|
inline |
Return UnitCellCoord that (b,0,0,0) transforms to.
Definition at line 76 of file SymBasisPermute.hh.
|
inlinevirtualinherited |
Calculates character of the representation (if well-defined)
Reimplemented in CASM::SymOp, CASM::SymMatrixXd, and CASM::SymPermutation.
Definition at line 38 of file SymOpRepresentation.hh.
|
inlineoverridevirtual |
Return pointer to a copy of this SymBasisPermute.
Implements CASM::SymOpRepresentation.
Definition at line 61 of file SymBasisPermute.hh.
|
inline |
Copy UnitCellCoord and apply.
Definition at line 56 of file SymBasisPermute.hh.
|
inline |
Get underlying data (data()[b] is the result of transforming (b,0,0,0))
Definition at line 86 of file SymBasisPermute.hh.
|
inlineoverridevirtual |
Implements CASM::SymOpRepresentation.
Definition at line 98 of file SymBasisPermute.hh.
|
inherited |
get pointer to BasisPermute representation corresponding to _rep_ID
Definition at line 16 of file SymOpRepresentation.cc.
|
inherited |
get pointer to matrix representation corresponding to rep_ID
Definition at line 9 of file SymOpRepresentation.cc.
|
inherited |
get array of pointers to matrix representations for representations corresponding to _rep_IDs
Definition at line 29 of file SymOpRepresentation.cc.
|
inlinevirtualinherited |
Reimplemented in CASM::SymPermutation, and CASM::SymMatrixXd.
Definition at line 46 of file SymOpRepresentation.hh.
|
inlinevirtualinherited |
Reimplemented in CASM::SymPermutation.
Definition at line 42 of file SymOpRepresentation.hh.
|
inherited |
get pointer to permutation representation corresponding to _rep_ID
Definition at line 22 of file SymOpRepresentation.cc.
|
inlineoverridevirtual |
Get this from a SymOp.
Reimplemented from CASM::SymOpRepresentation.
Definition at line 81 of file SymBasisPermute.hh.
|
inlineinherited |
check if this representation is registered with a MasterSymGroup
Definition at line 83 of file SymOpRepresentation.hh.
|
inherited |
Get the operation index of the inverse of this operation, using the master_group's multiplication table.
Definition at line 76 of file SymOpRepresentation.cc.
|
inherited |
Get the operation index of operation that is the product of this operation and
RHS,using | the master_group's multiplication table |
Definition at line 83 of file SymOpRepresentation.cc.
|
inlineinherited |
Index of this operation within the master_group.
Definition at line 92 of file SymOpRepresentation.hh.
|
inlineinherited |
Definition at line 87 of file SymOpRepresentation.hh.
|
inlineinherited |
const access of head group
Definition at line 77 of file SymOpRepresentation.hh.
|
inline |
Get underlying integer transformation amtrix.
Definition at line 91 of file SymBasisPermute.hh.
|
inline |
Return UnitCellCoord that (b,0,0,0) transforms to.
Definition at line 71 of file SymBasisPermute.hh.
|
inlineinherited |
ID of representation that this operation belongs to within the master_group.
Definition at line 97 of file SymOpRepresentation.hh.
|
inherited |
Change m_master_group and determine op_index.
Definition at line 46 of file SymOpRepresentation.cc.
|
inherited |
Set m_master_group, _rep_ID, and op_index.
Definition at line 66 of file SymOpRepresentation.cc.
|
inherited |
set representation for SymOp corresponding to _rep_ID
Definition at line 39 of file SymOpRepresentation.cc.
|
inline |
Return number of basis sites.
Definition at line 66 of file SymBasisPermute.hh.
|
inlineoverridevirtual |
Implements CASM::SymOpRepresentation.
Definition at line 95 of file SymBasisPermute.hh.
|
protectedinherited |
Pointer to the MasterSymGroup where prototype of this SymOp lives.
Definition at line 117 of file SymOpRepresentation.hh.
|
protectedinherited |
Index into MasterSymGroup that specifies the operation.
Definition at line 123 of file SymOpRepresentation.hh.
|
private |
Transform fractional coordinates, integer version of SymOp::matrix()
Definition at line 36 of file SymBasisPermute.hh.
|
protectedinherited |
ID of this representation within the master_group. Default is uninitialized.
Definition at line 120 of file SymOpRepresentation.hh.
|
private |
Array of UnitCellCoords, of length basis.size(). Site (b,0,0,0) goes to (b_new,i,j,k)==m_ucc_permute[b] after application of symmetry.
Definition at line 33 of file SymBasisPermute.hh.