CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::ChemicalReference Class Referenceabstract

#include <ChemicalReference.hh>

+ Inheritance diagram for CASM::ChemicalReference:

Detailed Description

Definition at line 39 of file ChemicalReference.hh.

Public Types

typedef std::vector< ChemicalReferenceState > RefStateVec
 
typedef std::map< std::string, RefStateVec > RefStateMap
 
typedef Index size_type
 
typedef std::map< std::string, Eigen::VectorXd > SpecializedRef
 
typedef std::function< Eigen::VectorXd(const Configuration &)> InputFunction
 
typedef DataObject DataObject
 
typedef long difference_type
 
typedef DataFormatterDictionary< DataObject, BaseDatumFormatter< DataObject > > DictType
 

Public Member Functions

 ChemicalReference (const BasicStructure &prim, const Eigen::VectorXd &_global_ref, SpecializedRef _supercell_ref=SpecializedRef(), SpecializedRef _config_ref=SpecializedRef())
 Constructor. More...
 
template<typename RefStateIterator >
 ChemicalReference (const BasicStructure &prim, RefStateIterator begin, RefStateIterator end, double tol)
 Construct global reference via range ChemicalReferenceState. More...
 
std::unique_ptr< ChemicalReference > clone () const
 Clone. More...
 
const BasicStructure & prim () const
 Get primitive BasicStructure. More...
 
const Eigen::VectorXd & global () const
 const Access the global reference More...
 
void set_global (const Eigen::VectorXd &ref)
 Set global hyperplane reference. More...
 
template<typename RefStateIterator >
void set_global (RefStateIterator begin, RefStateIterator end, double tol)
 Set global hyperplane reference. More...
 
const RefStateVec & global_ref_states () const
 const Access a map of configname to RefStateVec for Supercell specialized references More...
 
const std::map< std::string, Eigen::VectorXd > & supercell () const
 const Access a map of scelname to reference for Supercell specialized references More...
 
void set_supercell (const std::string &scelname, const Eigen::VectorXd &ref)
 Set hyperplane reference specialized for a Supercell. More...
 
template<typename RefStateIterator >
void set_supercell (const std::string &scelname, RefStateIterator begin, RefStateIterator end, double tol)
 Set hyperplane reference specialized for a Supercell. More...
 
size_type erase_supercell (const std::string &scelname)
 Erase hyperplane reference specialized for a Supercell. More...
 
const RefStateMap & supercell_ref_states () const
 const Access a map of configname to RefStateVec for Supercell specialized references More...
 
const std::map< std::string, Eigen::VectorXd > & config () const
 const Access a map of configname to reference for Configuration specialized references More...
 
void set_config (const std::string &configname, const Eigen::VectorXd &ref)
 Set hyperplane reference specialized for a Configuration. More...
 
template<typename RefStateIterator >
void set_config (const std::string &configname, RefStateIterator begin, RefStateIterator end, double tol)
 Set hyperplane reference specialized for a Configuration. More...
 
size_type erase_config (const std::string &configname)
 Erase hyperplane reference specialized for a Configuration. More...
 
const RefStateMap & config_ref_states () const
 const Access a map of configname to RefStateVec for Configuration specialized references More...
 
std::function< Eigen::VectorXd(const Configuration &)> input () const
 Return the 'input' function that maps a Configuration to coordinates. More...
 
Eigen::VectorXd input (const Configuration &config) const
 Return the 'input' coordinates that a Configuration is mapped to. More...
 
Eigen::VectorXd hyperplane (const Configuration &config) const
 Return the reference hyperplane used for a particular configuration. More...
 
double evaluate (const Configuration &config) const override
 Return the reference for a particular configuration. More...
 
virtual ValueType evaluate (const DataObject &obj) const =0
 
virtual ValueType operator() (const DataObject &obj) const
 Return requested data from obj, throwing std::runtime_error if not valid. More...
 
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
 
virtual bool parse_args (const std::string &args)
 

Static Public Member Functions

template<typename RefStateIterator >
static Eigen::VectorXd hyperplane (const BasicStructure &prim, RefStateIterator begin, RefStateIterator end, double tol)
 Convert a set of ChemicalReferenceState to a hyperplane, including checks. More...
 

