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

#include <ConfigEnumSiteDoFs.hh>

+ Inheritance diagram for CASM::ConfigEnumSiteDoFs:

Detailed Description

Enumerate site (continuous local) DoFs

Note: See ConfigEnumSiteDoFsParams for method and parameter details

Definition at line 115 of file ConfigEnumSiteDoFs.hh.

Public Types

typedef InputEnumIterator< Configuration, true > iterator
 
typedef ValueType value_type
 
typedef CASM_TMP::ConstSwitch< IsConst, ValueType > & reference
 
typedef long step_type
 

Public Member Functions

 ConfigEnumSiteDoFs (ConfigEnumInput const &_in_config, ConfigEnumSiteDoFsParams const &params)
 See ConfigEnumSiteDoFsParams for method and parameter details. More...
 
 ConfigEnumSiteDoFs (ConfigEnumInput const &_init, DoFKey const &_dof, Eigen::Ref< const Eigen::MatrixXd > const &_axes, Eigen::Ref< const Eigen::VectorXd > const &min_val, Eigen::Ref< const Eigen::VectorXd > const &max_val, Eigen::Ref< const Eigen::VectorXd > const &inc_val, Index _min_nonzero, Index _max_nonzero)
 See ConfigEnumSiteDoFsParams for method and parameter details. More...
 
std::string name () const override
 Derived enumerators must implement name, via ENUM_MEMBERS. More...
 
void increment () override
 Implements increment over all strain states. More...
 
iterator begin ()
 
iterator end ()
 
reference current () const
 Access the current ObjectType by reference. More...
 
virtual std::string name () const=0
 Derived enumerators must implement name, via ENUM_MEMBERS. More...
 
virtual jsonParser source (step_type step) const
 
virtual jsonParser source (step_type step) const
 
step_type step () const
 Increments with each enumerated object. More...
 
step_type step () const
 Increments with each enumerated object. More...
 
bool valid () const
 Returns false if enumeration is complete. More...
 
bool valid () const
 Returns false if enumeration is complete. More...
 

Static Public Attributes

static const std::string enumerator_name = "ConfigEnumSiteDoFs"
 

Protected Member Functions

void _initialize (CASM_TMP::ConstSwitch< IsConst, value_type > *_initial)
 
void _initialize ()
 
void _set_current_ptr (CASM_TMP::ConstSwitch< IsConst, value_type > *_new)
 Change the pointer. More...
 
void _decrement_step ()
 Decrement current step value. More...
 
void _increment_step ()
 Increment current step value. More...
 
void _invalidate ()
 Call if enumeration complete. More...
 
void _set_step (step_type val)
 Set current step value. More...
 
void _set_step (step_type val)
 Set current step value. More...
 
void _validate ()
 Used if random access enumerator step is moved into valid range. More...
 

Private Member Functions

void _set_dof ()
 
bool _increment_combo ()
 
bool _check_sparsity () const
 
bool _check_current () const
 Returns true if current() is primitive and canonical. More...
 

Private Attributes

notstd::cloneable_ptr< Configurationm_current
 
LocalContinuousConfigDoFValuesm_dof_vals
 
DoFKey m_dof_key
 
Index m_min_nonzero
 
Index m_max_nonzero
 
Eigen::MatrixXd m_axes
 
Eigen::VectorXd m_min
 
Eigen::VectorXd m_max
 
Eigen::VectorXd m_inc
 
bool m_unit_length
 
std::vector< Indexm_sites
 
std::vector< Indexm_dof_dims
 
bool m_subset_mode
 
Index m_combo_index
 
std::vector< Indexm_combo
 
EigenCounter< Eigen::VectorXd > m_counter
 
friend InputEnumIteratorBase< ValueType, IsConst >
 
CASM_TMP::ConstSwitch< IsConst, value_type > * m_current_ptr
 
bool m_valid
 
step_type m_step
 

Member Typedef Documentation

◆ iterator

Definition at line 204 of file InputEnumerator.hh.

