CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::DoFSetInfo Struct Reference

#include <DoFSet.hh>

Detailed Description

Data structure storing the SymGroupRepID and coordinates axes for continuous vector DoF

Note:

  • This is the minimal data required for performing most crystallographic symmetry analysis

Definition at line 21 of file DoFSet.hh.

Public Member Functions

 DoFSetInfo (SymGroupRepID _id, Eigen::Ref< const Eigen::MatrixXd > const &_basis)
 
SymGroupRepID const & symrep_ID () const
 Returns SymGroupRepID of associated DoFSet. More...
 
void set_symrep_ID (SymGroupRepID _id)
 Sets SymGroupRepID. More...
 
Eigen::MatrixXd const & basis () const
 
Eigen::MatrixXd set_basis (Eigen::Ref< const Eigen::MatrixXd > const &_basis)
 
Eigen::MatrixXd const & inv_basis () const
 
Index dim () const
 Dimension of the DoFSet, equivalent to basis().cols() More...
 

Private Attributes

SymGroupRepID m_symrep_ID
 
Eigen::MatrixXd m_basis
 
Eigen::MatrixXd m_inv_basis
 

Constructor & Destructor Documentation

◆ DoFSetInfo()

CASM::DoFSetInfo::DoFSetInfo ( SymGroupRepID  _id,
Eigen::Ref< const Eigen::MatrixXd > const &  _basis 
)
inline

Construct DoFSetInfo with SymGroupRepID and DoFSet coordinate axes matrix (basis)

Parameters
_idSymGroupRepID allows lookup of the DoFSet symmetry representation that transforms DoF values.
_basisDoFSet coordinate axes. Columns are vectors in the standard vector space that specify the alignment of DoFSet components.

A particular DoFSet column-vector value, 'v', can be represented in the standard coordinate space by:

v_standard = _basis * v

Notes:

  • "_basis" is not required to be full rank. This allows DoF values to be restricted to to a subspace of the standard values.
  • Caches the pseudoinverse (which is used for symmetry analysis, among other things)

Definition at line 44 of file DoFSet.hh.

Member Function Documentation

◆ basis()

Eigen::MatrixXd const& CASM::DoFSetInfo::basis ( ) const
inline

Const reference to the DoFSet coordinate axes

A particular DoFSet column-vector value, 'v', can be represented in the standard coordinate space by:

v_standard = basis * v

Note:

  • The basis is not required to be full rank (i.e. basis.cols() < basis().rows() is valid). This allows DoF values to be restricted to to a subspace of the standard values.

Definition at line 72 of file DoFSet.hh.

◆ dim()

Index CASM::DoFSetInfo::dim ( ) const
inline

Dimension of the DoFSet, equivalent to basis().cols()

Definition at line 110 of file DoFSet.hh.

◆ inv_basis()

Eigen::MatrixXd const& CASM::DoFSetInfo::inv_basis ( ) const
inline

The pseudoinverse of DoFSet coordinate axes

The pseudoinverse is useful for transforming from standard basis to this DoFSet's basis. A standard coordinate column-vector value, 'v_standard', can be represented in this DoFSet's space by:

v = inv_basis * v_standard

Definition at line 107 of file DoFSet.hh.

◆ set_basis()

Eigen::MatrixXd CASM::DoFSetInfo::set_basis ( Eigen::Ref< const Eigen::MatrixXd > const &  _basis)
inline

Set the DoFSet coordinate axes

A particular DoFSet column-vector value, 'v', can be represented in the standard coordinate space by:

v_standard = basis * v

Note:

  • The basis is not required to be full rank (i.e. basis.cols() < basis().rows() is valid). This allows DoF values to be restricted to to a subspace of the standard values.
  • Caches the pseudoinverse (which is used for symmetry analysis, among other things)

Definition at line 88 of file DoFSet.hh.

◆ set_symrep_ID()

void CASM::DoFSetInfo::set_symrep_ID ( SymGroupRepID  _id)
inline

Sets SymGroupRepID.

Definition at line 58 of file DoFSet.hh.

◆ symrep_ID()

SymGroupRepID const& CASM::DoFSetInfo::symrep_ID ( ) const
inline

Returns SymGroupRepID of associated DoFSet.

Definition at line 55 of file DoFSet.hh.

Member Data Documentation

◆ m_basis

Eigen::MatrixXd CASM::DoFSetInfo::m_basis
private

Definition at line 114 of file DoFSet.hh.

◆ m_inv_basis

Eigen::MatrixXd CASM::DoFSetInfo::m_inv_basis
private

Definition at line 115 of file DoFSet.hh.

◆ m_symrep_ID

SymGroupRepID CASM::DoFSetInfo::m_symrep_ID
private

Definition at line 113 of file DoFSet.hh.


The documentation for this struct was generated from the following file: