CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM::ConfigEnumStrain Class Reference

#include <ConfigEnumStrain.hh>

+ Inheritance diagram for CASM::ConfigEnumStrain:

Detailed Description

Enumerate strained Configurations

Definition at line 20 of file ConfigEnumStrain.hh.

Public Types

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

Public Member Functions

 ConfigEnumStrain (Supercell &scel, const Configuration &_init, const std::vector< Index > &subspace_partitions, const std::vector< double > &magnitudes, std::string _mode)
 
std::string name () const override
 Derived enumerators must implement name, via ENUM_MEMBERS. More...
 
iterator begin ()
 
iterator end ()
 
reference current () const
 Access the current ObjectType by reference. More...
 
step_type step () const
 Increments with each enumerated object. More...
 
bool valid () const
 Returns false if enumeration is complete. More...
 
virtual jsonParser source (step_type step) const
 

Static Public Member Functions

static int run (PrimClex &primclex, const jsonParser &kwargs, const Completer::EnumOption &enum_opt)
 

Static Public Attributes

static const std::string enumerator_name = "ConfigEnumStrain"
 
static const std::string interface_help
 

Protected Member Functions

void _initialize (value_type *_initial)
 
void _initialize ()
 
void _set_current_ptr (value_type *_new)
 Change the pointer. More...
 
value_type_current ()
 Access the current ObjectType by reference. More...
 
void _set_step (step_type val)
 Set current step value. More...
 
void _increment_step ()
 Increment current step value. More...
 
void _decrement_step ()
 Decrement current step value. More...
 
void _invalidate ()
 Call if enumeration complete. More...
 
void _validate ()
 Used if random access enumerator step is moved into valid range. More...
 

Private Member Functions

void increment () override
 Implements increment over all strain states. More...
 
const PermuteIterator_perm_begin ()
 
const PermuteIterator_perm_end ()
 

Private Attributes

Configuration m_current
 
EigenCounter< Eigen::VectorXd > m_counter
 
Index m_equiv_ind
 
StrainConverter m_strain_calc
 
std::vector< Eigen::MatrixXd > m_trans_mats
 
PermuteIterator m_perm_begin
 
PermuteIterator m_perm_end
 
Eigen::MatrixXd m_shape_factor
 

Member Typedef Documentation

Definition at line 231 of file InputEnumerator.hh.

typedef CASM_TMP::ConstSwitch<IsConst, Configuration >& CASM::ValEnumerator< Configuration , IsConst >::reference
inherited

Definition at line 192 of file Enumerator.hh.

typedef long CASM::EnumeratorBase::step_type
inherited

Definition at line 103 of file Enumerator.hh.

typedef Configuration CASM::ValEnumerator< Configuration , IsConst >::value_type
inherited

Definition at line 191 of file Enumerator.hh.

Constructor & Destructor Documentation

CASM::ConfigEnumStrain::ConfigEnumStrain ( Supercell scel,
const Configuration _init,
const std::vector< Index > &  subspace_partitions,
const std::vector< double > &  magnitudes,
std::string  _mode 
)

Definition at line 32 of file ConfigEnumStrain.cc.

Member Function Documentation

value_type& CASM::ValEnumerator< Configuration , IsConst >::_current ( )
inlineprotectedinherited

Access the current ObjectType by reference.

Definition at line 244 of file Enumerator.hh.

void CASM::EnumeratorBase::_decrement_step ( )
inlineprotectedinherited

Decrement current step value.

Definition at line 164 of file Enumerator.hh.

void CASM::EnumeratorBase::_increment_step ( )
inlineprotectedinherited

Increment current step value.

Definition at line 159 of file Enumerator.hh.

void CASM::EnumeratorBase::_initialize ( )
inlineprotectedinherited

Initialize

  • Sets step to 0
  • Sets valid to true

Definition at line 148 of file Enumerator.hh.

void CASM::ValEnumerator< Configuration , IsConst >::_initialize ( value_type _initial)
inlineprotectedinherited

Initialize

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

Definition at line 216 of file Enumerator.hh.

void CASM::EnumeratorBase::_invalidate ( )
inlineprotectedinherited

Call if enumeration complete.

Definition at line 169 of file Enumerator.hh.

const PermuteIterator& CASM::ConfigEnumStrain::_perm_begin ( )
inlineprivate

Definition at line 60 of file ConfigEnumStrain.hh.

const PermuteIterator& CASM::ConfigEnumStrain::_perm_end ( )
inlineprivate

Definition at line 63 of file ConfigEnumStrain.hh.

void CASM::ValEnumerator< Configuration , IsConst >::_set_current_ptr ( value_type _new)
inlineprotectedinherited

Change the pointer.

Definition at line 239 of file Enumerator.hh.

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

Set current step value.

Definition at line 154 of file Enumerator.hh.

void CASM::EnumeratorBase::_validate ( )
inlineprotectedinherited

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

Definition at line 174 of file Enumerator.hh.

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

Definition at line 245 of file InputEnumerator.hh.

reference CASM::ValEnumerator< Configuration , IsConst >::current ( ) const
inlineinherited

Access the current ObjectType by reference.

Definition at line 232 of file Enumerator.hh.

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

Definition at line 249 of file InputEnumerator.hh.

void CASM::ConfigEnumStrain::increment ( )
overrideprivatevirtual

Implements increment over all strain states.

Implements CASM::InputEnumeratorBase< Configuration >.

Definition at line 172 of file ConfigEnumStrain.cc.

std::string CASM::ConfigEnumStrain::name ( ) const
inlineoverridevirtual

Derived enumerators must implement name, via ENUM_MEMBERS.

Implements CASM::EnumeratorBase.

Definition at line 32 of file ConfigEnumStrain.hh.

int CASM::ConfigEnumStrain::run ( PrimClex primclex,
const jsonParser kwargs,
const Completer::EnumOption enum_opt 
)
static

Definition at line 25 of file ConfigEnumStrain.cc.

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

Default Object source just uses step#

Returns:

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

Definition at line 131 of file Enumerator.hh.

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

Increments with each enumerated object.

Definition at line 113 of file Enumerator.hh.

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

Returns false if enumeration is complete.

Definition at line 118 of file Enumerator.hh.

Member Data Documentation

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

Definition at line 36 of file ConfigEnumStrain.hh.

const std::string CASM::ConfigEnumStrain::interface_help
static
Initial value:
=
"ConfigEnumStrain: \n\n"
" ... include help documentation here ... \n\n"

Definition at line 37 of file ConfigEnumStrain.hh.

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

Definition at line 51 of file ConfigEnumStrain.hh.

Configuration CASM::ConfigEnumStrain::m_current
private

Definition at line 48 of file ConfigEnumStrain.hh.

Index CASM::ConfigEnumStrain::m_equiv_ind
private

Definition at line 53 of file ConfigEnumStrain.hh.

PermuteIterator CASM::ConfigEnumStrain::m_perm_begin
private

Definition at line 57 of file ConfigEnumStrain.hh.

PermuteIterator CASM::ConfigEnumStrain::m_perm_end
private

Definition at line 57 of file ConfigEnumStrain.hh.

Eigen::MatrixXd CASM::ConfigEnumStrain::m_shape_factor
private

Definition at line 58 of file ConfigEnumStrain.hh.

StrainConverter CASM::ConfigEnumStrain::m_strain_calc
private

Definition at line 54 of file ConfigEnumStrain.hh.

std::vector<Eigen::MatrixXd> CASM::ConfigEnumStrain::m_trans_mats
private

Definition at line 56 of file ConfigEnumStrain.hh.


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