CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::KroneckerSymRepBuilder< Builder1, Builder2, Dim1, Dim2 > Class Template Reference

#include <SymRepBuilder.hh>

+ Inheritance diagram for CASM::KroneckerSymRepBuilder< Builder1, Builder2, Dim1, Dim2 >:

Detailed Description

template<typename Builder1, typename Builder2, Index Dim1, Index Dim2>
class CASM::KroneckerSymRepBuilder< Builder1, Builder2, Dim1, Dim2 >

Builds symmetry representation as the Kronecker product of two other representations.

Definition at line 124 of file SymRepBuilder.hh.

Public Member Functions

 KroneckerSymRepBuilder (std::string const &_name, Builder1 _builder1=Builder1(), Builder2 _builder2=Builder2())
 
Eigen::MatrixXd symop_to_matrix (Eigen::Ref< const Eigen::Matrix3d > const &_matrix, Eigen::Ref< const Eigen::Vector3d > const &_tau, bool time_reversal, Index dim) const override
 Given the 3x3 rotation/rotoreflection matrix, translation vector 'tau', and time_reversal operator of Cartesian SymOp, constructs a dim x dim matrix representation of the symop Derived implementations may require that dim have a specific value, or fall within a range of allowed values. More...
 
std::string const & name () const
 Returns name of SymRepBuilder type. More...
 
bool time_reversal_active () const
 Returns true if symmetry representation is affected by time-reversal. More...
 
virtual Eigen::MatrixXcd symop_to_complex_matrix (Eigen::Ref< const Eigen::Matrix3d > const &_matrix, Eigen::Ref< const Eigen::Vector3d > const &_tau, bool time_reversal, Index dim) const
 Given the 3x3 rotation/rotoreflection matrix, translation vector 'tau', and time_reversal operator of Cartesian SymOp, constructs a dim x dim complexmatrix representation of the symop Derived implementations may require that dim have a specific value, or fall within a range of allowed values. More...
 
std::unique_ptr< SymRepBuilderInterfaceclone () const
 

Static Public Attributes

static const bool uses_time_reversal
 

Private Member Functions

SymRepBuilderInterface_clone () const override
 

Private Attributes

Builder1 m_builder1
 
Builder2 m_builder2
 
std::string m_name
 
bool m_time_reversal_active
 

Constructor & Destructor Documentation

◆ KroneckerSymRepBuilder()

template<typename Builder1 , typename Builder2 , Index Dim1, Index Dim2>
CASM::KroneckerSymRepBuilder< Builder1, Builder2, Dim1, Dim2 >::KroneckerSymRepBuilder ( std::string const &  _name,
Builder1  _builder1 = Builder1(),
Builder2  _builder2 = Builder2() 
)
inline

Definition at line 130 of file SymRepBuilder.hh.

Member Function Documentation

◆ _clone()

template<typename Builder1 , typename Builder2 , Index Dim1, Index Dim2>
SymRepBuilderInterface* CASM::KroneckerSymRepBuilder< Builder1, Builder2, Dim1, Dim2 >::_clone ( ) const
inlineoverrideprivatevirtual

Implements CASM::SymRepBuilderInterface.

Definition at line 150 of file SymRepBuilder.hh.

◆ clone()

std::unique_ptr<SymRepBuilderInterface> CASM::SymRepBuilderInterface::clone ( ) const
inlineinherited

Definition at line 61 of file SymRepBuilder.hh.

◆ name()

std::string const& CASM::SymRepBuilderInterface::name ( ) const
inlineinherited

Returns name of SymRepBuilder type.

Definition at line 29 of file SymRepBuilder.hh.

◆ symop_to_complex_matrix()

virtual Eigen::MatrixXcd CASM::SymRepBuilderInterface::symop_to_complex_matrix ( Eigen::Ref< const Eigen::Matrix3d > const &  _matrix,
Eigen::Ref< const Eigen::Vector3d > const &  _tau,
bool  time_reversal,
Index  dim 
) const
inlinevirtualinherited

Given the 3x3 rotation/rotoreflection matrix, translation vector 'tau', and time_reversal operator of Cartesian SymOp, constructs a dim x dim complexmatrix representation of the symop Derived implementations may require that dim have a specific value, or fall within a range of allowed values.

Definition at line 53 of file SymRepBuilder.hh.

◆ symop_to_matrix()

template<typename Builder1 , typename Builder2 , Index Dim1, Index Dim2>
Eigen::MatrixXd CASM::KroneckerSymRepBuilder< Builder1, Builder2, Dim1, Dim2 >::symop_to_matrix ( Eigen::Ref< const Eigen::Matrix3d > const &  _matrix,
Eigen::Ref< const Eigen::Vector3d > const &  _tau,
bool  time_reversal,
Index  dim 
) const
inlineoverridevirtual

Given the 3x3 rotation/rotoreflection matrix, translation vector 'tau', and time_reversal operator of Cartesian SymOp, constructs a dim x dim matrix representation of the symop Derived implementations may require that dim have a specific value, or fall within a range of allowed values.

Implements CASM::SymRepBuilderInterface.

Definition at line 137 of file SymRepBuilder.hh.

◆ time_reversal_active()

bool CASM::SymRepBuilderInterface::time_reversal_active ( ) const
inlineinherited

Returns true if symmetry representation is affected by time-reversal.

Definition at line 33 of file SymRepBuilder.hh.

Member Data Documentation

◆ m_builder1

template<typename Builder1 , typename Builder2 , Index Dim1, Index Dim2>
Builder1 CASM::KroneckerSymRepBuilder< Builder1, Builder2, Dim1, Dim2 >::m_builder1
private

Definition at line 154 of file SymRepBuilder.hh.

◆ m_builder2

template<typename Builder1 , typename Builder2 , Index Dim1, Index Dim2>
Builder2 CASM::KroneckerSymRepBuilder< Builder1, Builder2, Dim1, Dim2 >::m_builder2
private

Definition at line 155 of file SymRepBuilder.hh.

◆ m_name

std::string CASM::SymRepBuilderInterface::m_name
privateinherited

Definition at line 68 of file SymRepBuilder.hh.

◆ m_time_reversal_active

bool CASM::SymRepBuilderInterface::m_time_reversal_active
privateinherited

Definition at line 69 of file SymRepBuilder.hh.

◆ uses_time_reversal

template<typename Builder1 , typename Builder2 , Index Dim1, Index Dim2>
const bool CASM::KroneckerSymRepBuilder< Builder1, Builder2, Dim1, Dim2 >::uses_time_reversal
static
Initial value:
=
Builder1::uses_time_reversal || Builder2::uses_time_reversal

Definition at line 128 of file SymRepBuilder.hh.


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