CASM
AClustersApproachtoStatisticalMechanics
|
#include <ConfigIOHull.hh>
Base class for hull info formatters.
Definition at line 30 of file ConfigIOHull.hh.
Public Types | |
enum | FormatterType |
typedef Configuration | DataObject |
typedef long | difference_type |
typedef DataFormatterDictionary < DataObject, BaseDatumFormatter< DataObject > > | DictType |
Public Member Functions | |
BaseHull (const std::string &_name, const std::string &_desc, const std::string &_default_selection="MASTER", const std::string &_default_composition_type=default_hull_calculator(), const Hull::CalculatorOptions &_calculator_map=hull_calculator_options(), double _singular_value_tol=1e-8, double _bottom_facet_tol=1e-8) | |
Constructor. More... | |
void | init (const Configuration &_tmplt) const override |
Calculates the convex hull. More... | |
std::string | short_header (const Configuration &_config) const override |
column header to use More... | |
bool | parse_args (const std::string &args) override |
Determine the selection to use to generate the hull. More... | |
std::unique_ptr < BaseValueFormatter > | clone () const |
virtual ValueType | operator() (const Configuration &obj) const |
Return requested data from obj, throwing std::runtime_error if not valid. More... | |
virtual ValueType | evaluate (const Configuration &obj) const =0 |
virtual void | inject (const Configuration &_data_obj, DataStream &_stream, Index pass_index=0) const override |
Default implementation injects each element, via operator<<. More... | |
virtual void | print (const Configuration &_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 Configuration &_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::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 Index | num_passes (const DataObject &_data_obj) const |
Protected Types | |
typedef multivector< Index > ::X< 2 > | IndexContainer |
Protected Member Functions | |
const Hull & | _hull () const |
const Access the Hull object More... | |
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 | |
Hull::CalculatorOptions | m_calculator_map |
Static Protected Attributes | |
static constexpr double | m_dist_to_hull_tol = 1e-14 |
Private Attributes | |
double | m_singular_value_tol |
double | m_bottom_facet_tol |
std::shared_ptr< Hull > | m_hull |
std::string | m_selection |
std::string | m_composition_type |
bool | m_initialized |
|
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 314 of file DataFormatter.hh.
CASM::ConfigIO::BaseHull< ValueType >::BaseHull | ( | const std::string & | _name, |
const std::string & | _desc, | ||
const std::string & | _default_selection = "MASTER" , |
||
const std::string & | _default_composition_type = default_hull_calculator() , |
||
const Hull::CalculatorOptions & | _calculator_map = hull_calculator_options() , |
||
double | _singular_value_tol = 1e-8 , |
||
double | _bottom_facet_tol = 1e-8 |
||
) |
Constructor.
_name | Formatter name, e.g. "on_hull", "hull_dist", etc. |
_desc | Formatter help description |
_comp_calculator | Function or functor that return the composition of a Configuration as a Eigen::VectorXd |
_energy_calcuator | Function or functor that return the energy of a Configuration as a double |
_singular_value_tol | Used with CASM::almost_zero to detect zero-valued singular values |
Definition at line 281 of file ConfigIOHull.hh.
|
inlineprotectedinherited |
Definition at line 447 of file DataFormatter.hh.
|
protected |
const Access the Hull object
Definition at line 432 of file ConfigIOHull.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}}
|
inlineinherited |
Definition at line 724 of file DataFormatterTools.hh.
|
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)".
Definition at line 373 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 332 of file DataFormatter.hh.
|
pure virtualinherited |
|
inlineinherited |
const Access the dictionary containing this formatter, set during DictType::lookup
Definition at line 341 of file DataFormatter.hh.
|
overridevirtual |
Calculates the convex hull.
Reimplemented from CASM::BaseDatumFormatter< Configuration >.
Definition at line 303 of file ConfigIOHull.hh.
|
inlineoverridevirtualinherited |
Default implementation injects each element, via operator<<.
Implements CASM::BaseDatumFormatter< Configuration >.
Definition at line 747 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)
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 |
Determine the selection to use to generate the hull.
Args are: ($selection,$composition,$dim_tol,$bottom_tol)
Options for $selection are:
Options for $composition are:
$dim_tol, default=1e-8
$bottom_tol, default=1e-8
Reimplemented from CASM::BaseDatumFormatter< Configuration >.
Definition at line 384 of file ConfigIOHull.hh.
|
inlineoverridevirtualinherited |
Default implementation prints each element in a column, via operator<<.
Implements CASM::BaseDatumFormatter< Configuration >.
Definition at line 757 of file DataFormatterTools.hh.
|
inlineinherited |
Set the dictionary containing this formatter, set during DictType::lookup.
Definition at line 346 of file DataFormatter.hh.
|
overridevirtual |
column header to use
Reimplemented from CASM::BaseDatumFormatter< Configuration >.
Definition at line 357 of file ConfigIOHull.hh.
|
inlineoverridevirtualinherited |
Default implementation calls jsonParser& to_json(const ValueType&, jsonParser&)
Implements CASM::BaseDatumFormatter< Configuration >.
Definition at line 769 of file DataFormatterTools.hh.
|
inlinevirtualinherited |
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::ConfigIO::ClexHullDist, CASM::ConfigIO::OnClexHull, CASM::ConfigIO::HullDist, and CASM::ConfigIO::OnHull.
Definition at line 363 of file DataFormatter.hh.
|
private |
Definition at line 70 of file ConfigIOHull.hh.
|
protected |
Definition at line 59 of file ConfigIOHull.hh.
|
private |
Definition at line 82 of file ConfigIOHull.hh.
|
staticprotected |
Definition at line 62 of file ConfigIOHull.hh.
|
mutableprivate |
Definition at line 73 of file ConfigIOHull.hh.
|
private |
Definition at line 85 of file ConfigIOHull.hh.
|
private |
Definition at line 77 of file ConfigIOHull.hh.
|
private |
Definition at line 67 of file ConfigIOHull.hh.