◆ reference

template<typename ValueType , bool IsConst = true>
typedef CASM_TMP::ConstSwitch<IsConst, ValueType>& CASM::ValEnumerator< ValueType, IsConst >::reference
inherited

Definition at line 174 of file Enumerator.hh.

◆ step_type

template<typename ValueType , bool IsConst = true>
typedef long CASM::EnumeratorBase::step_type
inherited

Definition at line 107 of file Enumerator.hh.

◆ value_type

template<typename ValueType , bool IsConst = true>
typedef ValueType CASM::ValEnumerator< ValueType, IsConst >::value_type
inherited

Definition at line 173 of file Enumerator.hh.

Constructor & Destructor Documentation

◆ ConfigEnumSiteDoFs() [1/2]

CASM::ConfigEnumSiteDoFs::ConfigEnumSiteDoFs ( ConfigEnumInput const &  _in_config,
ConfigEnumSiteDoFsParams const &  params 
)

See ConfigEnumSiteDoFsParams for method and parameter details.

Definition at line 10 of file ConfigEnumSiteDoFs.cc.

◆ ConfigEnumSiteDoFs() [2/2]

CASM::ConfigEnumSiteDoFs::ConfigEnumSiteDoFs ( ConfigEnumInput const &  _init,
DoFKey const &  _dof,
Eigen::Ref< const Eigen::MatrixXd > const &  _axes,
Eigen::Ref< const Eigen::VectorXd > const &  min_val,
Eigen::Ref< const Eigen::VectorXd > const &  max_val,
Eigen::Ref< const Eigen::VectorXd > const &  inc_val,
Index  _min_nonzero,
Index  _max_nonzero 
)

See ConfigEnumSiteDoFsParams for method and parameter details.

Definition at line 17 of file ConfigEnumSiteDoFs.cc.

Member Function Documentation

◆ _check_current()

bool CASM::ConfigEnumSiteDoFs::_check_current ( ) const
private

Returns true if current() is primitive and canonical.

Definition at line 160 of file ConfigEnumSiteDoFs.cc.

◆ _check_sparsity()

bool CASM::ConfigEnumSiteDoFs::_check_sparsity ( ) const
private

Definition at line 149 of file ConfigEnumSiteDoFs.cc.

◆ _decrement_step()

template<typename ValueType , bool IsConst = true>
void CASM::EnumeratorBase::_decrement_step
inlineprotectedinherited

Decrement current step value.

Definition at line 156 of file Enumerator.hh.

◆ _increment_combo()

bool CASM::ConfigEnumSiteDoFs::_increment_combo ( )
private

Definition at line 71 of file ConfigEnumSiteDoFs.cc.

◆ _increment_step()

template<typename ValueType , bool IsConst = true>
void CASM::EnumeratorBase::_increment_step
inlineprotectedinherited

Increment current step value.

Definition at line 153 of file Enumerator.hh.

◆ _initialize() [1/2]

template<typename ValueType , bool IsConst = true>
void CASM::EnumeratorBase::_initialize
inlineprotectedinherited

Initialize

  • Sets step to 0
  • Sets valid to true

Definition at line 144 of file Enumerator.hh.

◆ _initialize() [2/2]

template<typename ValueType , bool IsConst = true>
void CASM::ValEnumerator< ValueType, IsConst >::_initialize ( CASM_TMP::ConstSwitch< IsConst, value_type > *  _initial)
inlineprotectedinherited

Initialize

  • Sets current to point at _initial
  • Sets step to 0
  • Sets valid to true

Definition at line 197 of file Enumerator.hh.

◆ _invalidate()

template<typename ValueType , bool IsConst = true>
void CASM::EnumeratorBase::_invalidate
inlineprotectedinherited

Call if enumeration complete.

Definition at line 159 of file Enumerator.hh.

◆ _set_current_ptr()

template<typename ValueType , bool IsConst = true>
void CASM::ValEnumerator< ValueType, IsConst >::_set_current_ptr ( CASM_TMP::ConstSwitch< IsConst, value_type > *  _new)
inlineprotectedinherited

