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< ChemicalReferenceStateRefStateVec
 
typedef std::map< std::string, RefStateVecRefStateMap
 
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< ChemicalReferenceclone () const
 Clone. More...
 
const BasicStructureprim () 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 RefStateVecglobal_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 RefStateMapsupercell_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 RefStateMapconfig_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 jsonParserto_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 DictTypehome () 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 BasicStructurem_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 DictTypem_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: