CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::MasterSymGroup Class Reference

#include <SymGroup.hh>

+ Inheritance diagram for CASM::MasterSymGroup:

Detailed Description

Definition at line 283 of file SymGroup.hh.

Public Types

typedef SymOp::vector_type vector_type
 
typedef SymOp::matrix_type matrix_type
 

Public Member Functions

 MasterSymGroup (PERIODICITY_TYPE init_type=PERIODIC)
 
 MasterSymGroup (const MasterSymGroup &RHS)
 
 ~MasterSymGroup ()
 
Index group_index () const
 
MasterSymGroupoperator= (const MasterSymGroup &RHS)
 
void is_temporary_of (MasterSymGroup const &RHS)
 
void push_back (const SymOp &op)
 
void clear ()
 
void sort ()
 Sort SymOp in the SymGroup. More...
 
const SymGrouppoint_group () const
 
SymGroupRep const & representation (SymGroupRepID i) const
 Const access of alternate Representations of a SymGroup. More...
 
SymGroupRep const & reg_rep () const
 
SymGroupRep const & coord_rep () const
 
void set_rep (SymGroupRepID _rep_ID, SymOpRepresentation const &_op_rep, Index op_index) const
 
SymGroupRepID add_representation (const SymGroupRep &new_rep) const
 
SymGroupRepID allocate_representation () const
 Add a new empty representation. More...
 
SymGroupRepID reg_rep_ID () const
 
SymGroupRepID coord_rep_ID () const
 
SymGroupRepID identity_rep_ID (Index dim) const
 
SymGroupRepID add_kronecker_rep (SymGroupRepID ID1, SymGroupRepID ID2) const
 
SymGroupRepID add_direct_sum_rep (const std::vector< SymGroupRepID > &rep_IDs) const
 
SymGroupRepID add_transformed_rep (SymGroupRepID orig_ID, const Eigen::MatrixXd &trans_mat) const
 
SymGroupRepID add_rotation_rep () const
 
virtual void clear_tables ()
 
void set_lattice (const Lattice &new_lat)
 Lattice used for periodic comparisons (for instance, to generate multiplcation table) More...
 
const Latticelattice () const
 Lattice used for periodic comparisons (for instance, to generate multiplcation table) More...
 
const MasterSymGroupmaster_group () const
 
std::vector< Indexop_indices () const
 
std::vector< Indexmaster_group_indices () const
 Return the MasterSymGroup indices of the operations in this SymGroup. More...
 
bool contains_periodic (const SymOp &test_op, double tol=TOL) const
 Check to see if a SymOp is contained in in SymGroup. More...
 
Index find_no_trans (const SymOp &test_op) const
 Check to see if a SymOp is contained in in SymGroup and return its index. More...
 
Index find_periodic (const SymOp &test_op, double tol=TOL) const
 
std::vector< Indexfind_all_periodic (const std::vector< SymOp > &subgroup, double tol=TOL) const
 
SymGroup get_union (const SymGroup &other_group) const
 Adds SymOps from 'other_group' and enforces the group property. More...
 
SymGroupapply_sym (const SymOp &op)
 Calls 'apply_sym' on all SymOps in the group. More...
 
Index ind_prod (Index i, Index j) const
 Get index of operation that is result of multiplication of at(i)*at(j) More...
 
Index ind_inverse (Index i) const
 Get index of operation that is inverse of operation at(i) More...
 
Index class_of_op (Index i) const
 Get conjugacy class index of operation at(i) More...
 
void set_irrep_ID (Index i, SymGroupRepID ID) const
 set symrep ID of a particular irrep More...
 
SymGroupRepID get_irrep_ID (Index i) const
 Get symrep ID of a particular irrep. More...
 
SymGroupRep const & get_irrep (Index i) const
 Get symrep for a particular irrep. More...
 
void calc_space_group_in_cell (SymGroup &space_group, const Lattice &_cell) const
 
void calc_space_group_in_range (SymGroup &space_group, const Lattice &_cell, Eigen::Vector3i min_trans, Eigen::Vector3i max_trans) const
 
bool is_group (double tol=TOL) const
 Check to see if SymGroup satisfies the group property. More...
 
void enforce_group (double tol=TOL, Index max_size=200)
 Enforce group property by adding products of operations to the group. More...
 
void print_locations (std::ostream &stream) const
 print locations of the symmetry-generating element of each SymOp More...
 
