CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::xtal::DoFSet Class Reference

#include <DoFSet.hh>

+ Inheritance diagram for CASM::xtal::DoFSet:

Detailed Description

DoFSet specifies all identifying information for a vector of continuous independent variables (Degrees of Freedom / DoFs) DoFSets are associated with a specific DoF 'type', which has a predefined 'standard' coordinate system ex: displacement -> 3-vector (x,y,z) -> displacement components (relative to fixed laboratory frame) strain -> 6-vector (e_xx, e_yy, e_zz, sqrt(2)*e_yz, sqrt(2)*e_xz, sqrt(2)*e_xy) -> tensor elements DoFSets have a typename, which specifies the type, and a set of basis vectors, which are denoted relative to the DoF type's standard axes. This allows the DoFSet components to be specified by the user, including the ability to only allow DoF values within a subspace of the standard values. DoFSet records the DoF typename, the names of the vector components, and the axes of the vector components (relative to a set of standard axes)

Definition at line 29 of file DoFSet.hh.

Public Types

using BasicTraits = AnisoValTraits
 

Public Member Functions

 DoFSet (const BasicTraits &init_traits, const std::vector< std::string > &init_component_names, const Eigen::MatrixXd &init_basis)
 
 DoFSet (const BasicTraits &init_traits)
 
const std::string & type_name () const
 Returns type_name of DoFSet, which should be a standardized DoF type (e.g., "disp", "magspin", "GLstrain") More...
 
const std::vector< std::string > & component_names () const
 Returns the names of each of the component axes. More...
 
BasicTraits const & traits () const
 Returns traits object for the DoF type of this DoFSet. More...
 
Index dim () const
 
Eigen::MatrixXd const & basis () const
 Matrix that relates DoFSet variables to a conventional coordiante system. More...
 

Private Attributes

BasicTraits m_traits
 
std::vector< std::string > m_component_names
 
Eigen::MatrixXd m_basis
 

Member Typedef Documentation

◆ BasicTraits

Definition at line 31 of file DoFSet.hh.

Constructor & Destructor Documentation

◆ DoFSet() [1/2]

CASM::xtal::DoFSet::DoFSet ( const BasicTraits init_traits,
const std::vector< std::string > &  init_component_names,
const Eigen::MatrixXd &  init_basis 
)
inline

Definition at line 33 of file DoFSet.hh.

◆ DoFSet() [2/2]

CASM::xtal::DoFSet::DoFSet ( const BasicTraits init_traits)
inline

Definition at line 45 of file DoFSet.hh.

Member Function Documentation

◆ basis()

Eigen::MatrixXd const& CASM::xtal::DoFSet::basis ( ) const
inline

Matrix that relates DoFSet variables to a conventional coordiante system.

Definition at line 67 of file DoFSet.hh.

◆ component_names()

const std::vector<std::string>& CASM::xtal::DoFSet::component_names ( ) const
inline

Returns the names of each of the component axes.

Definition at line 55 of file DoFSet.hh.

◆ dim()

Index CASM::xtal::DoFSet::dim ( ) const
inline

Returns the number of dimension of the DoF, corresponding to the number of axes in the vector space

Definition at line 64 of file DoFSet.hh.

◆ traits()

BasicTraits const& CASM::xtal::DoFSet::traits ( ) const
inline

Returns traits object for the DoF type of this DoFSet.

Definition at line 60 of file DoFSet.hh.

◆ type_name()

const std::string& CASM::xtal::DoFSet::type_name ( ) const
inline

Returns type_name of DoFSet, which should be a standardized DoF type (e.g., "disp", "magspin", "GLstrain")

Definition at line 52 of file DoFSet.hh.

Member Data Documentation

◆ m_basis

Eigen::MatrixXd CASM::xtal::DoFSet::m_basis
private

The basis defines the space of the DoF, which should be a linear combination of the AnisoValTraits conventional coordinates. For example, you may want to define displacements that only happen along a particular direction

Definition at line 82 of file DoFSet.hh.

◆ m_component_names

std::vector<std::string> CASM::xtal::DoFSet::m_component_names
private

Names for each axis of the basis, for example "dx", "dy", "dz" for displacement

Definition at line 76 of file DoFSet.hh.

◆ m_traits

BasicTraits CASM::xtal::DoFSet::m_traits
private

AnisoValTraits. Describes the type of DoF, and can convert Cartesian symmetry representations into the appropriate representation

Definition at line 72 of file DoFSet.hh.


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