14 "ConfigEnumInterpolation: \n\n"
16 " ... include help documentation here ... \n\n";
22 throw std::runtime_error(
"ConfigEnumAllOccupations::run is not implemented");
53 std::string s =
"Error: " + this->
name() +
" attempting to"
54 "interpolate between incompatible Configurations";
56 throw std::runtime_error(s);
73 if(
current().has_displacement())
void reset_properties(ConfigDoF &_dof)
ConfigEnumInterpolation(const value_type &_initial, const value_type &_final, Index _size)
Constructor.
void set_deformation(const Eigen::Matrix3d &_deformation)
Set applied strain.
const Array< int > & occupation() const
Occupant variables.
Configuration * at_step(step_type n) override
Implements goto_step.
CASM::EnumInterfaceBase * make_ConfigEnumInterpolation_interface()
Base class for generic use of enumerators that may be accessed through the API.
virtual jsonParser source(step_type step) const
void set_displacement(const displacement_matrix_t &_disp)
Set occupant displacements.
static const std::string enumerator_name
Template class to be specialized for each enumerator that may be accessed via the API...
value_type & _current()
Access the current ObjectType by reference.
EigenIndex Index
For long integer indexing:
bool has_deformation() const
True if Configuration has strain DoF.
step_type step() const
Increments with each enumerated object.
Eigen::Matrix3d m_deformation_inc
Base class for implementing specialized random access enumerators.
PrimClex is the top-level data structure for a CASM project.
static const std::string interface_help
static int run(PrimClex &primclex, const jsonParser &kwargs, const Completer::EnumOption &enum_opt)
Index size() const
Returns number of sites, NOT the number of primitives that fit in here.
size_type size() const
Number of elements in enumerator.
void set_source(const jsonParser &source)
const displacement_matrix_t & displacement() const
Occupant displacements.
const Eigen::Matrix3d & deformation() const
Applied strain.
reference current() const
Access the current ObjectType by reference.
std::string name() const override
Derived enumerators must implement name, via ENUM_MEMBERS.
bool has_displacement() const
True if Configuration has displacement DoF.
value_type::displacement_matrix_t m_displacement_inc
A Configuration represents the values of all degrees of freedom in a Supercell.