void write (std::string filename, COORD_TYPE mode) const
 Write the SymGroup to a file. More...
 
void print (std::ostream &out, COORD_TYPE mode) const
 Print the SymGroup to a stream. More...
 
SymGroupoperator+= (const Eigen::Ref< const SymOp::vector_type > &shift)
 Cartesian translation of SymGroup origin by vector 'shift'. More...
 
SymGroupoperator-= (const Eigen::Ref< const SymOp::vector_type > &shift)
 
double max_error ()
 This returns the group's max_error. More...
 
std::vector< std::vector< Index > > left_cosets (const std::vector< SymOp > &subgroup, double tol=TOL) const
 
template<typename IterType >
std::vector< std::vector< Index > > left_cosets (IterType const &begin, IterType const &end) const
 
const std::vector< std::vector< Index > > & get_multi_table () const
 
const std::vector< std::vector< Index > > & get_alt_multi_table () const
 
void invalidate_multi_tables () const
 
const std::vector< std::vector< Index > > & get_conjugacy_classes () const
 
const std::string & get_name () const
 
const std::string & get_latex_name () const
 
PERIODICITY_TYPE periodicity () const
 
std::string possible_space_groups () const
 
const std::vector< std::set< std::set< Index > > > & subgroups () const
 
bool is_irreducible () const
 
std::vector< SymGroupunique_subgroups () const
 
SymGroup copy_no_trans (bool keep_repeated=false) const
 Fill up a SymGroup with *this minus the shifts. More...
 
SymInfo info (Index i) const
 
std::vector< std::set< std::set< Index > > > small_subgroups () const
 

Static Public Member Functions

static SymGroup lattice_point_group (Lattice const &_lat)
 

Protected Member Functions

void _generate_conjugacy_classes () const
 
void _generate_centralizers () const
 
void _generate_elem_order_table () const
 
void _generate_class_names () const
 
bool _generate_multi_table () const
 
void _generate_alt_multi_table () const
 
void _generate_subgroups () const
 
std::vector< std::set< std::set< Index > > > _small_subgroups () const
 

Protected Attributes

Lattice const * m_lat_ptr
 Pointer to a lattice for doing periodic comparisons. More...
 
PERIODICITY_TYPE m_group_periodicity
 Specifies whether to use lattice periodicity when testing for equivalence. More...
 
multivector< Index >::X< 2 > multi_table
 multi_table[i][j] gives index of operation that is result of at(i)*at(j) More...
 
multivector< Index >::X< 2 > alt_multi_table
 
std::vector< std::vector< Index > > conjugacy_classes
 
std::vector< std::string > class_names
 
std::vector< Indexindex2conjugacy_class
 
std::vector< SymGroupRepIDirrep_IDs
 
std::vector< std::set< std::set< Index > > > m_subgroups
 
multivector< Index >::X< 2 > centralizer_table
 
multivector< Index >::X< 2 > elem_order_table
 
std::string name
 
std::string latex_name
 
std::string comment
 
double m_max_error
 

Private Member Functions

SymGroupRep_representation_ptr (SymGroupRepID _id) const
 
SymGroupRepID _add_reg_rep () const
 
SymGroupRepID _add_coord_rep () const
 
SymGroupRepID _add_representation (SymGroupRep *_rep_ptr) const
 

Private Attributes

Index m_group_index
 
std::vector< SymGroupRep * > m_rep_array
 
SymGroupRepID m_coord_rep_ID
 ID of Cartesian representation. More...
 
SymGroupRepID m_reg_rep_ID
 
std::vector< SymGroupRepIDm_identity_rep_IDs
 
SymGroup m_point_group
 Copy of *this with translations removed. More...
 

Static Private Attributes

static Index GROUP_COUNT
 

Member Typedef Documentation

◆ matrix_type

Definition at line 45 of file SymGroup.hh.

◆ vector_type

Definition at line 44 of file SymGroup.hh.

Constructor & Destructor Documentation

◆ MasterSymGroup() [1/2]

CASM::MasterSymGroup::MasterSymGroup ( PERIODICITY_TYPE  init_type = PERIODIC)
inline

Definition at line 294 of file SymGroup.hh.

◆ MasterSymGroup() [2/2]

CASM::MasterSymGroup::MasterSymGroup ( const MasterSymGroup RHS)

Definition at line 362 of file SymGroup.cc.

