|
CASM
AClustersApproachtoStatisticalMechanics
|
#include <SymOp.hh>
Inheritance diagram for CASM::SymOp:SymOp is the Coordinate representation of a symmetry operation it keeps fraction (FRAC) and Cartesian (CART) information about how a symetry operation transforms 3D spatial coordinates.
Public Types | |
| typedef Eigen::Matrix3d | matrix_type |
| typedef Eigen::Vector3d | vector_type |
Public Member Functions | |
| SymOp (const Eigen::Ref< const matrix_type > &_mat=matrix_type::Identity(), const Eigen::Ref< const vector_type > &_tau=vector_type::Zero(), double _map_error=TOL) | |
| SymOp (const Eigen::Ref< const matrix_type > &_mat, double _map_error) | |
| const matrix_type & | matrix () const |
| Const access of entire cartesian symmetry matrix. More... | |
| const vector_type & | tau () const |
| Const access of the cartesian translation vector, 'tau'. More... | |
| bool | is_identity () const |
| returns true if matrix part of operation is identity More... | |
| void | set_index (const MasterSymGroup &new_group, Index new_index) |
| const double & | map_error () const |
| Allows access to the map_error. More... | |
| void | set_map_error (const double &value) |
| SymOp | operator* (const SymOp &RHS) const |
| get a new SymOp that is equivalent to subsequent application of both SymOps More... | |
| SymOp & | operator+= (const Eigen::Ref< const vector_type > &RHS) |
| Cartesian translation of the origin of the symmetry operation by Coordinate RHS. More... | |
| SymOp & | operator-= (const Eigen::Ref< const vector_type > &RHS) |
| SymOp | inverse () const |
| get the inverse of this SymOp More... | |
| SymOp | no_trans () const |
| Get copy of the SymOp without translation. More... | |
| bool | operator== (const SymOp &RHS) const |
| Check equality of SymOps, (matrix and translation). Does not necessarily return true for translational equivalents. More... | |
| SymOp & | apply_sym (const SymOp &op) |
| double | character () const override |
| calculate and return character of this SymOp (neglecting tau) More... | |
| void | print (std::ostream &stream, const Eigen::Ref< const matrix_type > &c2fmat=matrix_type::Identity()) const |
| void | print_short (std::ostream &stream, const Eigen::Ref< const matrix_type > &c2fmat=matrix_type::Identity()) const |
| SymOpRepresentation * | copy () const override |
| Return pointer to a new copy of this SymOp. More... | |
| SymOp | unregistered_copy () const |
| jsonParser & | to_json (jsonParser &json) const override |
| void | from_json (const jsonParser &json) override |
| virtual Permutation const * | get_permutation () const |
| virtual Eigen::MatrixXd const * | get_MatrixXd () const |
| virtual SymBasisPermute const * | get_ucc_permutation () 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 |
Static Public Member Functions | |
| static SymOp | translation (const Eigen::Ref< const vector_type > &_tau) |
| static method to create operation that describes pure translation 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 Member Functions | |
| SymOp (const Eigen::Ref< const matrix_type > &_mat, const Eigen::Ref< const vector_type > &_tau, double _map_error, Index _op_index, MasterSymGroup const *_master_ptr) | |
Private Attributes | |
| matrix_type | m_mat |
| vector_type | m_tau |
| double | m_map_error |
| typedef Eigen::Matrix3d CASM::SymOp::matrix_type |
| typedef Eigen::Vector3d CASM::SymOp::vector_type |
|
inline |
|
inline |
|
inlineprivate |
|
inlineoverridevirtual |
calculate and return character of this SymOp (neglecting tau)
Reimplemented from CASM::SymOpRepresentation.
|
inlineoverridevirtual |
Return pointer to a new copy of this SymOp.
Implements CASM::SymOpRepresentation.
|
overridevirtual |
|
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.
|
inlinevirtualinherited |
Reimplemented in CASM::SymBasisPermute.
Definition at line 50 of file SymOpRepresentation.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.
| SymOp CASM::SymOp::inverse | ( | ) | const |
|
inline |
| const double & CASM::SymOp::map_error | ( | ) | const |
|
inlineinherited |
const access of head group
Definition at line 77 of file SymOpRepresentation.hh.
|
inline |
| SymOp CASM::SymOp::no_trans | ( | ) | const |
| SymOp & CASM::SymOp::operator+= | ( | const Eigen::Ref< const vector_type > & | RHS | ) |
Cartesian translation of the origin of the symmetry operation by Coordinate RHS.
| SymOp & CASM::SymOp::operator-= | ( | const Eigen::Ref< const vector_type > & | RHS | ) |
| bool CASM::SymOp::operator== | ( | const SymOp & | RHS | ) | const |
| void CASM::SymOp::print | ( | std::ostream & | stream, |
| const Eigen::Ref< const matrix_type > & | c2fmat = matrix_type::Identity() |
||
| ) | const |
| void CASM::SymOp::print_short | ( | std::ostream & | stream, |
| const Eigen::Ref< const matrix_type > & | c2fmat = matrix_type::Identity() |
||
| ) | const |
Prints abridged description of SymOp, including its type, angle, and eigenvector does NOT print out the entire symmetry operation matrix
| c2fmat | is a transformation matrix that can be passed to convert from Cartesian to fractional coordinates |
|
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.
| void CASM::SymOp::set_index | ( | const MasterSymGroup & | new_group, |
| Index | new_index | ||
| ) |
|
inherited |
set representation for SymOp corresponding to _rep_ID
Definition at line 39 of file SymOpRepresentation.cc.
|
inline |
|
overridevirtual |
Implements CASM::SymOpRepresentation.
|
inlinestatic |
|
private |
|
protectedinherited |
Pointer to the MasterSymGroup where prototype of this SymOp lives.
Definition at line 117 of file SymOpRepresentation.hh.
|
private |
|
protectedinherited |
Index into MasterSymGroup that specifies the operation.
Definition at line 123 of file SymOpRepresentation.hh.
|
protectedinherited |
ID of this representation within the master_group. Default is uninitialized.
Definition at line 120 of file SymOpRepresentation.hh.
|
private |