CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <ConfigIO.hh>
Returns predicted formation energy.
Returns predicted formation energy (only formation energy for now)
Definition at line 385 of file ConfigIO.hh.
Public Types | |
typedef DataObject | DataObject |
typedef long | difference_type |
typedef DataFormatterDictionary< DataObject, BaseDatumFormatter< DataObject > > | DictType |
Public Member Functions | |
Clex () | |
Clex (const Clexulator &clexulator, const ECIContainer &eci, const Norm< Configuration > &norm) | |
Construct with Clexulator, ECI, and either 'formation_energy' or 'formation_energy_per_species'. More... | |
double | evaluate (const Configuration &config) const override |
Returns the atom fraction. More... | |
std::unique_ptr< Clex > | clone () const |
Clone using copy constructor. More... | |
bool | init (const Configuration &_tmplt) const override |
If not yet initialized, use the global clexulator and eci from the PrimClex. More... | |
bool | parse_args (const std::string &args) override |
Expects 'clex', 'clex(formation_energy)', or 'clex(formation_energy_per_species)'. More... | |
std::string | short_header (const Configuration &_tmplt) const override |
Short header returns: 'clex(formation_energy)', 'clex(formation_energy_per_species)', etc. More... | |
virtual ValueType | operator() (const DataObject &obj) const |
Return requested data from obj, throwing std::runtime_error if not valid. More... | |
virtual ValueType | evaluate (const DataObject &obj) const =0 |
virtual void | inject (const DataObject &_data_obj, DataStream &_stream, Index pass_index=0) const override |
Default implementation injects each element, via operator<<. 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, via operator<<. More... | |
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 DatumFormatterClass | 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 | init (const DataObject &_template_obj) const |
Perform all initialization steps using _template_obj. Returns true if initialization is successful and false if _template_obj has insufficient data to complete initialization. More... | |
virtual bool | validate (const DataObject &_data_obj) const |
Returns true if _data_obj has valid values for requested data. More... | |
virtual std::vector< std::string > | col_header (const DataObject &_template_obj) const |
Returns a header string for each scalar produced by the formatter parsing the entries in the col_header should reproduce the exact query described by the formatter. Ex: "clex(formation_energy)" or "comp(a)", "comp(c)". 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 |
Static Public Attributes | |
static const std::string | Name = "clex" |
static const std::string | Desc |
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 |
Private Member Functions | |
double | _norm (const Configuration &config) const |
Returns the normalization. More... | |
Clex * | _clone () const override |
Clone using copy constructor. More... | |
Private Attributes | |
std::string | m_clex_name |
Clexulator | m_clexulator |
ECIContainer | m_eci |
notstd::cloneable_ptr< Norm< Configuration > > | m_norm |
std::string | m_name |
std::string | m_description |
IndexContainer | m_index_rules |
const DictType * | m_home |
|
inherited |
Definition at line 334 of file DataFormatter.hh.
|
inherited |
Definition at line 337 of file DataFormatter.hh.
|
inherited |
Definition at line 335 of file DataFormatter.hh.
|
protectedinherited |
Definition at line 459 of file DataFormatter.hh.
CASM::ConfigIO::Clex::Clex | ( | ) |
Definition at line 476 of file ConfigIO.cc.
CASM::ConfigIO::Clex::Clex | ( | const Clexulator & | clexulator, |
const ECIContainer & | eci, | ||
const Norm< Configuration > & | norm | ||
) |
Construct with Clexulator, ECI, and either 'formation_energy' or 'formation_energy_per_species'.
Definition at line 478 of file ConfigIO.cc.
|
inlineprotectedinherited |
Definition at line 472 of file DataFormatter.hh.
|
overrideprivatevirtual |
Clone using copy constructor.
Implements CASM::BaseValueFormatter< ValueType, DataObject >.
Definition at line 556 of file ConfigIO.cc.
|
inlineprotectedinherited |
Definition at line 476 of file DataFormatter.hh.
|
private |
Returns the normalization.
Definition at line 551 of file ConfigIO.cc.
|
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}}
Definition at line 470 of file DataFormatter_impl.hh.
std::unique_ptr< Clex > CASM::ConfigIO::Clex::clone | ( | ) | const |
Clone using copy constructor.
Definition at line 491 of file ConfigIO.cc.
|
inlinevirtualinherited |
Returns a header string for each scalar produced by the formatter parsing the entries in the col_header should reproduce the exact query described by the formatter. Ex: "clex(formation_energy)" or "comp(a)", "comp(c)".
Reimplemented in CASM::Base2DDatumFormatter< Container, DataObject >, CASM::Base1DDatumFormatter< Container, DataObject >, and CASM::DatumFormatterAlias< DataObject >.
Definition at line 389 of file DataFormatter.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 352 of file DataFormatter.hh.
|
override |
Returns the atom fraction.
Definition at line 486 of file ConfigIO.cc.
|
pure virtualinherited |
|
inlineinherited |
const Access the dictionary containing this formatter, set during DictType::lookup
Definition at line 360 of file DataFormatter.hh.
|
override |
If not yet initialized, use the global clexulator and eci from the PrimClex.
If not yet initialized, use the default cluster expansion from the PrimClex.
Definition at line 497 of file ConfigIO.cc.
|
inlinevirtualinherited |
Perform all initialization steps using _template_obj. Returns true if initialization is successful and false if _template_obj has insufficient data to complete initialization.
Reimplemented in CASM::Base2DDatumFormatter< Container, DataObject >, CASM::Base1DDatumFormatter< Container, DataObject >, and CASM::DatumFormatterAlias< DataObject >.
Definition at line 376 of file DataFormatter.hh.
|
inlineoverridevirtualinherited |
Default implementation injects each element, via operator<<.
Implements CASM::BaseDatumFormatter< DataObject >.
Reimplemented in CASM::Base2DDatumFormatter< Container, DataObject >, and CASM::Base1DDatumFormatter< Container, DataObject >.
Definition at line 821 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 399 of file DataFormatter.hh.
|
inlineinherited |
Returns a name for the formatter, which becomes the tag used for parsing.
Definition at line 347 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::Base2DDatumFormatter< Container, DataObject >, and CASM::DatumFormatterAlias< DataObject >.
Definition at line 424 of file DataFormatter.hh.
|
inlinevirtualinherited |
Return requested data from obj, throwing std::runtime_error if not valid.
Definition at line 803 of file DataFormatterTools.hh.
|
overridevirtual |
Expects 'clex', 'clex(formation_energy)', or 'clex(formation_energy_per_species)'.
Expects 'clex', 'clex(formation_energy)', or 'clex(formation_energy,per_species)'.
Reimplemented from CASM::BaseDatumFormatter< DataObject >.
Definition at line 518 of file ConfigIO.cc.
|
inlineoverridevirtualinherited |
Default implementation prints each element in a column, via operator<<.
Implements CASM::BaseDatumFormatter< DataObject >.
Reimplemented in CASM::Base2DDatumFormatter< Container, DataObject >, and CASM::Base1DDatumFormatter< Container, DataObject >.
Definition at line 833 of file DataFormatterTools.hh.
|
inlineinherited |
Set the dictionary containing this formatter, set during DictType::lookup.
Definition at line 364 of file DataFormatter.hh.
|
inlineoverride |
Short header returns: 'clex(formation_energy)', 'clex(formation_energy_per_species)', etc.
Definition at line 421 of file ConfigIO.hh.
|
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 417 of file DataFormatter.hh.
|
inlineoverridevirtualinherited |
Default implementation calls jsonParser& to_json(const ValueType&, jsonParser&)
Implements CASM::BaseDatumFormatter< DataObject >.
Definition at line 847 of file DataFormatterTools.hh.
|
inlinevirtualinherited |
Reimplemented in CASM::DatumFormatterAlias< DataObject >, and CASM::DataFormatterOperator< ValueType, ArgType, DataObject >.
Definition at line 354 of file DataFormatter.hh.
|
inlinevirtualinherited |
Returns true if _data_obj has valid values for requested data.
Default implementation always returns true
Reimplemented in CASM::Generic2DDatumFormatter< Container, DataObject >, CASM::Generic1DDatumFormatter< Container, DataObject >, CASM::GenericDatumFormatter< ValueType, DataObject >, CASM::DatumFormatterAlias< DataObject >, and CASM::DataFormatterOperator< ValueType, ArgType, DataObject >.
Definition at line 381 of file DataFormatter.hh.
|
static |
Definition at line 389 of file ConfigIO.hh.
|
mutableprivate |
Definition at line 432 of file ConfigIO.hh.
|
mutableprivate |
Definition at line 433 of file ConfigIO.hh.
|
privateinherited |
Definition at line 486 of file DataFormatter.hh.
|
mutableprivate |
Definition at line 434 of file ConfigIO.hh.
|
mutableprivateinherited |
Definition at line 488 of file DataFormatter.hh.
|
mutableprivateinherited |
Definition at line 487 of file DataFormatter.hh.
|
privateinherited |
{ return notstd::make_unique<DerivedDatumFormatter>(*this);}
Definition at line 485 of file DataFormatter.hh.
|
mutableprivate |
Definition at line 435 of file ConfigIO.hh.
|
static |
Definition at line 387 of file ConfigIO.hh.