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

#include <ConfigEnumInterpolation.hh>

+ Inheritance diagram for CASM::ConfigEnumInterpolation:

Detailed Description

Interpolate displacements and strains between two configurations with identical occupation

Definition at line 18 of file ConfigEnumInterpolation.hh.

Public Types

typedef
RandomAccessEnumIterator
< Configuration, IsConst > 
iterator
 
typedef std::reverse_iterator
< iterator
reverse_iterator
 
typedef step_type size_type
 
typedef Configuration value_type
 
typedef CASM_TMP::ConstSwitch
< IsConst, Configuration > & 
reference
 
typedef long step_type
 

Public Member Functions

 ConfigEnumInterpolation (const value_type &_initial, const value_type &_final, Index _size)
 Constructor. More...
 
std::string name () const override
 Derived enumerators must implement name, via ENUM_MEMBERS. More...
 
iterator begin ()
 
iterator end ()
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
size_type size () const
 Number of elements in enumerator. More...
 
reference front ()
 Reference to first element in enumerator. More...
 
reference back ()
 Reference to last element in enumerator. More...
 
reference initial ()
 Reference to first element in enumerator. More...
 
reference final ()
 Reference to last element in enumerator. More...
 
reference operator[] (size_type n)
 Reference an element in enumerator. More...
 
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 = "ConfigEnumInterpolation"
 
static const std::string interface_help
 

Protected Member Functions

void _set_size (size_type val)
 Set size value. More...
 
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

Configurationat_step (step_type n) override
 Implements goto_step. More...
 

Private Attributes

Configuration m_current
 
Configuration m_initial
 
Configuration m_final
 
value_type::displacement_matrix_t m_displacement_inc
 
Eigen::Matrix3d m_deformation_inc
 

Member Typedef Documentation

Definition at line 287 of file RandomAccessEnumerator.hh.

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

Definition at line 192 of file Enumerator.hh.

typedef std::reverse_iterator<iterator> CASM::RandomAccessEnumeratorBase< Configuration , IsConst >::reverse_iterator
inherited

Definition at line 288 of file RandomAccessEnumerator.hh.

Definition at line 289 of file RandomAccessEnumerator.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::ConfigEnumInterpolation::ConfigEnumInterpolation ( const value_type _initial,
const value_type _final,
Index  _size 
)

Constructor.

Parameters
_initial,_finalInitial and final configurations to interpolate between
_sizeThe total number of configurations to enumerate, including the initial and final configurations
  • The final configuration is not pointed at by the end iterator, which points past-the-final element, as is typical
  • _size will be equal to
    std::distance(this->begin(), this->end())

Definition at line 34 of file ConfigEnumInterpolation.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.

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::RandomAccessEnumeratorBase< Configuration , IsConst >::_set_size ( size_type  val)
inlineprotectedinherited

Set size value.

Definition at line 365 of file RandomAccessEnumerator.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.

Configuration * CASM::ConfigEnumInterpolation::at_step ( step_type  n)
overrideprivatevirtual

Implements goto_step.

Set m_current to correct value at specified step and return a reference to it.

Implements CASM::RandomAccessEnumeratorBase< Configuration >.

Definition at line 72 of file ConfigEnumInterpolation.cc.

reference CASM::RandomAccessEnumeratorBase< Configuration , IsConst >::back ( )
inlineinherited

Reference to last element in enumerator.

Definition at line 333 of file RandomAccessEnumerator.hh.

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

Definition at line 305 of file RandomAccessEnumerator.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::RandomAccessEnumeratorBase< Configuration , IsConst >::end ( )
inlineinherited

Definition at line 309 of file RandomAccessEnumerator.hh.

reference CASM::RandomAccessEnumeratorBase< Configuration , IsConst >::final ( )
inlineinherited

Reference to last element in enumerator.

Definition at line 344 of file RandomAccessEnumerator.hh.

reference CASM::RandomAccessEnumeratorBase< Configuration , IsConst >::front ( )
inlineinherited

Reference to first element in enumerator.

Definition at line 327 of file RandomAccessEnumerator.hh.

reference CASM::RandomAccessEnumeratorBase< Configuration , IsConst >::initial ( )
inlineinherited

Reference to first element in enumerator.

Definition at line 339 of file RandomAccessEnumerator.hh.

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

Derived enumerators must implement name, via ENUM_MEMBERS.

Implements CASM::EnumeratorBase.

Definition at line 26 of file ConfigEnumInterpolation.hh.

reference CASM::RandomAccessEnumeratorBase< Configuration , IsConst >::operator[] ( size_type  n)
inlineinherited

Reference an element in enumerator.

Definition at line 349 of file RandomAccessEnumerator.hh.

reverse_iterator CASM::RandomAccessEnumeratorBase< Configuration , IsConst >::rbegin ( )
inlineinherited

Definition at line 313 of file RandomAccessEnumerator.hh.

reverse_iterator CASM::RandomAccessEnumeratorBase< Configuration , IsConst >::rend ( )
inlineinherited

Definition at line 317 of file RandomAccessEnumerator.hh.

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

Definition at line 18 of file ConfigEnumInterpolation.cc.

size_type CASM::RandomAccessEnumeratorBase< Configuration , IsConst >::size ( ) const
inlineinherited

Number of elements in enumerator.

Definition at line 322 of file RandomAccessEnumerator.hh.

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::ConfigEnumInterpolation::enumerator_name = "ConfigEnumInterpolation"
static

Definition at line 30 of file ConfigEnumInterpolation.hh.

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

Definition at line 31 of file ConfigEnumInterpolation.hh.

Configuration CASM::ConfigEnumInterpolation::m_current
private

Definition at line 42 of file ConfigEnumInterpolation.hh.

Eigen::Matrix3d CASM::ConfigEnumInterpolation::m_deformation_inc
private

Definition at line 47 of file ConfigEnumInterpolation.hh.

value_type::displacement_matrix_t CASM::ConfigEnumInterpolation::m_displacement_inc
private

Definition at line 46 of file ConfigEnumInterpolation.hh.

Configuration CASM::ConfigEnumInterpolation::m_final
private

Definition at line 44 of file ConfigEnumInterpolation.hh.

Configuration CASM::ConfigEnumInterpolation::m_initial
private

Definition at line 43 of file ConfigEnumInterpolation.hh.


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