Change the pointer.

Definition at line 215 of file Enumerator.hh.

◆ _set_dof()

void CASM::ConfigEnumSiteDoFs::_set_dof ( )
private

Definition at line 102 of file ConfigEnumSiteDoFs.cc.

◆ _set_step() [1/2]

void CASM::EnumeratorBase::_set_step ( step_type  val)
inlineprotectedinherited

Set current step value.

Definition at line 150 of file Enumerator.hh.

◆ _set_step() [2/2]

template<typename ValueType , bool IsConst = true>
void CASM::EnumeratorBase::_set_step
inlineprotectedinherited

Set current step value.

Definition at line 150 of file Enumerator.hh.

◆ _validate()

void CASM::EnumeratorBase::_validate ( )
inlineprotectedinherited

Used if random access enumerator step is moved into valid range.

Definition at line 162 of file Enumerator.hh.

◆ begin()

iterator CASM::InputEnumeratorBase< Configuration , true >::begin ( )
inlineinherited

Definition at line 216 of file InputEnumerator.hh.

◆ current()

template<typename ValueType , bool IsConst = true>
reference CASM::ValEnumerator< ValueType, IsConst >::current ( ) const
inlineinherited

Access the current ObjectType by reference.

Definition at line 211 of file Enumerator.hh.

◆ end()

iterator CASM::InputEnumeratorBase< Configuration , true >::end ( )
inlineinherited

Definition at line 220 of file InputEnumerator.hh.

◆ increment()

void CASM::ConfigEnumSiteDoFs::increment ( )
overridevirtual

Implements increment over all strain states.

Implements _increment over all occupations.

Implements CASM::InputEnumeratorBase< Configuration >.

Definition at line 127 of file ConfigEnumSiteDoFs.cc.

◆ name() [1/2]

std::string CASM::ConfigEnumSiteDoFs::name ( ) const
overridevirtual

Derived enumerators must implement name, via ENUM_MEMBERS.

Implements CASM::EnumeratorBase.

Definition at line 67 of file ConfigEnumSiteDoFs.cc.

◆ name() [2/2]

template<typename ValueType , bool IsConst = true>
virtual std::string CASM::EnumeratorBase::name
inherited

Derived enumerators must implement name, via ENUM_MEMBERS.

◆ source() [1/2]

virtual jsonParser CASM::EnumeratorBase::source ( step_type  step) const
inlinevirtualinherited

Default Object source just uses step#

Returns:

{
"enumerated_by": "<enumerator_type>",
"step": <step #>
}
step_type step() const
Increments with each enumerated object.
Definition: Enumerator.hh:115

Definition at line 129 of file Enumerator.hh.

◆ source() [2/2]

template<typename ValueType , bool IsConst = true>
virtual jsonParser CASM::EnumeratorBase::source
inlineinherited

Default Object source just uses step#

Returns:

{
"enumerated_by": "<enumerator_type>",
"step": <step #>
}

Definition at line 129 of file Enumerator.hh.

◆ step() [1/2]

step_type CASM::EnumeratorBase::step ( ) const
inlineinherited

Increments with each enumerated object.

Definition at line 115 of file Enumerator.hh.

◆ step() [2/2]

template<typename ValueType , bool IsConst = true>
step_type CASM::EnumeratorBase::step
inlineinherited

Increments with each enumerated object.

Definition at line 115 of file Enumerator.hh.

◆ valid() [1/2]

bool CASM::EnumeratorBase::valid ( ) const
inlineinherited

Returns false if enumeration is complete.

Definition at line 118 of file Enumerator.hh.

◆ valid() [2/2]

template<typename ValueType , bool IsConst = true>
bool CASM::EnumeratorBase::valid
inlineinherited

Returns false if enumeration is complete.

Definition at line 118 of file Enumerator.hh.

Member Data Documentation

◆ enumerator_name

