CASM
AClustersApproachtoStatisticalMechanics
|
#include <ConfigIOStrain.hh>
The strain of the configuration due to relaxation, measured relative to ideal lattice vectors.
Ordered as [E(0,0), E(1,1), E(2,2), E(1,2), E(0,2), E(0,1)].
Accepts strain convention as argument:
Accepts index as argument on interval [0,5]
Ex: 'relxation_strain', 'relaxation_strain(EA,2)'
Definition at line 94 of file ConfigIOStrain.hh.
Public Types | |
typedef ContainerTraits < Container >::Access | Access |
Access methods for Container. More... | |
typedef ContainerTraits < Container >::value_type | ValueType |
enum | FormatterType |
typedef DataObject | DataObject |
typedef long | difference_type |
typedef DataFormatterDictionary < DataObject, BaseDatumFormatter< DataObject > > | DictType |
Public Member Functions | |
DoFStrain () | |
std::unique_ptr< DoFStrain > | clone () const |
Eigen::VectorXd | evaluate (const Configuration &_config) const override |
void | init (const Configuration &_tmplt) const override |
std::string | short_header (const Configuration &_config) const override |
std::vector< std::string > | col_header (const Configuration &_config) const override |
bool | parse_args (const std::string &args) override |
Default implementation calls _parse_index_expression. More... | |
virtual void | init (const DataObject &_template_obj) const override |
Default initialization adds rules for each element. More... | |
virtual std::vector< std::string > | col_header (const DataObject &_template_obj) const override |
Default col_header uses 'name(index)' for each column. More... | |
virtual void | inject (const DataObject &_data_obj, DataStream &_stream, Index pass_index=0) const override |
Default implementation injects each element. More... | |
virtual void | print (const DataObject &_data_obj, std::ostream &_stream, Index pass_index=0) const override |
Default implementation prints each element in a column. More... | |
virtual Container | operator() (const DataObject &obj) const |
Return requested data from obj, throwing std::runtime_error if not valid. More... | |
virtual Container | evaluate (const DataObject &obj) const =0 |
virtual jsonParser & | to_json (const DataObject &_data_obj, jsonParser &json) const override |
Default implementation calls jsonParser& to_json(const ValueType&, jsonParser&) More... | |
const std::string & | name () const |
Returns a name for the formatter, which becomes the tag used for parsing. More... | |
const std::string & | description () const |
Returns a short description of the formatter and its allowed arguments (if any). This description is used to automatically generate help screens. More... | |
virtual FormatterType | type () const |
const DictType & | home () const |
const Access the dictionary containing this formatter, set during DictType::lookup More... | |
void | set_home (const DictType &home) const |
Set the dictionary containing this formatter, set during DictType::lookup. More... | |
virtual bool | validate (const DataObject &_data_obj) const |
Returns true if _data_obj has valid values for requested data. More... | |
virtual std::string | long_header (const DataObject &_template_obj) const |
Returns a long expression for each scalar produced by the formatter parsing the long_header should reproduce the exact query described by the formatter Ex: "clex(formation_energy)" or "comp(a) comp(c)". More... | |
virtual std::string | short_header (const DataObject &_template_obj) const |
Returns a short expression for the formatter parsing the short_header should allow the formatter to be recreated (but the short header does not specify a subset of the elements) Ex: "clex(formation_energy)" or "comp". More... | |
virtual Index | num_passes (const DataObject &_data_obj) const |
Protected Types | |
typedef multivector< Index > ::X< 2 > | IndexContainer |
Protected Member Functions | |
void | _parse_index_expression (const std::string &_expr) |
void | _add_rule (const std::vector< Index > &new_rule) const |
const IndexContainer & | _index_rules () const |
Protected Attributes | |
StrainConverter | m_straincalc |
std::string | m_metric_name |
Private Member Functions | |
DoFStrain * | _clone () const override |
Clone. More... | |
|
inherited |
Access methods for Container.
Definition at line 900 of file DataFormatterTools.hh.
|
inherited |
Definition at line 313 of file DataFormatter.hh.
|
inherited |
Definition at line 316 of file DataFormatter.hh.
|
inherited |
Definition at line 315 of file DataFormatter.hh.
|
protectedinherited |
Definition at line 435 of file DataFormatter.hh.
|
inherited |
Definition at line 901 of file DataFormatterTools.hh.
|
inherited |
Definition at line 314 of file DataFormatter.hh.
|
inline |
Definition at line 96 of file ConfigIOStrain.hh.
|
inlineprotectedinherited |
Definition at line 447 of file DataFormatter.hh.
|
inlineoverrideprivatevirtual |
Clone.
Implements CASM::Base1DDatumFormatter< Container, DataObject >.
Definition at line 132 of file ConfigIOStrain.hh.
|
inlineprotectedinherited |
Definition at line 451 of file DataFormatter.hh.
|
protectedinherited |
Derived DatumFormatters have some optional functionality for parsing index expressions in order to make it easy to handle ranges such as:
in which case, DerivedDatumFormatter::parse_args() is called with the string "3,4:8" by dispatching that string to BaseDatumFormatter::_parse_index_expression(), m_index_rules will be populated with {{3,4},{3,5},{3,6},{3,7},{3,8}}
|
inline |
Definition at line 103 of file ConfigIOStrain.hh.
|
override |
Definition at line 141 of file ConfigIOStrain.cc.
|
inlineoverridevirtualinherited |
Default col_header uses 'name(index)' for each column.
Ex: "corr(0)" "corr(1)" "corr(5)" "corr(6)"
Reimplemented from CASM::BaseDatumFormatter< DataObject >.
Definition at line 934 of file DataFormatterTools.hh.
|
inlineinherited |
Returns a short description of the formatter and its allowed arguments (if any). This description is used to automatically generate help screens.
Definition at line 332 of file DataFormatter.hh.
|
override |
Definition at line 161 of file ConfigIOStrain.cc.
|
pure virtualinherited |
Implemented in CASM::Generic1DDatumFormatter< Container, DataObject >.
|
inlineinherited |
const Access the dictionary containing this formatter, set during DictType::lookup
Definition at line 341 of file DataFormatter.hh.
|
override |
Definition at line 127 of file ConfigIOStrain.cc.
|
inlineoverridevirtualinherited |
Default initialization adds rules for each element.
Reimplemented from CASM::BaseDatumFormatter< DataObject >.
Definition at line 921 of file DataFormatterTools.hh.
|
inlineoverridevirtualinherited |
Default implementation injects each element.
Reimplemented from CASM::BaseValueFormatter< Container, DataObject >.
Definition at line 955 of file DataFormatterTools.hh.
|
inlinevirtualinherited |
Returns a long expression for each scalar produced by the formatter parsing the long_header should reproduce the exact query described by the formatter Ex: "clex(formation_energy)" or "comp(a) comp(c)".
Definition at line 382 of file DataFormatter.hh.
|
inlineinherited |
Returns a name for the formatter, which becomes the tag used for parsing.
Definition at line 326 of file DataFormatter.hh.
|
inlinevirtualinherited |
If data must be printed on multiple rows, returns number of rows needed to output all data from _data_obj DataFormatter class will subsequently pass over _data_obj multiple times to complete printing (if necessary)
Reimplemented in CASM::DatumFormatterAlias< DataObject >.
Definition at line 406 of file DataFormatter.hh.
|
inlinevirtualinherited |
Return requested data from obj, throwing std::runtime_error if not valid.
Definition at line 729 of file DataFormatterTools.hh.
|
overridevirtual |
Default implementation calls _parse_index_expression.
Reimplemented from CASM::Base1DDatumFormatter< Container, DataObject >.
Definition at line 91 of file ConfigIOStrain.cc.
|
inlineoverridevirtualinherited |
Default implementation prints each element in a column.
Reimplemented from CASM::BaseValueFormatter< Container, DataObject >.
Definition at line 980 of file DataFormatterTools.hh.
|
inlineinherited |
Set the dictionary containing this formatter, set during DictType::lookup.
Definition at line 346 of file DataFormatter.hh.
|
override |
Definition at line 156 of file ConfigIOStrain.cc.
|
inlinevirtualinherited |
Returns a short expression for the formatter parsing the short_header should allow the formatter to be recreated (but the short header does not specify a subset of the elements) Ex: "clex(formation_energy)" or "comp".
Reimplemented in CASM::DatumFormatterAlias< DataObject >, and CASM::DataFormatterOperator< ValueType, ArgType, DataObject >.
Definition at line 400 of file DataFormatter.hh.
|
inlineoverridevirtualinherited |
Default implementation calls jsonParser& to_json(const ValueType&, jsonParser&)
Implements CASM::BaseDatumFormatter< DataObject >.
Definition at line 769 of file DataFormatterTools.hh.
|
inlinevirtualinherited |
Reimplemented in CASM::DatumFormatterAlias< DataObject >, and CASM::DataFormatterOperator< ValueType, ArgType, DataObject >.
Definition at line 336 of file DataFormatter.hh.
|
inlinevirtualinherited |
Returns true if _data_obj has valid values for requested data.
Default implementation always returns true
Reimplemented in CASM::Generic1DDatumFormatter< Container, DataObject >, CASM::GenericDatumFormatter< ValueType, DataObject >, CASM::DatumFormatterAlias< DataObject >, and CASM::DataFormatterOperator< ValueType, ArgType, DataObject >.
Definition at line 363 of file DataFormatter.hh.
|
mutableprotected |
Definition at line 128 of file ConfigIOStrain.hh.
|
mutableprotected |
Definition at line 127 of file ConfigIOStrain.hh.