CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <SymBasisPermute.hh>
SymBasisPermute describes how a symmetry operation permutes atoms in a basis.
Definition at line 53 of file SymBasisPermute.hh.
Public Types | |
typedef Index | size_type |
Public Member Functions | |
SymBasisPermute (SymOp const &_op, Lattice const &_lat, std::vector< UnitCellCoord > const &_ucc_permute) | |
Construct SymBasisPermute. 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 * | 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... | |
virtual double | character () const |
Calculates character of the representation (if well-defined) More... | |
virtual Permutation const * | permutation () const |
virtual Eigen::MatrixXd const * | MatrixXd () const |
std::unique_ptr< SymOpRepresentation > | inverse () const |
SymOpRepresentation const & | representation (SymGroupRepID _rep_ID) 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 |
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 | master_group_index () const |
Index of this operation within the master_group. More... | |
SymGroupRepID | rep_ID () const |
Index | ind_inverse () const |
Index | ind_prod (const SymOpRepresentation &RHS) const |
Protected Member Functions | |
virtual SymOpRepresentation * | inverse_impl () const |
virtual void | _set_integral_tau () |
Protected Attributes | |
MasterSymGroup const * | m_master_group |
Pointer to the MasterSymGroup where prototype of this SymOp lives. More... | |
SymGroupRepID | m_rep_ID |
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 63 of file SymBasisPermute.hh.
CASM::SymBasisPermute::SymBasisPermute | ( | SymOp const & | _op, |
Lattice const & | _lat, | ||
std::vector< UnitCellCoord > const & | _ucc_permute | ||
) |
Construct SymBasisPermute.
Definition at line 13 of file SymBasisPermute.cc.
|
inlineprotectedvirtualinherited |
Reimplemented in CASM::SymOp.
Definition at line 130 of file SymOpRepresentation.hh.
|
inline |
Return UnitCellCoord that (b,0,0,0) transforms to.
Definition at line 81 of file SymBasisPermute.hh.
|
inlinevirtualinherited |
Calculates character of the representation (if well-defined)
Reimplemented in CASM::SymPermutation, CASM::SymOp, and CASM::SymMatrixXd.
Definition at line 47 of file SymOpRepresentation.hh.
|
inlineoverridevirtual |
Return pointer to a copy of this SymBasisPermute.
Implements CASM::SymOpRepresentation.
Definition at line 70 of file SymBasisPermute.hh.
|
inline |
Get underlying data (data()[b] is the result of transforming (b,0,0,0))
Definition at line 87 of file SymBasisPermute.hh.
|
inherited |
get pointer to BasisPermute representation corresponding to _rep_ID
Definition at line 36 of file SymOpRepresentation.cc.
|
inherited |
get pointer to matrix representation corresponding to rep_ID
Definition at line 28 of file SymOpRepresentation.cc.
|
inherited |
get array of pointers to matrix representations for representations corresponding to _rep_IDs
Definition at line 51 of file SymOpRepresentation.cc.
|
inherited |
get pointer to permutation representation corresponding to _rep_ID
Definition at line 43 of file SymOpRepresentation.cc.
|
inlineinherited |
check if this representation is registered with a MasterSymGroup
Definition at line 91 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 101 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 110 of file SymOpRepresentation.cc.
|
inlineinherited |
Index of this operation within the master_group (equivalent to master_group_index)
Definition at line 97 of file SymOpRepresentation.hh.
|
inlineinherited |
Definition at line 93 of file SymOpRepresentation.hh.
|
inherited |
Definition at line 12 of file SymOpRepresentation.cc.
|
inlineprotectedvirtualinherited |
Reimplemented in CASM::SymPermutation.
Definition at line 124 of file SymOpRepresentation.hh.
|
inlineinherited |
const access of head group
Definition at line 85 of file SymOpRepresentation.hh.
|
inlineinherited |
Index of this operation within the master_group.
Definition at line 100 of file SymOpRepresentation.hh.
|
inline |
Get underlying integer transformation amtrix.
Definition at line 90 of file SymBasisPermute.hh.
|
inlinevirtualinherited |
Reimplemented in CASM::SymPermutation, and CASM::SymMatrixXd.
Definition at line 51 of file SymOpRepresentation.hh.
|
inline |
Return UnitCellCoord that (b,0,0,0) transforms to.
Definition at line 78 of file SymBasisPermute.hh.
|
inlinevirtualinherited |
Reimplemented in CASM::SymPermutation.
Definition at line 49 of file SymOpRepresentation.hh.
|
inlineinherited |
ID of representation that this operation belongs to within the master_group
Definition at line 104 of file SymOpRepresentation.hh.
|
inherited |
Definition at line 21 of file SymOpRepresentation.cc.
|
inherited |
Change m_master_group and determine op_index.
Definition at line 69 of file SymOpRepresentation.cc.
|
inherited |
Set m_master_group, _rep_ID, and op_index.
Definition at line 89 of file SymOpRepresentation.cc.
|
inherited |
set representation for SymOp corresponding to _rep_ID
Definition at line 61 of file SymOpRepresentation.cc.
|
inline |
Return number of basis sites.
Definition at line 75 of file SymBasisPermute.hh.
|
inlineoverridevirtual |
Get this from a SymOp.
Reimplemented from CASM::SymOpRepresentation.
Definition at line 84 of file SymBasisPermute.hh.
|
protectedinherited |
Pointer to the MasterSymGroup where prototype of this SymOp lives.
Definition at line 133 of file SymOpRepresentation.hh.
|
protectedinherited |
Index into MasterSymGroup that specifies the operation.
Definition at line 140 of file SymOpRepresentation.hh.
|
private |
Transform fractional coordinates, integer version of SymOp::matrix()
Definition at line 60 of file SymBasisPermute.hh.
|
protectedinherited |
ID of this representation within the master_group. Default is uninitialized.
Definition at line 137 of file SymOpRepresentation.hh.
|
private |
vector 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 57 of file SymBasisPermute.hh.