◆ ~MasterSymGroup()

CASM::MasterSymGroup::~MasterSymGroup ( )

Definition at line 379 of file SymGroup.cc.

Member Function Documentation

◆ _add_coord_rep()

SymGroupRepID CASM::MasterSymGroup::_add_coord_rep ( ) const
private

Definition at line 494 of file SymGroup.cc.

◆ _add_reg_rep()

SymGroupRepID CASM::MasterSymGroup::_add_reg_rep ( ) const
private

Definition at line 504 of file SymGroup.cc.

◆ _add_representation()

SymGroupRepID CASM::MasterSymGroup::_add_representation ( SymGroupRep _rep_ptr) const
private

Add a new representation by passing a pointer to SymGroupRep allocated via 'new'. MasterSymGroup will store the pointer, so don't delete it after calling

Definition at line 709 of file SymGroup.cc.

◆ _generate_alt_multi_table()

void CASM::SymGroup::_generate_alt_multi_table ( ) const
protectedinherited

Definition at line 1746 of file SymGroup.cc.

◆ _generate_centralizers()

void CASM::SymGroup::_generate_centralizers ( ) const
protectedinherited

The centralizer of a subset S of a group G is the set of elements of G that commute with each element of S. The centralizer is a subgroup of G.

In our specific case, the subsets are the conjugacy classes, so we fill the centralizer_table with subgroups of G that commute with the corresponding conjugacy class.qq

Definition at line 1227 of file SymGroup.cc.

◆ _generate_class_names()

void CASM::SymGroup::_generate_class_names ( ) const
protectedinherited

This will name your conjugacy classes according to some crazy convention, which is similar, but not exactly identical to the Schoenflies notation.

We start by finding the principal axes. Often, there will only be one. However, in cases like fcc, there can be several. All rotations that are about the principal axis will be named "XCn" if they are proper and "XSn" if they are improper. Here, X is the size of their conjugacy class, and n is the foldedness of the rotation, i.e. 60 degree rotations are 6-fold, while 120 degree rotations are 3-fold.

Definition at line 972 of file SymGroup.cc.

◆ _generate_conjugacy_classes()

void CASM::SymGroup::_generate_conjugacy_classes ( ) const
protectedinherited

The number of irreducible representations is equal to the number of conjugacy classes.

The number of elements in each conjugacy class must be a divisor of the number of symmetry group operations.

Definition at line 1487 of file SymGroup.cc.

◆ _generate_elem_order_table()

void CASM::SymGroup::_generate_elem_order_table ( ) const
protectedinherited

Definition at line 1253 of file SymGroup.cc.

◆ _generate_multi_table()

bool CASM::SymGroup::_generate_multi_table ( ) const
protectedinherited

Definition at line 1702 of file SymGroup.cc.

◆ _generate_subgroups()

void CASM::SymGroup::_generate_subgroups ( ) const
protectedinherited

Definition at line 1337 of file SymGroup.cc.

◆ _representation_ptr()

SymGroupRep * CASM::MasterSymGroup::_representation_ptr ( SymGroupRepID  _id) const
private

Definition at line 721 of file SymGroup.cc.

◆ _small_subgroups()

std::vector< std::set< std::set< Index > > > CASM::SymGroup::_small_subgroups ( ) const
protectedinherited

Definition at line 1281 of file SymGroup.cc.

◆ add_direct_sum_rep()

SymGroupRepID CASM::MasterSymGroup::add_direct_sum_rep ( const std::vector< SymGroupRepID > &  rep_IDs) const

Definition at line 553 of file SymGroup.cc.

◆ add_kronecker_rep()

SymGroupRepID CASM::MasterSymGroup::add_kronecker_rep ( SymGroupRepID  ID1,
SymGroupRepID  ID2 
) const

Definition at line 530 of file SymGroup.cc.

◆ add_representation()

SymGroupRepID CASM::MasterSymGroup::add_representation ( const SymGroupRep new_rep) const

Add a new representation by passing a reference. SymGroup will store a copy

Definition at line 702 of file SymGroup.cc.

◆ add_rotation_rep()

SymGroupRepID CASM::MasterSymGroup::add_rotation_rep ( ) const

Definition at line 586 of file SymGroup.cc.

◆ add_transformed_rep()

SymGroupRepID CASM::MasterSymGroup::add_transformed_rep ( SymGroupRepID  orig_ID,
const Eigen::MatrixXd &  trans_mat 
) const