Static Public Attributes

static const std::string Name = "chem_ref"
 
static const std::string Desc
 

Protected Types

typedef multivector< Index >::X< 2 > IndexContainer
 

Protected Member Functions

Eigen::VectorXd & global ()
 Access the global reference. More...
 
std::map< std::string, Eigen::VectorXd > & supercell ()
 Access a map of scelname to reference for Supercell specialized references. More...
 
std::map< std::string, Eigen::VectorXd > & config ()
 Access a map of configname to reference for Configuration specialized references. More...
 
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

Eigen::VectorXd & _global ()
 Access the global reference. More...
 
std::map< std::string, Eigen::VectorXd > & _supercell ()
 const Access a map of scelname to reference for Supercell specialized references More...
 
std::map< std::string, Eigen::VectorXd > & _config ()
 const Access a map of configname to reference for Configuration specialized references More...
 
ChemicalReference * _clone () const
 Clone. More...
 

Static Private Member Functions

static Eigen::VectorXd _calc_hyperplane (const BasicStructure &prim, const std::vector< std::string > &struc_mol_name, Eigen::MatrixXd N, Eigen::VectorXd E, double tol)
 Convert a set of ChemicalReferenceState to a hyperplane, including checks. More...
 

Private Attributes

const BasicStructure * m_prim
 
RefStateVec m_global_ref_vec
 
RefStateMap m_supercell_ref_map
 
RefStateMap m_config_ref_map
 
InputFunction m_input
 
std::map< std::string, Eigen::VectorXd > m_config_ref
 
std::map< std::string, Eigen::VectorXd > m_supercell_ref
 
Eigen::VectorXd m_global_ref
 
std::string m_name
 
std::string m_description
 
IndexContainer m_index_rules
 
const DictType * m_home
 

Member Typedef Documentation

◆ DataObject

Definition at line 334 of file DataFormatter.hh.

◆ DictType

◆ difference_type

Definition at line 335 of file DataFormatter.hh.

◆ IndexContainer

typedef multivector<Index>::X<2> CASM::BaseDatumFormatter< DataObject >::IndexContainer
protectedinherited

Definition at line 459 of file DataFormatter.hh.

◆ InputFunction

typedef std::function<Eigen::VectorXd(const Configuration &)> CASM::HyperPlaneReferenceBase::InputFunction
inherited

Definition at line 71 of file Reference.hh.

◆ RefStateMap

typedef std::map<std::string, RefStateVec> CASM::ChemicalReference::RefStateMap

Definition at line 42 of file ChemicalReference.hh.

◆ RefStateVec

Definition at line 41 of file ChemicalReference.hh.

◆ size_type

Definition at line 43 of file ChemicalReference.hh.

◆ SpecializedRef

typedef std::map<std::string, Eigen::VectorXd> CASM::HyperPlaneReferenceBase::SpecializedRef
inherited

Definition at line 70 of file Reference.hh.

Constructor & Destructor Documentation

◆ ChemicalReference() [1/2]

CASM::ChemicalReference::ChemicalReference ( const BasicStructure &  prim,
const Eigen::VectorXd &  _global_ref,
SpecializedRef  _supercell_ref = SpecializedRef(),
SpecializedRef  _config_ref = SpecializedRef() 
)
explicit

Constructor.

Parameters
_global_refAn Eigen::VectorXd giving the intercepts of the hyperplane used for the global reference
_supercell_refA map of scelname to Eigen::VectorXd specializing the the reference value by Supercell
_config_refA map of configname to Eigen::VectorXd specializing the the reference value by Configuration

A hyperplane reference, R, maps vector species_frac, x, to output energy_per_species, y:

  • y = R.dot(x)

The global reference, '_global_ref', is required, but may be specialized to give a different R for a particular Supercell or Configuration via optional '_supercell_ref' and '_config_ref'.

Definition at line 145 of file ChemicalReference.cc.

◆ ChemicalReference() [2/2]

template<typename RefStateIterator >
CASM::ChemicalReference::ChemicalReference ( const BasicStructure &  prim,
RefStateIterator  begin,
RefStateIterator  end,
double  tol 
)
explicit

Construct global reference via range ChemicalReferenceState.

Definition at line 14 of file ChemicalReference_impl.hh.

Member Function Documentation

◆ _add_rule()

void CASM::BaseDatumFormatter< DataObject >::_add_rule ( const std::vector< Index > &  new_rule) const
inlineprotectedinherited

Definition at line 472 of file DataFormatter.hh.

◆ _calc_hyperplane()

Eigen::VectorXd CASM::ChemicalReference::_calc_hyperplane ( const BasicStructure &  prim,
const std::vector< std::string > &  struc_mol_name,
Eigen::MatrixXd  N,
Eigen::VectorXd  E,
double  tol 
)
staticprivate

Convert a set of ChemicalReferenceState to a hyperplane, including checks.

Definition at line 290 of file ChemicalReference.cc.

◆ _clone()

ChemicalReference * CASM::ChemicalReference::_clone ( ) const
privatevirtual

Clone.

Reimplemented from CASM::HyperPlaneReferenceBase.

Definition at line 284 of file ChemicalReference.cc.

◆ _config()

std::map< std::string, Eigen::VectorXd > & CASM::ChemicalReference::_config ( )
private

const Access a map of configname to reference for Configuration specialized references

Definition at line 277 of file ChemicalReference.cc.

◆ _global()

Eigen::VectorXd & CASM::ChemicalReference::_global ( )
private

Access the global reference.

Definition at line 263 of file ChemicalReference.cc.

◆ _index_rules()

const IndexContainer& CASM::BaseDatumFormatter< DataObject >::_index_rules ( ) const
inlineprotectedinherited

Definition at line 476 of file DataFormatter.hh.

◆ _parse_index_expression()

void CASM::BaseDatumFormatter< DataObject >::_parse_index_expression ( const std::string &  _expr)
protectedinherited

Derived DatumFormatters have some optional functionality for parsing index expressions in order to make it easy to handle ranges such as:

formatter_name(3,4:8)

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.

◆ _supercell()

std::map< std::string, Eigen::VectorXd > & CASM::ChemicalReference::_supercell ( )
private

const Access a map of scelname to reference for Supercell specialized references

Definition at line 270 of file ChemicalReference.cc.

◆ clone()

std::unique_ptr< ChemicalReference > CASM::ChemicalReference::clone ( ) const

Clone.

Definition at line 154 of file ChemicalReference.cc.

◆ col_header()

virtual std::vector<std::string> CASM::BaseDatumFormatter< DataObject >::col_header ( const DataObject &  _template_obj) const
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)".

  • Default uses short_header

Reimplemented in CASM::Base2DDatumFormatter< Container, DataObject >, CASM::Base1DDatumFormatter< Container, DataObject >, and CASM::DatumFormatterAlias< DataObject >.

Definition at line 389 of file DataFormatter.hh.

◆ config() [1/2]

std::map<std::string, Eigen::VectorXd>& CASM::HyperPlaneReferenceBase::config ( )
inlineprotectedinherited

Access a map of configname to reference for Configuration specialized references.

Definition at line 172 of file Reference.hh.

◆ config() [2/2]

const std::map< std::string, Eigen::VectorXd > & CASM::ChemicalReference::config ( ) const

const Access a map of configname to reference for Configuration specialized references

Definition at line 229 of file ChemicalReference.cc.

◆ config_ref_states()

const ChemicalReference::RefStateMap & CASM::ChemicalReference::config_ref_states ( ) const

const Access a map of configname to RefStateVec for Configuration specialized references

  • A configuration with a specialized reference need not have an associated RefStateVec

Definition at line 256 of file ChemicalReference.cc.

◆ description()

const std::string& CASM::BaseDatumFormatter< DataObject >::description ( ) const
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.

◆ erase_config()

ChemicalReference::size_type CASM::ChemicalReference::erase_config ( const std::string &  configname)

Erase hyperplane reference specialized for a Configuration.

Definition at line 244 of file ChemicalReference.cc.

◆ erase_supercell()

ChemicalReference::size_type CASM::ChemicalReference::erase_supercell ( const std::string &  scelname)

Erase hyperplane reference specialized for a Supercell.