const std::string CASM::ConfigEnumSiteDoFs::enumerator_name = "ConfigEnumSiteDoFs"
static

Definition at line 133 of file ConfigEnumSiteDoFs.hh.

◆ InputEnumIteratorBase< ValueType, IsConst >

friend CASM::InputEnumeratorBase< Configuration , true >::InputEnumIteratorBase< Configuration , true >
privateinherited

Definition at line 198 of file InputEnumerator.hh.

◆ m_axes

Eigen::MatrixXd CASM::ConfigEnumSiteDoFs::m_axes
private

Definition at line 158 of file ConfigEnumSiteDoFs.hh.

◆ m_combo

std::vector<Index> CASM::ConfigEnumSiteDoFs::m_combo
private

Definition at line 176 of file ConfigEnumSiteDoFs.hh.

◆ m_combo_index

Index CASM::ConfigEnumSiteDoFs::m_combo_index
private

Definition at line 174 of file ConfigEnumSiteDoFs.hh.

◆ m_counter

EigenCounter<Eigen::VectorXd> CASM::ConfigEnumSiteDoFs::m_counter
private

Definition at line 178 of file ConfigEnumSiteDoFs.hh.

◆ m_current

notstd::cloneable_ptr<Configuration> CASM::ConfigEnumSiteDoFs::m_current
private

Definition at line 148 of file ConfigEnumSiteDoFs.hh.

◆ m_current_ptr

template<typename ValueType , bool IsConst = true>
CASM_TMP::ConstSwitch<IsConst, value_type>* CASM::ValEnumerator< ValueType, IsConst >::m_current_ptr
privateinherited

Definition at line 220 of file Enumerator.hh.

◆ m_dof_dims

std::vector<Index> CASM::ConfigEnumSiteDoFs::m_dof_dims
private

Definition at line 170 of file ConfigEnumSiteDoFs.hh.

◆ m_dof_key

DoFKey CASM::ConfigEnumSiteDoFs::m_dof_key
private

Definition at line 152 of file ConfigEnumSiteDoFs.hh.

◆ m_dof_vals

LocalContinuousConfigDoFValues* CASM::ConfigEnumSiteDoFs::m_dof_vals
private

Definition at line 150 of file ConfigEnumSiteDoFs.hh.

◆ m_inc

Eigen::VectorXd CASM::ConfigEnumSiteDoFs::m_inc
private

Definition at line 164 of file ConfigEnumSiteDoFs.hh.

◆ m_max

Eigen::VectorXd CASM::ConfigEnumSiteDoFs::m_max
private

Definition at line 162 of file ConfigEnumSiteDoFs.hh.

◆ m_max_nonzero

Index CASM::ConfigEnumSiteDoFs::m_max_nonzero
private

Definition at line 156 of file ConfigEnumSiteDoFs.hh.

◆ m_min

Eigen::VectorXd CASM::ConfigEnumSiteDoFs::m_min
private

Definition at line 160 of file ConfigEnumSiteDoFs.hh.

◆ m_min_nonzero

Index CASM::ConfigEnumSiteDoFs::m_min_nonzero
private

Definition at line 154 of file ConfigEnumSiteDoFs.hh.

◆ m_sites

std::vector<Index> CASM::ConfigEnumSiteDoFs::m_sites
private

Definition at line 168 of file ConfigEnumSiteDoFs.hh.

◆ m_step

step_type CASM::EnumeratorBase::m_step
privateinherited

Definition at line 167 of file Enumerator.hh.

◆ m_subset_mode

bool CASM::ConfigEnumSiteDoFs::m_subset_mode
private

Definition at line 172 of file ConfigEnumSiteDoFs.hh.

◆ m_unit_length

bool CASM::ConfigEnumSiteDoFs::m_unit_length
private

Definition at line 166 of file ConfigEnumSiteDoFs.hh.

◆ m_valid

bool CASM::EnumeratorBase::m_valid
privateinherited

Definition at line 165 of file Enumerator.hh.


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