Definition at line 685 of file SymGroup.cc.

◆ allocate_representation()

SymGroupRepID CASM::MasterSymGroup::allocate_representation ( ) const

Add a new empty representation.

Definition at line 694 of file SymGroup.cc.

◆ apply_sym()

SymGroup & CASM::SymGroup::apply_sym ( const SymOp op)
inherited

Calls 'apply_sym' on all SymOps in the group.

Definition at line 1867 of file SymGroup.cc.

◆ calc_space_group_in_cell()

void CASM::SymGroup::calc_space_group_in_cell ( SymGroup space_group,
const Lattice _cell 
) const
inherited

Gets all the space group operations in unit cell and stores them in space_group assuming that this SymGroup contains the factor group

Definition at line 1889 of file SymGroup.cc.

◆ calc_space_group_in_range()

void CASM::SymGroup::calc_space_group_in_range ( SymGroup space_group,
const Lattice _cell,
Eigen::Vector3i  min_trans,
Eigen::Vector3i  max_trans 
) const
inherited

gets all teh space group operations corresponding to translations in the specified range max_trans sets boundary of parillellipiped centered at origin.

Definition at line 1931 of file SymGroup.cc.

◆ class_of_op()

Index CASM::SymGroup::class_of_op ( Index  i) const
inherited

Get conjugacy class index of operation at(i)

Definition at line 1565 of file SymGroup.cc.

◆ clear()

void CASM::MasterSymGroup::clear ( )
virtual

Reset everything and delete all representations virtual in SymGroup, so this overrides

Reimplemented from CASM::SymGroup.

Definition at line 418 of file SymGroup.cc.

◆ clear_tables()

void CASM::SymGroup::clear_tables ( )
virtualinherited

Definition at line 826 of file SymGroup.cc.

◆ contains_periodic()

bool CASM::SymGroup::contains_periodic ( const SymOp test_op,
double  tol = TOL 
) const
inherited

Check to see if a SymOp is contained in in SymGroup.

Definition at line 1861 of file SymGroup.cc.

◆ coord_rep()

SymGroupRep const & CASM::MasterSymGroup::coord_rep ( ) const

Definition at line 472 of file SymGroup.cc.

◆ coord_rep_ID()

SymGroupRepID CASM::MasterSymGroup::coord_rep_ID ( ) const

Definition at line 439 of file SymGroup.cc.

◆ copy_no_trans()

SymGroup CASM::SymGroup::copy_no_trans ( bool  keep_repeated = false) const
inherited

Fill up a SymGroup with *this minus the shifts.

Definition at line 928 of file SymGroup.cc.

◆ enforce_group()

void CASM::SymGroup::enforce_group ( double  tol = TOL,
Index  max_size = 200 
)
inherited

Enforce group property by adding products of operations to the group.

Definition at line 1821 of file SymGroup.cc.

◆ find_all_periodic()

std::vector< Index > CASM::SymGroup::find_all_periodic ( const std::vector< SymOp > &  subgroup,
double  tol = TOL 
) const
inherited

Definition at line 1790 of file SymGroup.cc.

◆ find_no_trans()

Index CASM::SymGroup::find_no_trans ( const SymOp test_op) const
inherited

Check to see if a SymOp is contained in in SymGroup and return its index.

Check to see if a SymOp matrix ONLY is contained in SymGroup and return the index of this operation. This was originally written for pruning the factor groups of primitive structures to construct the factor groups of their superstructures to be consistent with the supercell lattice point groups.

Definition at line 1767 of file SymGroup.cc.

◆ find_periodic()

Index CASM::SymGroup::find_periodic ( const SymOp test_op,
double  tol = TOL 
) const
inherited

This is meant for factor groups. It will compare the Cartesian matrix of the test_op with those of the SymOps in the group. Upon a successful matrix match, it will attempt to match the shift shift vector with min_dist.

Definition at line 1779 of file SymGroup.cc.

◆ get_alt_multi_table()

const std::vector< std::vector< Index > > & CASM::SymGroup::get_alt_multi_table ( ) const
inherited

Definition at line 1644 of file SymGroup.cc.

◆ get_conjugacy_classes()

const std::vector< std::vector< Index > > & CASM::SymGroup::get_conjugacy_classes ( ) const
inherited

Definition at line 1661 of file SymGroup.cc.

◆ get_irrep()

SymGroupRep const & CASM::SymGroup::get_irrep ( Index  i) const
inherited

Get symrep for a particular irrep.

Definition at line 1614 of file SymGroup.cc.

◆ get_irrep_ID()

SymGroupRepID CASM::SymGroup::get_irrep_ID ( Index  i) const
inherited

Get symrep ID of a particular irrep.

Definition at line 1581 of file SymGroup.cc.

◆ get_latex_name()

const std::string & CASM::SymGroup::get_latex_name ( ) const
inherited

Definition at line 1687 of file SymGroup.cc.

◆ get_multi_table()

const std::vector< std::vector< Index > > & CASM::SymGroup::get_multi_table ( ) const
inherited

Definition at line 1633 of file SymGroup.cc.

◆ get_name()

const std::string & CASM::SymGroup::get_name ( ) const
inherited

Definition at line 1668 of file SymGroup.cc.

◆ get_union()

SymGroup CASM::SymGroup::get_union ( const SymGroup other_group) const
inherited

Adds SymOps from 'other_group' and enforces the group property.

◆ group_index()

Index CASM::MasterSymGroup::group_index ( ) const
inline

Definition at line 300 of file SymGroup.hh.

◆ identity_rep_ID()

SymGroupRepID CASM::MasterSymGroup::identity_rep_ID ( Index  dim) const

Definition at line 453 of file SymGroup.cc.

◆ ind_inverse()

Index CASM::SymGroup::ind_inverse ( Index  i) const
inherited

Get index of operation that is inverse of operation at(i)

Definition at line 1540 of file SymGroup.cc.

◆ ind_prod()

Index CASM::SymGroup::ind_prod ( Index  i,
Index  j 
) const
inherited

Get index of operation that is result of multiplication of at(i)*at(j)

Definition at line 1550 of file SymGroup.cc.

◆ info()

SymInfo CASM::SymGroup::info ( Index  i) const
inherited

Definition at line 942 of file SymGroup.cc.

◆ invalidate_multi_tables()

void CASM::SymGroup::invalidate_multi_tables ( ) const
inherited

Definition at line 1654 of file SymGroup.cc.

◆ is_group()

bool CASM::SymGroup::is_group ( double  tol = TOL) const
inherited

Check to see if SymGroup satisfies the group property.

Definition at line 1805 of file SymGroup.cc.

◆ is_irreducible()

bool CASM::SymGroup::is_irreducible ( ) const
inherited

Definition at line 2116 of file SymGroup.cc.

◆ is_temporary_of()

void CASM::MasterSymGroup::is_temporary_of ( MasterSymGroup const &  RHS)
inline

Notify this object that it is a temporary copy of RHS to avoid weird errors This should only be used if absolutely necessary!

Definition at line 306 of file SymGroup.hh.

◆ lattice()

const Lattice & CASM::SymGroup::lattice ( ) const
inherited

Lattice used for periodic comparisons (for instance, to generate multiplcation table)

Definition at line 950 of file SymGroup.cc.

◆ lattice_point_group()

SymGroup CASM::SymGroup::lattice_point_group ( Lattice const &  _lat)
staticinherited

Definition at line 779 of file SymGroup.cc.

◆ left_cosets()

std::vector< std::vector< Index > > CASM::SymGroup::left_cosets ( const std::vector< SymOp > &  subgroup,
double  tol = TOL 
) const
inherited

Definition at line 1625 of file SymGroup.cc.

◆ master_group()

const MasterSymGroup& CASM::SymGroup::master_group ( ) const
inlineinherited

Definition at line 73 of file SymGroup.hh.

◆ master_group_indices()

std::vector< Index > CASM::SymGroup::master_group_indices ( ) const
inherited

Return the MasterSymGroup indices of the operations in this SymGroup.

Definition at line 857 of file SymGroup.cc.

◆ max_error()

double CASM::SymGroup::max_error ( )
inherited

This returns the group's max_error.

Definition at line 946 of file SymGroup.cc.

◆ op_indices()

std::vector< Index > CASM::SymGroup::op_indices ( ) const
inherited

Return the MasterSymGroup indices of the operations in this SymGroup (equivalent to master_group_indices)

Definition at line 850 of file SymGroup.cc.

◆ operator+=()

SymGroup & CASM::SymGroup::operator+= ( const Eigen::Ref< const SymOp::vector_type > &  shift)
inherited

Cartesian translation of SymGroup origin by vector 'shift'.

Translation operators for origin shift need to be defined.

Definition at line 2132 of file SymGroup.cc.

◆ operator-=()

SymGroup & CASM::SymGroup::operator-= ( const Eigen::Ref< const SymOp::vector_type > &  shift)
inherited

Definition at line 2140 of file SymGroup.cc.

◆ operator=()

MasterSymGroup & CASM::MasterSymGroup::operator= ( const MasterSymGroup RHS)

Definition at line 385 of file SymGroup.cc.

◆ periodicity()

PERIODICITY_TYPE CASM::SymGroup::periodicity ( ) const
inlineinherited

Definition at line 191 of file SymGroup.hh.

◆ point_group()

const SymGroup & CASM::MasterSymGroup::point_group ( ) const

Definition at line 409 of file SymGroup.cc.

◆ possible_space_groups()

std::string CASM::SymGroup::possible_space_groups ( ) const
inlineinherited

Definition at line 193 of file SymGroup.hh.

◆ print()

void CASM::SymGroup::print ( std::ostream &  out,
COORD_TYPE  mode 
) const
inherited

Print the SymGroup to a stream.

Definition at line 1874 of file SymGroup.cc.

◆ print_locations()

void CASM::SymGroup::print_locations ( std::ostream &  stream) const
inherited

print locations of the symmetry-generating element of each SymOp

Definition at line 1958 of file SymGroup.cc.

◆ push_back()

void CASM::MasterSymGroup::push_back ( const SymOp op)
virtual

push_back sets home_group and op_index of added SymOp; virtual in SymGroup, so this overrides

Reimplemented from CASM::SymGroup.

Definition at line 400 of file SymGroup.cc.

◆ reg_rep()

SymGroupRep const & CASM::MasterSymGroup::reg_rep ( ) const

Definition at line 487 of file SymGroup.cc.

◆ reg_rep_ID()

SymGroupRepID CASM::MasterSymGroup::reg_rep_ID ( ) const

Definition at line 446 of file SymGroup.cc.

◆ representation()

const SymGroupRep & CASM::MasterSymGroup::representation ( SymGroupRepID  i) const

Const access of alternate Representations of a SymGroup.

Definition at line 717 of file SymGroup.cc.

◆ set_irrep_ID()

void CASM::SymGroup::set_irrep_ID ( Index  i,
SymGroupRepID  ID 
) const
inherited

set symrep ID of a particular irrep

Definition at line 1572 of file SymGroup.cc.

◆ set_lattice()

void CASM::SymGroup::set_lattice ( const Lattice new_lat)
inherited

Lattice used for periodic comparisons (for instance, to generate multiplcation table)

Definition at line 814 of file SymGroup.cc.

◆ set_rep()

void CASM::MasterSymGroup::set_rep ( SymGroupRepID  _rep_ID,
SymOpRepresentation const &  _op_rep,
Index  op_index 
) const

Definition at line 479 of file SymGroup.cc.

◆ small_subgroups()

std::vector<std::set<std::set<Index> > > CASM::SymGroup::small_subgroups ( ) const
inlineinherited

Definition at line 206 of file SymGroup.hh.

◆ sort()

void CASM::MasterSymGroup::sort ( )
virtual

Sort SymOp in the SymGroup.

  • If multiplication table can be generated:
    • Generate conjugacy classes
    • Sort SymOp in each conjugacy class
    • Sort each conjugacy class by the first SymOp in the class
  • Else:

SymOp are sorted by lexicographical comparison of: (-det, -trace, angle, axis, tau)

  • angle is positive
  • axis[0] is positive

Reimplemented from CASM::SymGroup.

Definition at line 737 of file SymGroup.cc.

◆ subgroups()

const std::vector< std::set< std::set< Index > > > & CASM::SymGroup::subgroups ( ) const
inherited

Definition at line 1695 of file SymGroup.cc.

◆ unique_subgroups()

std::vector< SymGroup > CASM::SymGroup::unique_subgroups ( ) const
inherited

Definition at line 1403 of file SymGroup.cc.

◆ write()

void CASM::SymGroup::write ( std::string  filename,
COORD_TYPE  mode 
) const
inherited

Write the SymGroup to a file.

Member Data Documentation

◆ alt_multi_table

multivector<Index>::X<2> CASM::SymGroup::alt_multi_table
mutableprotectedinherited

alt_multi_table[i][j] gives index of operation that is result of at(i).inverse()*at(j)

Definition at line 236 of file SymGroup.hh.

◆ centralizer_table

multivector<Index>::X<2> CASM::SymGroup::centralizer_table
mutableprotectedinherited

Definition at line 251 of file SymGroup.hh.

◆ class_names

std::vector<std::string> CASM::SymGroup::class_names
mutableprotectedinherited

Definition at line 241 of file SymGroup.hh.

◆ comment

std::string CASM::SymGroup::comment
mutableprotectedinherited

Definition at line 256 of file SymGroup.hh.

◆ conjugacy_classes

std::vector<std::vector<Index> > CASM::SymGroup::conjugacy_classes
mutableprotectedinherited

Definition at line 240 of file SymGroup.hh.

◆ elem_order_table

multivector<Index>::X<2> CASM::SymGroup::elem_order_table
mutableprotectedinherited

Definition at line 252 of file SymGroup.hh.

◆ GROUP_COUNT

Index CASM::MasterSymGroup::GROUP_COUNT
staticprivate

Counts number of instantiated MasterSymGroups, excluding ones created via copy

Definition at line 363 of file SymGroup.hh.

◆ index2conjugacy_class

std::vector<Index> CASM::SymGroup::index2conjugacy_class
mutableprotectedinherited

Definition at line 242 of file SymGroup.hh.

◆ irrep_IDs

std::vector<SymGroupRepID> CASM::SymGroup::irrep_IDs
mutableprotectedinherited

Definition at line 245 of file SymGroup.hh.

◆ latex_name

std::string CASM::SymGroup::latex_name
mutableprotectedinherited

Definition at line 255 of file SymGroup.hh.

◆ m_coord_rep_ID

SymGroupRepID CASM::MasterSymGroup::m_coord_rep_ID
mutableprivate

ID of Cartesian representation.

Definition at line 374 of file SymGroup.hh.

◆ m_group_index

Index CASM::MasterSymGroup::m_group_index
private

Index of this group, initialized from value of GROUP_COUNT upon construction

Definition at line 367 of file SymGroup.hh.

◆ m_group_periodicity

PERIODICITY_TYPE CASM::SymGroup::m_group_periodicity
protectedinherited

Specifies whether to use lattice periodicity when testing for equivalence.

Definition at line 229 of file SymGroup.hh.

◆ m_identity_rep_IDs

std::vector<SymGroupRepID> CASM::MasterSymGroup::m_identity_rep_IDs
mutableprivate

identity representations: m_identity_rep_IDs[dim] refers to the Identity representation of dimention 'dim'

Definition at line 382 of file SymGroup.hh.

◆ m_lat_ptr

Lattice const* CASM::SymGroup::m_lat_ptr
protectedinherited

Pointer to a lattice for doing periodic comparisons.

Definition at line 226 of file SymGroup.hh.

◆ m_max_error

double CASM::SymGroup::m_max_error
mutableprotectedinherited

Definition at line 258 of file SymGroup.hh.

◆ m_point_group

SymGroup CASM::MasterSymGroup::m_point_group
mutableprivate

Copy of *this with translations removed.

Definition at line 385 of file SymGroup.hh.

◆ m_reg_rep_ID

SymGroupRepID CASM::MasterSymGroup::m_reg_rep_ID
mutableprivate

ID of 'regular representation', which is (size() X size()) representation constructed from alt_multi_table()

Definition at line 378 of file SymGroup.hh.

◆ m_rep_array

std::vector<SymGroupRep *> CASM::MasterSymGroup::m_rep_array
mutableprivate

Collection of alternate representations of this symmetry group Stored as pointers to avoid weird behavior with resizing

Definition at line 371 of file SymGroup.hh.

◆ m_subgroups

std::vector<std::set<std::set<Index> > > CASM::SymGroup::m_subgroups
mutableprotectedinherited

Definition at line 249 of file SymGroup.hh.

◆ multi_table

multivector<Index>::X<2> CASM::SymGroup::multi_table
mutableprotectedinherited

multi_table[i][j] gives index of operation that is result of at(i)*at(j)

Definition at line 232 of file SymGroup.hh.

◆ name

std::string CASM::SymGroup::name
mutableprotectedinherited

Definition at line 254 of file SymGroup.hh.


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