Definition at line 207 of file ChemicalReference.cc.

◆ evaluate() [1/2]

double CASM::HyperPlaneReferenceBase::evaluate ( const Configuration &  config) const
inlineoverrideinherited

Return the reference for a particular configuration.

Returns
const std::map< std::string, Eigen::VectorXd > & config() const
const Access a map of configname to reference for Configuration specialized references
static Eigen::VectorXd hyperplane(const BasicStructure &prim, RefStateIterator begin, RefStateIterator end, double tol)
Convert a set of ChemicalReferenceState to a hyperplane, including checks.
std::function< Eigen::VectorXd(const Configuration &)> input() const
Return the 'input' function that maps a Configuration to coordinates.
Definition: Reference.hh:132

Definition at line 153 of file Reference.hh.

◆ evaluate() [2/2]

template<typename ValueType , typename DataObject >
virtual ValueType CASM::BaseValueFormatter< ValueType, DataObject >::evaluate ( const DataObject &  obj) const
pure virtualinherited

◆ global() [1/2]

Eigen::VectorXd& CASM::HyperPlaneReferenceBase::global ( )
inlineprotectedinherited

Access the global reference.

Definition at line 160 of file Reference.hh.

◆ global() [2/2]

const Eigen::VectorXd & CASM::ChemicalReference::global ( ) const

const Access the global reference

Definition at line 165 of file ChemicalReference.cc.

◆ global_ref_states()

const ChemicalReference::RefStateVec & CASM::ChemicalReference::global_ref_states ( ) const

const Access a map of configname to RefStateVec for Supercell specialized references

  • There may not be global reference states (maybe only the hyperplane is known), in which case this is 'empty' / has 'size() == 0'

Definition at line 182 of file ChemicalReference.cc.

◆ home()

const DictType& CASM::BaseDatumFormatter< DataObject >::home ( ) const
inlineinherited

const Access the dictionary containing this formatter, set during DictType::lookup

Definition at line 360 of file DataFormatter.hh.

◆ hyperplane() [1/2]

template<typename RefStateIterator >
Eigen::VectorXd CASM::ChemicalReference::hyperplane ( const BasicStructure &  prim,
RefStateIterator  begin,
RefStateIterator  end,
double  tol 
)
static

Convert a set of ChemicalReferenceState to a hyperplane, including checks.

Parameters
primThe Structure defining the composition space the reference should span
begin,endIterators over a range of ChemicalReferenceState
tolTolerance for checking that input spans the prim composition space and a solution for the hyperplane is found
Returns
Eigen::VectorXd, R, that solves: energy = R.dot(atom_frac) for each ChemicalReferenceState

Definition at line 81 of file ChemicalReference_impl.hh.

◆ hyperplane() [2/2]

Eigen::VectorXd CASM::HyperPlaneReferenceBase::hyperplane ( const Configuration &  config) const
inherited

Return the reference hyperplane used for a particular configuration.

Returns the Configuration specific hyperplane if it exists, else the Supercell specific hyperplane if it exists, else the global hyperplane.

Definition at line 20 of file Reference.cc.

◆ init()

virtual bool CASM::BaseDatumFormatter< DataObject >::init ( const DataObject &  _template_obj) const
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.

◆ inject()

template<typename ValueType , typename DataObject >
virtual void CASM::BaseValueFormatter< ValueType, DataObject >::inject ( const DataObject &  _data_obj,
DataStream &  _stream,
Index  pass_index = 0 
) const
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.

◆ input() [1/2]

std::function<Eigen::VectorXd(const Configuration &)> CASM::HyperPlaneReferenceBase::input ( ) const
inlineinherited

Return the 'input' function that maps a Configuration to coordinates.

Definition at line 132 of file Reference.hh.

◆ input() [2/2]

Eigen::VectorXd CASM::HyperPlaneReferenceBase::input ( const Configuration &  config) const
inlineinherited

Return the 'input' coordinates that a Configuration is mapped to.

Definition at line 137 of file Reference.hh.

◆ long_header()

virtual std::string CASM::BaseDatumFormatter< DataObject >::long_header ( const DataObject &  _template_obj) const
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)".

  • Default uses col_header

Definition at line 399 of file DataFormatter.hh.

◆ name()

const std::string& CASM::BaseDatumFormatter< DataObject >::name ( ) const
inlineinherited

Returns a name for the formatter, which becomes the tag used for parsing.

Definition at line 347 of file DataFormatter.hh.

◆ num_passes()

virtual Index CASM::BaseDatumFormatter< DataObject >::num_passes ( const DataObject &  _data_obj) const
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.

◆ operator()()

template<typename ValueType , typename DataObject >
virtual ValueType CASM::BaseValueFormatter< ValueType, DataObject >::operator() ( const DataObject &  obj) const
inlinevirtualinherited

Return requested data from obj, throwing std::runtime_error if not valid.

Definition at line 803 of file DataFormatterTools.hh.

◆ parse_args()

◆ prim()

const BasicStructure & CASM::ChemicalReference::prim ( ) const

Get primitive BasicStructure.

Definition at line 159 of file ChemicalReference.cc.

◆ print()

template<typename ValueType , typename DataObject >
virtual void CASM::BaseValueFormatter< ValueType, DataObject >::print ( const DataObject &  _data_obj,
std::ostream &  _stream,
Index  pass_index = 0 
) const
inlineoverridevirtualinherited

Default implementation prints each element in a column, via operator<<.

  • Prints "unknown" if validation fails

Implements CASM::BaseDatumFormatter< DataObject >.

Reimplemented in CASM::Base2DDatumFormatter< Container, DataObject >, and CASM::Base1DDatumFormatter< Container, DataObject >.

Definition at line 833 of file DataFormatterTools.hh.

◆ set_config() [1/2]

void CASM::ChemicalReference::set_config ( const std::string &  configname,
const Eigen::VectorXd &  ref 
)

Set hyperplane reference specialized for a Configuration.

  • Erases associated RefStateVec

Definition at line 237 of file ChemicalReference.cc.

◆ set_config() [2/2]

template<typename RefStateIterator >
void CASM::ChemicalReference::set_config ( const std::string &  configname,
RefStateIterator  begin,
RefStateIterator  end,
double  tol 
)

Set hyperplane reference specialized for a Configuration.

  • Inserts associated RefStateVec

Definition at line 60 of file ChemicalReference_impl.hh.

◆ set_global() [1/2]

void CASM::ChemicalReference::set_global ( const Eigen::VectorXd &  ref)

Set global hyperplane reference.

  • Erases associated RefStateVec

Definition at line 172 of file ChemicalReference.cc.

◆ set_global() [2/2]

template<typename RefStateIterator >
void CASM::ChemicalReference::set_global ( RefStateIterator  begin,
RefStateIterator  end,
double  tol 
)

Set global hyperplane reference.

Parameters
primThe Structure defining the composition space the reference should span
begin,endIterators over a range of ChemicalReferenceState
tolTolerance for checking that input spans the prim composition space and a solution for the hyperplane is found

sets global refrence to be the Eigen::VectorXd, R, that solves:

energy = R.dot(atom_frac)
double energy(const Configuration &config)
Returns the energy, normalized per unit cell.

for each ChemicalReferenceState

  • Inserts associated RefStateVec

Definition at line 37 of file ChemicalReference_impl.hh.

◆ set_home()

void CASM::BaseDatumFormatter< DataObject >::set_home ( const DictType &  home) const
inlineinherited

Set the dictionary containing this formatter, set during DictType::lookup.

Definition at line 364 of file DataFormatter.hh.

◆ set_supercell() [1/2]

void CASM::ChemicalReference::set_supercell ( const std::string &  scelname,
const Eigen::VectorXd &  ref 
)

Set hyperplane reference specialized for a Supercell.

  • Erases associated RefStateVec

Definition at line 200 of file ChemicalReference.cc.

◆ set_supercell() [2/2]

template<typename RefStateIterator >
void CASM::ChemicalReference::set_supercell ( const std::string &  scelname,
RefStateIterator  begin,
RefStateIterator  end,
double  tol 
)

Set hyperplane reference specialized for a Supercell.

  • Inserts associated RefStateVec

Definition at line 48 of file ChemicalReference_impl.hh.

◆ short_header()

virtual std::string CASM::BaseDatumFormatter< DataObject >::short_header ( const DataObject &  _template_obj) const
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.

◆ supercell() [1/2]

std::map<std::string, Eigen::VectorXd>& CASM::HyperPlaneReferenceBase::supercell ( )
inlineprotectedinherited

Access a map of scelname to reference for Supercell specialized references.

Definition at line 165 of file Reference.hh.

◆ supercell() [2/2]

const std::map< std::string, Eigen::VectorXd > & CASM::ChemicalReference::supercell ( ) const

const Access a map of scelname to reference for Supercell specialized references

Definition at line 192 of file ChemicalReference.cc.

◆ supercell_ref_states()

const ChemicalReference::RefStateMap & CASM::ChemicalReference::supercell_ref_states ( ) const

const Access a map of configname to RefStateVec for Supercell specialized references

  • A configuration with a specialized reference need not have an associated RefStateVec

Definition at line 219 of file ChemicalReference.cc.

◆ to_json()

template<typename ValueType , typename DataObject >
virtual jsonParser& CASM::BaseValueFormatter< ValueType, DataObject >::to_json ( const DataObject &  _data_obj,
jsonParser &  json 
) const
inlineoverridevirtualinherited

Default implementation calls jsonParser& to_json(const ValueType&, jsonParser&)

  • Does nothing if validation fails

Implements CASM::BaseDatumFormatter< DataObject >.

Definition at line 847 of file DataFormatterTools.hh.

◆ type()

◆ validate()

virtual bool CASM::BaseDatumFormatter< DataObject >::validate ( const DataObject &  _data_obj) const
inlinevirtualinherited

Member Data Documentation

◆ Desc

const std::string CASM::ChemicalReference::Desc
static
Initial value:
=
"Returns a reference energy as interpolated via a composition-energy "
"hyperplane."

Definition at line 46 of file ChemicalReference.hh.

◆ m_config_ref

std::map<std::string, Eigen::VectorXd> CASM::HyperPlaneReferenceBase::m_config_ref
privateinherited

Definition at line 182 of file Reference.hh.

◆ m_config_ref_map

RefStateMap CASM::ChemicalReference::m_config_ref_map
private

Definition at line 168 of file ChemicalReference.hh.

◆ m_description

std::string CASM::BaseDatumFormatter< DataObject >::m_description
privateinherited

Definition at line 486 of file DataFormatter.hh.

◆ m_global_ref

Eigen::VectorXd CASM::HyperPlaneReferenceBase::m_global_ref
privateinherited

Definition at line 186 of file Reference.hh.

◆ m_global_ref_vec

RefStateVec CASM::ChemicalReference::m_global_ref_vec
private

Definition at line 166 of file ChemicalReference.hh.

◆ m_home

const DictType* CASM::BaseDatumFormatter< DataObject >::m_home
mutableprivateinherited

Definition at line 488 of file DataFormatter.hh.

◆ m_index_rules

IndexContainer CASM::BaseDatumFormatter< DataObject >::m_index_rules
mutableprivateinherited

Definition at line 487 of file DataFormatter.hh.

◆ m_input

InputFunction CASM::HyperPlaneReferenceBase::m_input
privateinherited

Definition at line 180 of file Reference.hh.

◆ m_name

std::string CASM::BaseDatumFormatter< DataObject >::m_name
privateinherited

{ return notstd::make_unique<DerivedDatumFormatter>(*this);}

Definition at line 485 of file DataFormatter.hh.

◆ m_prim

const BasicStructure* CASM::ChemicalReference::m_prim
private

Definition at line 162 of file ChemicalReference.hh.

◆ m_supercell_ref

std::map<std::string, Eigen::VectorXd> CASM::HyperPlaneReferenceBase::m_supercell_ref
privateinherited

Definition at line 184 of file Reference.hh.

◆ m_supercell_ref_map

RefStateMap CASM::ChemicalReference::m_supercell_ref_map
private

Definition at line 167 of file ChemicalReference.hh.

◆ Name

const std::string CASM::ChemicalReference::Name = "chem_ref"
static

Definition at line 45 of file ChemicalReference.hh.


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