CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM::Monte::CanonicalSettings Class Reference

#include <CanonicalSettings.hh>

+ Inheritance diagram for CASM::Monte::CanonicalSettings:

Detailed Description

Definition at line 12 of file CanonicalSettings.hh.

Public Types

typedef Index size_type
 

Public Member Functions

 CanonicalSettings ()
 Default constructor. More...
 
 CanonicalSettings (const PrimClex &primclex, const fs::path &read_path)
 Construct EquilibriumMonteSettings by reading a settings JSON file. More...
 
CanonicalConditions initial_conditions () const
 Expects initial_conditions. More...
 
CanonicalConditions final_conditions () const
 Expects final_conditions. More...
 
CanonicalConditions incremental_conditions () const
 Expects incremental_conditions. More...
 
std::vector< CanonicalConditionscustom_conditions () const
 Expects custom_conditions. More...
 
ClexDescription formation_energy (const PrimClex &primclex) const
 Get formation energy cluster expansion. More...
 
template<typename SamplerInsertIterator >
SamplerInsertIterator samplers (const PrimClex &primclex, SamplerInsertIterator result) const
 Construct MonteSamplers as specified in the MonteSettings. More...
 
bool all_correlations () const
 Return true if all correlations should be sampled. More...
 
bool sample_by_pass () const
 Sample by pass? More...
 
bool sample_by_step () const
 Sample by step? More...
 
size_type sample_period () const
 Figure out how often to take samples. More...
 
bool is_equilibration_passes_first_run () const
 Returns true if explicit equilibration passes for the first run have been specified. More...
 
size_type equilibration_passes_first_run () const
 Number of explicit equilibration passes requsted for the first run. More...
 
bool is_equilibration_passes_each_run () const
 Returns true if explicit equilibration passes for each run have been specified. More...
 
size_type equilibration_passes_each_run () const
 Number of explicit equilibration passes requsted for each run. More...
 
bool is_N_pass () const
 Returns true if the number of passes has been specified. More...
 
size_type N_pass () const
 Returns the number of passes requested. More...
 
bool is_N_step () const
 Returns true if the number of steps has been specified. More...
 
size_type N_step () const
 Returns the number of steps requested. More...
 
bool is_N_sample () const
 Returns true if the number of samples has been specified. More...
 
size_type N_sample () const
 Returns the number of samples requested. More...
 
bool is_max_pass () const
 Returns true if a maximum number of passes has been specified. More...
 
size_type max_pass () const
 Maximum number of passes, required if sample by pass. More...
 
bool is_min_pass () const
 Returns true if a minimum number of passes has been specified. More...
 
size_type min_pass () const
 Minimum number of passes, default 0 if sample by pass. More...
 
bool is_max_step () const
 Returns true if a maximum number of steps has been specified. More...
 
size_type max_step () const
 Maximum number of steps, required if sample by step. More...
 
bool is_min_step () const
 Returns true if a minimum number of steps has been specified. More...
 
size_type min_step () const
 Minimum number of steps, default 0 if sample by step. More...
 
bool is_max_sample () const
 Returns true if a maximum number of samples has been specified. More...
 
size_type max_sample () const
 Maximum number of steps, default std::numeric_limit<size_type>::max() More...
 
bool is_min_sample () const
 Returns true if a minimum number of samples has been specified. More...
 
size_type min_sample () const
 Minimum number of steps, default 0. More...
 
size_type max_data_length () const
 Figure out how large data containers should be. More...
 
fs::path root () const
 
const PrimClexprimclex () const
 
Monte::ENSEMBLE ensemble () const
 Return type of Monte Carlo ensemble. More...
 
Monte::METHOD method () const
 Return type of Monte Carlo method. More...
 
bool debug () const
 Run in debug mode? More...
 
void set_debug (bool _debug)
 Set debug mode. More...
 
bool is_motif_configname () const
 Returns true if configname of configuration to use as starting motif has been specified. More...
 
std::string motif_configname () const
 Configname of configuration to use as starting motif. More...
 
bool is_motif_configdof () const
 Returns true if path to ConfigDoF file to use as starting motif has been specified. More...
 
ConfigDoF motif_configdof () const
 ConfigDoF to use as starting motif. More...
 
fs::path motif_configdof_path () const
 Path to ConfigDoF file to use as starting motif. More...
 
Eigen::Matrix3i simulation_cell_matrix () const
 Supercell matrix defining the simulation cell. More...
 
virtual const Monte::DRIVE_MODE drive_mode () const
 Given a settings jsonParser figure out the drive mode. Expects drive_mode/incremental,custom. More...
 
bool dependent_runs () const
 If dependent runs, start subsequent calculations with the final state of the previous calculation. Default true. More...
 
double confidence () const
 Given a settings jsonParser figure out the global tolerance (probably for == operator). Expects tolerance/value. More...
 
bool write_trajectory () const
 Returns true if snapshots are requested. More...
 
bool write_POSCAR_snapshots () const
 Returns true if POSCARs of snapshots are requsted. Requires write_trajectory. More...
 
bool write_observations () const
 Writes all observations. More...
 
bool write_csv () const
 Write csv versions of files? (csv is the default format if no 'output_format' given) More...
 
bool write_json () const
 Write json versions of files? More...
 
const fs::path output_directory () const
 Directory where output should go. More...
 
bool is_enumeration () const
 Returns true if enumeration is requested. (Default false) More...
 
std::string enumeration_metric_args () const
 Returns 'casm query'-like enumeration metric args. More...
 
std::string enumeration_check_args () const
 Returns 'casm query'-like enumeration check args. More...
 
Monte::ENUM_SAMPLE_MODE enumeration_sample_mode () const
 Enumeration sample mode (default Monte::ENUM_SAMPLE_MODE::ON_SAMPLE) More...
 
bool enumeration_insert_canonical () const
 Insert configurations in their canonical form. More...
 
bool enumeration_check_existence () const
 Only insert configurations that are not already enumerated. More...
 
Index enumeration_N_halloffame () const
 Returns enumeration halloffame max size (default 100) More...
 
double enumeration_tol () const
 Returns enumeration halloffame tolerance (default 1e-8) More...
 

Protected Types

typedef jsonParserIterator< false > iterator
 
typedef jsonParserIterator< true > const_iterator
 

Protected Member Functions

bool _is_setting (std::string level1, std::string level2) const
 Returns true if (*this)[level1].contains(level2) More...
 
bool _is_setting (std::string level1, std::string level2, std::string level3) const
 Returns true if (*this)[level1][level2].contains(level3) More...
 
template<typename T >
_get_setting (std::string level1, std::string msg) const
 Returns (*this)[level1].get<T>();. More...
 
template<typename T >
_get_setting (std::string level1, std::string level2, std::string msg) const
 Returns (*this)[level1][level2].get<T>();. More...
 
template<typename T >
_get_setting (std::string level1, std::string level2, std::string level3, std::string msg) const
 Returns (*this)[level1][level2][level3].get<T>();. More...
 
jsonParser _json () const
 
bool read (std::istream &stream)
 Reads json from the stream. More...
 
bool read (const boost::filesystem::path &mypath)
 Reads json from a path. More...
 
void print (std::ostream &stream, unsigned int indent=2, unsigned int prec=12) const
 Print json to stream. More...
 
void write (const std::string &file_name, unsigned int indent=2, unsigned int prec=12) const
 Write json to file. More...
 
void write (const boost::filesystem::path &mypath, unsigned int indent=2, unsigned int prec=12) const
 Write json to file. More...
 
bool operator!= (const jsonParser &json) const
 
bool almost_equal (const jsonParser &B, double tol) const
 
bool is_null () const
 Check if null type. More...
 
bool is_bool () const
 Check if bool type. More...
 
bool is_int () const
 Check if int type. More...
 
bool is_number () const
 Check if number type (not including int) More...
 
bool is_string () const
 Check if string. More...
 
bool is_obj () const
 Check if object type. More...
 
bool is_array () const
 Check if array type. More...
 
jsonParseroperator[] (const std::string &name)
 
const jsonParseroperator[] (const std::string &name) const
 
jsonParseroperator[] (const int &element)
 Return a reference to the sub-jsonParser (JSON value) from index 'element' iff jsonParser is a JSON array. More...
 
const jsonParseroperator[] (const int &element) const
 Return a const reference to the sub-jsonParser (JSON value) from index 'element' iff jsonParser is a JSON array. More...
 
jsonParserat (const fs::path &path)
 
const jsonParserat (const fs::path &path) const
 
size_type size () const
 Returns array size if *this is a JSON array, object size if *this is a JSON object, 1 otherwise. More...
 
iterator begin ()
 Returns const_iterator to beginning of JSON object or JSON array. More...
 
const_iterator begin () const
 Returns iterator to beginning of JSON object or JSON array. More...
 
iterator end ()
 Returns iterator to end of JSON object or JSON array. More...
 
const_iterator end () const
 Returns const_iterator to end of JSON object or JSON array. More...
 
const_iterator cbegin () const
 Returns const_iterator to beginning of JSON object or JSON array. More...
 
const_iterator cend () const
 Returns const_iterator to end of JSON object or JSON array. More...
 
iterator find (const std::string &name)
 Return iterator to JSON object value with 'name'. More...
 
const_iterator find (const std::string &name) const
 Return const_iterator to JSON object value with 'name'. More...
 
bool contains (const std::string &name) const
 Return true if JSON object contains 'name'. More...
 
size_type erase (const std::string &name)
 Erase key:value pair from an object. More...
 
template<typename T , typename... Args>
get (Args...args) const
 Get data from json, using one of several alternatives. More...
 
template<typename T , typename... Args>
void get (T &t, Args...args) const
 
template<typename T , typename... Args>
bool get_if (T &t, const std::string &key, Args...args) const
 
template<typename T , typename... Args>
bool get_else (T &t, const std::string &key, const T &default_value, Args...args) const
 
template<typename T >
jsonParserpush_back (const T &value)
 Puts new valued element at end of array of any type T for which 'jsonParser& to_json( const T &value, jsonParser &json)' is defined. More...
 
template<typename T >
jsonParserput (const T &value)
 Puts data of any type T for which 'jsonParser& to_json( const T &value, jsonParser &json)' is defined (same as 'operator=') More...
 
jsonParserput_obj ()
 Puts new empty JSON object. More...
 
template<typename Iterator >
jsonParserput_obj (Iterator begin, Iterator end)
 Puts new JSON object, from iterators over a range of values of type std::pair<std::string, T> More...
 
jsonParserput_array ()
 Puts new empty JSON array. More...
 
jsonParserput_array (size_type N)
 Puts new JSON array. More...
 
template<typename T >
jsonParserput_array (size_type N, const T &t)
 Puts new JSON array, using the same value. More...
 
template<typename Iterator >
jsonParserput_array (Iterator begin, Iterator end, typename CASM_TMP::enable_if_iterator< Iterator >::type *=nullptr)
 Puts new JSON array, from iterators. More...
 
jsonParserput_null ()
 Puts 'null' JSON value. More...
 

Static Protected Member Functions

static jsonParser parse (const std::string &str)
 Construct a jsonParser from a string containing JSON data. More...
 
static jsonParser parse (const fs::path &path)
 Construct a jsonParser from a file containing JSON data. More...
 
static jsonParser parse (std::istream &stream)
 Construct a jsonParser from a stream containing JSON data. More...
 
static jsonParser object ()
 Returns an empty json object. More...
 
template<typename Iterator >
static jsonParser object (Iterator begin, Iterator end)
 Puts new JSON object, from iterators over a range of values of type std::pair<std::string, T> More...
 
static jsonParser array ()
 Returns an empty json array. More...
 
static jsonParser array (size_type N)
 Returns an empty json array. More...
 
template<typename T >
static jsonParser array (size_type N, const T &t)
 Puts new JSON array, using the same value. More...
 
template<typename Iterator >
static jsonParser array (Iterator begin, Iterator end, typename CASM_TMP::enable_if_iterator< Iterator >::type *=nullptr)
 Puts new JSON array, from iterators. More...
 
static jsonParser null ()
 Returns a null JSON value. More...
 

Private Member Functions

CanonicalConditions _conditions (std::string name) const
 
CanonicalConditions _conditions (const jsonParser &json) const
 
template<typename jsonParserIteratorType >
std::tuple< bool, double > _get_precision (jsonParserIteratorType it) const
 
template<typename jsonParserIteratorType , typename SamplerInsertIterator >
SamplerInsertIterator _make_all_correlations_samplers (const PrimClex &primclex, jsonParserIteratorType it, SamplerInsertIterator result) const
 
template<typename jsonParserIteratorType , typename SamplerInsertIterator >
SamplerInsertIterator _make_non_zero_eci_correlations_samplers (const PrimClex &primclex, jsonParserIteratorType it, SamplerInsertIterator result) const
 
template<typename jsonParserIteratorType , typename SamplerInsertIterator >
SamplerInsertIterator _make_query_samplers (const PrimClex &primclex, jsonParserIteratorType it, SamplerInsertIterator result) const
 

Private Attributes

CompositionConverter m_comp_converter
 

Member Typedef Documentation

Definition at line 84 of file jsonParser.hh.

Definition at line 83 of file jsonParser.hh.

Definition at line 57 of file MonteSettings.hh.

Constructor & Destructor Documentation

CASM::Monte::CanonicalSettings::CanonicalSettings ( )
inline

Default constructor.

Definition at line 17 of file CanonicalSettings.hh.

CASM::Monte::CanonicalSettings::CanonicalSettings ( const PrimClex primclex,
const fs::path &  read_path 
)

Construct EquilibriumMonteSettings by reading a settings JSON file.

Definition at line 29 of file CanonicalSettings.cc.

Member Function Documentation

CanonicalConditions CASM::Monte::CanonicalSettings::_conditions ( std::string  name) const
private

Definition at line 159 of file CanonicalSettings.cc.

CanonicalConditions CASM::Monte::CanonicalSettings::_conditions ( const jsonParser json) const
private

Definition at line 176 of file CanonicalSettings.cc.

template<typename jsonParserIteratorType >
std::tuple< bool, double > CASM::Monte::CanonicalSettings::_get_precision ( jsonParserIteratorType  it) const
private

Definition at line 191 of file CanonicalSettings.hh.

template<typename T >
T CASM::MonteSettings::_get_setting ( std::string  level1,
std::string  msg 
) const
protectedinherited

Returns (*this)[level1].get<T>();.

Returns (*this)[level1][level2].get<T>();.

Definition at line 324 of file MonteSettings.hh.

template<typename T >
T CASM::MonteSettings::_get_setting ( std::string  level1,
std::string  level2,
std::string  msg 
) const
protectedinherited

Returns (*this)[level1][level2].get<T>();.

Definition at line 348 of file MonteSettings.hh.

template<typename T >
T CASM::MonteSettings::_get_setting ( std::string  level1,
std::string  level2,
std::string  level3,
std::string  msg 
) const
protectedinherited

Returns (*this)[level1][level2][level3].get<T>();.

Definition at line 381 of file MonteSettings.hh.

bool CASM::MonteSettings::_is_setting ( std::string  level1,
std::string  level2 
) const
protectedinherited

Returns true if (*this)[level1].contains(level2)

Definition at line 386 of file MonteSettings.cc.

bool CASM::MonteSettings::_is_setting ( std::string  level1,
std::string  level2,
std::string  level3 
) const
protectedinherited

Returns true if (*this)[level1][level2].contains(level3)

Definition at line 400 of file MonteSettings.cc.

jsonParser CASM::MonteSettings::_json ( ) const
inlineprotectedinherited

Definition at line 193 of file MonteSettings.hh.

template<typename jsonParserIteratorType , typename SamplerInsertIterator >
SamplerInsertIterator CASM::Monte::CanonicalSettings::_make_all_correlations_samplers ( const PrimClex primclex,
jsonParserIteratorType  it,
SamplerInsertIterator  result 
) const
private

Definition at line 201 of file CanonicalSettings.hh.

template<typename jsonParserIteratorType , typename SamplerInsertIterator >
SamplerInsertIterator CASM::Monte::CanonicalSettings::_make_non_zero_eci_correlations_samplers ( const PrimClex primclex,
jsonParserIteratorType  it,
SamplerInsertIterator  result 
) const
private

Definition at line 236 of file CanonicalSettings.hh.

template<typename jsonParserIteratorType , typename SamplerInsertIterator >
SamplerInsertIterator CASM::Monte::CanonicalSettings::_make_query_samplers ( const PrimClex primclex,
jsonParserIteratorType  it,
SamplerInsertIterator  result 
) const
private

Definition at line 278 of file CanonicalSettings.hh.

bool CASM::Monte::CanonicalSettings::all_correlations ( ) const

Return true if all correlations should be sampled.

Definition at line 136 of file CanonicalSettings.cc.

bool CASM::jsonParser::almost_equal ( const jsonParser B,
double  tol 
) const
inherited

Definition at line 211 of file jsonParser.cc.

static jsonParser CASM::jsonParser::array ( )
inlinestaticinherited

Returns an empty json array.

Definition at line 342 of file jsonParser.hh.

static jsonParser CASM::jsonParser::array ( size_type  N)
inlinestaticinherited

Returns an empty json array.

Definition at line 348 of file jsonParser.hh.

template<typename T >
static jsonParser CASM::jsonParser::array ( size_type  N,
const T &  t 
)
inlinestaticinherited

Puts new JSON array, using the same value.

Definition at line 355 of file jsonParser.hh.

template<typename Iterator >
static jsonParser CASM::jsonParser::array ( Iterator  begin,
Iterator  end,
typename CASM_TMP::enable_if_iterator< Iterator >::type *  = nullptr 
)
inlinestaticinherited

Puts new JSON array, from iterators.

Definition at line 362 of file jsonParser.hh.

jsonParser & CASM::jsonParser::at ( const fs::path &  path)
inherited

Return a reference to the sub-jsonParser (JSON value) with specified relative path Will throw if the 'path' doesn't exist.

  • If 'path' is 'A/B/C', then json.at(path) is equivalent to json[A][B][C]
  • If any sub-jsonParser is an array, it will attempt to convert the filename to int

Return a reference to the sub-jsonParser (JSON value) with specified relative path Will throw if the 'path' doesn't exist.

  • If 'path' is 'A/B/C', then json[path] is equivalent to json[A][B][C]
  • If any sub-jsonParser is an array, it will attempt to convert the filename to int

Definition at line 321 of file jsonParser.cc.

const jsonParser & CASM::jsonParser::at ( const fs::path &  path) const
inherited

Return a reference to the sub-jsonParser (JSON value) with specified relative path Will throw if the 'path' doesn't exist.

  • If 'path' is 'A/B/C', then json.at(path) is equivalent to json[A][B][C]
  • If any sub-jsonParser is an array, it will attempt to convert the filename to int

Return a reference to the sub-jsonParser (JSON value) with specified relative path Will throw if the 'path' doesn't exist.

  • If 'path' is 'A/B/C', then json[path] is equivalent to json[A][B][C]
  • If any sub-jsonParser is an array, it will attempt to convert the filename to int

Definition at line 330 of file jsonParser.cc.

jsonParser::iterator CASM::jsonParser::begin ( )
inherited

Returns const_iterator to beginning of JSON object or JSON array.

Returns iterator to beginning of JSON object or JSON array.

Definition at line 440 of file jsonParser.cc.

jsonParser::const_iterator CASM::jsonParser::begin ( ) const
inherited

Returns iterator to beginning of JSON object or JSON array.

Returns const_iterator to beginning of JSON object or JSON array.

Definition at line 450 of file jsonParser.cc.

jsonParser::const_iterator CASM::jsonParser::cbegin ( ) const
inherited

Returns const_iterator to beginning of JSON object or JSON array.

Returns const iterator to beginning of const JSON object or JSON array.

Definition at line 455 of file jsonParser.cc.

jsonParser::const_iterator CASM::jsonParser::cend ( ) const
inherited

Returns const_iterator to end of JSON object or JSON array.

Definition at line 480 of file jsonParser.cc.

double CASM::MonteSettings::confidence ( ) const
inherited

Given a settings jsonParser figure out the global tolerance (probably for == operator). Expects tolerance/value.

Requested confidence level. Default 0.95.

Definition at line 135 of file MonteSettings.cc.

bool CASM::jsonParser::contains ( const std::string &  name) const
inherited

Return true if JSON object contains 'name'.

Definition at line 500 of file jsonParser.cc.

std::vector< CanonicalConditions > CASM::Monte::CanonicalSettings::custom_conditions ( ) const

Expects custom_conditions.

Expects incremental_conditions.

Definition at line 64 of file CanonicalSettings.cc.

bool CASM::MonteSettings::debug ( ) const
inherited

Run in debug mode?

Definition at line 49 of file MonteSettings.cc.

bool CASM::MonteSettings::dependent_runs ( ) const
inherited

If dependent runs, start subsequent calculations with the final state of the previous calculation. Default true.

Definition at line 115 of file MonteSettings.cc.

const Monte::DRIVE_MODE CASM::MonteSettings::drive_mode ( ) const
virtualinherited

Given a settings jsonParser figure out the drive mode. Expects drive_mode/incremental,custom.

Definition at line 109 of file MonteSettings.cc.

jsonParser::iterator CASM::jsonParser::end ( )
inherited

Returns iterator to end of JSON object or JSON array.

Definition at line 465 of file jsonParser.cc.

jsonParser::const_iterator CASM::jsonParser::end ( ) const
inherited

Returns const_iterator to end of JSON object or JSON array.

Returns iterator to end of JSON object or JSON array.

Definition at line 475 of file jsonParser.cc.

Monte::ENSEMBLE CASM::MonteSettings::ensemble ( ) const
inherited

Return type of Monte Carlo ensemble.

Definition at line 39 of file MonteSettings.cc.

std::string CASM::MonteSettings::enumeration_check_args ( ) const
inherited

Returns 'casm query'-like enumeration check args.

Returns 'casm query'-like enumeration check.

Expects a string that will convert to true if the current Configuration should be scored for enumeration. For instance, perhaps you only want to enumerate Configurations that are near or below the currently predicted convex hull. Then, use 'lt(clex_hull_dist(ALL),0.005)'. Default always returns true.

Uses boost::lexical_cast<bool> on the output to determine the result.

Definition at line 297 of file MonteSettings.cc.

bool CASM::MonteSettings::enumeration_check_existence ( ) const
inherited

Only insert configurations that are not already enumerated.

Insert configurations in their canonical form (default true)

Definition at line 319 of file MonteSettings.cc.

bool CASM::MonteSettings::enumeration_insert_canonical ( ) const
inherited

Insert configurations in their canonical form.

Insert configurations in their canonical form (default true)

Definition at line 333 of file MonteSettings.cc.

std::string CASM::MonteSettings::enumeration_metric_args ( ) const
inherited

Returns 'casm query'-like enumeration metric args.

Returns 'casm query'-like enumeration metric.

Expects a string containing the Configuration scoring metric. For instance, 'clex_hull_dist(ALL)' (which is the default).

Uses boost::lexical_cast<double> on the output to determine the result.

Definition at line 269 of file MonteSettings.cc.

Index CASM::MonteSettings::enumeration_N_halloffame ( ) const
inherited

Returns enumeration halloffame max size (default 100)

Definition at line 359 of file MonteSettings.cc.

Monte::ENUM_SAMPLE_MODE CASM::MonteSettings::enumeration_sample_mode ( ) const
inherited

Enumeration sample mode (default Monte::ENUM_SAMPLE_MODE::ON_SAMPLE)

Definition at line 311 of file MonteSettings.cc.

double CASM::MonteSettings::enumeration_tol ( ) const
inherited

Returns enumeration halloffame tolerance (default 1e-8)

Definition at line 372 of file MonteSettings.cc.

EquilibriumMonteSettings::size_type CASM::EquilibriumMonteSettings::equilibration_passes_each_run ( ) const
inherited

Number of explicit equilibration passes requsted for each run.

Definition at line 466 of file MonteSettings.cc.

EquilibriumMonteSettings::size_type CASM::EquilibriumMonteSettings::equilibration_passes_first_run ( ) const
inherited

Number of explicit equilibration passes requsted for the first run.

Definition at line 455 of file MonteSettings.cc.

json_spirit::mObject::size_type CASM::jsonParser::erase ( const std::string &  name)
inherited

Erase key:value pair from an object.

Erase key:value pair from an object Returns the number of elements erased, which will be 0 or 1

Definition at line 506 of file jsonParser.cc.

CanonicalConditions CASM::Monte::CanonicalSettings::final_conditions ( ) const

Expects final_conditions.

Definition at line 54 of file CanonicalSettings.cc.

jsonParser::iterator CASM::jsonParser::find ( const std::string &  name)
inherited

Return iterator to JSON object value with 'name'.

Definition at line 490 of file jsonParser.cc.

jsonParser::const_iterator CASM::jsonParser::find ( const std::string &  name) const
inherited

Return const_iterator to JSON object value with 'name'.

Definition at line 495 of file jsonParser.cc.

ClexDescription CASM::Monte::CanonicalSettings::formation_energy ( const PrimClex primclex) const

Get formation energy cluster expansion.

Definition at line 88 of file CanonicalSettings.cc.

CanonicalConditions CASM::Monte::CanonicalSettings::incremental_conditions ( ) const

Expects incremental_conditions.

Definition at line 59 of file CanonicalSettings.cc.

CanonicalConditions CASM::Monte::CanonicalSettings::initial_conditions ( ) const

Expects initial_conditions.

Definition at line 41 of file CanonicalSettings.cc.

bool CASM::jsonParser::is_array ( ) const
inherited

Check if array type.

Definition at line 281 of file jsonParser.cc.

bool CASM::jsonParser::is_bool ( ) const
inherited

Check if bool type.

Definition at line 256 of file jsonParser.cc.

bool CASM::MonteSettings::is_enumeration ( ) const
inherited

Returns true if enumeration is requested. (Default false)

Definition at line 256 of file MonteSettings.cc.

bool CASM::EquilibriumMonteSettings::is_equilibration_passes_each_run ( ) const
inherited

Returns true if explicit equilibration passes for each run have been specified.

Definition at line 461 of file MonteSettings.cc.

bool CASM::EquilibriumMonteSettings::is_equilibration_passes_first_run ( ) const
inherited

Returns true if explicit equilibration passes for the first run have been specified.

Definition at line 450 of file MonteSettings.cc.

bool CASM::jsonParser::is_int ( ) const
inherited

Check if int type.

Definition at line 261 of file jsonParser.cc.

bool CASM::EquilibriumMonteSettings::is_max_pass ( ) const
inherited

Returns true if a maximum number of passes has been specified.

Definition at line 508 of file MonteSettings.cc.

bool CASM::EquilibriumMonteSettings::is_max_sample ( ) const
inherited

Returns true if a maximum number of samples has been specified.

Definition at line 555 of file MonteSettings.cc.

bool CASM::EquilibriumMonteSettings::is_max_step ( ) const
inherited

Returns true if a maximum number of steps has been specified.

Definition at line 531 of file MonteSettings.cc.

bool CASM::EquilibriumMonteSettings::is_min_pass ( ) const
inherited

Returns true if a minimum number of passes has been specified.

Definition at line 519 of file MonteSettings.cc.

bool CASM::EquilibriumMonteSettings::is_min_sample ( ) const
inherited

Returns true if a minimum number of samples has been specified.

Returns true if a minimum number of sample has been specified.

Definition at line 566 of file MonteSettings.cc.

bool CASM::EquilibriumMonteSettings::is_min_step ( ) const
inherited

Returns true if a minimum number of steps has been specified.

Definition at line 542 of file MonteSettings.cc.

bool CASM::MonteSettings::is_motif_configdof ( ) const
inherited

Returns true if path to ConfigDoF file to use as starting motif has been specified.

Definition at line 78 of file MonteSettings.cc.

bool CASM::MonteSettings::is_motif_configname ( ) const
inherited

Returns true if configname of configuration to use as starting motif has been specified.

Definition at line 66 of file MonteSettings.cc.

bool CASM::EquilibriumMonteSettings::is_N_pass ( ) const
inherited

Returns true if the number of passes has been specified.

Definition at line 473 of file MonteSettings.cc.

bool CASM::EquilibriumMonteSettings::is_N_sample ( ) const
inherited

Returns true if the number of samples has been specified.

Definition at line 496 of file MonteSettings.cc.

bool CASM::EquilibriumMonteSettings::is_N_step ( ) const
inherited

Returns true if the number of steps has been specified.

Definition at line 484 of file MonteSettings.cc.

bool CASM::jsonParser::is_null ( ) const
inherited

Check if null type.

Definition at line 251 of file jsonParser.cc.

bool CASM::jsonParser::is_number ( ) const
inherited

Check if number type (not including int)

Definition at line 266 of file jsonParser.cc.

bool CASM::jsonParser::is_obj ( ) const
inherited

Check if object type.

Definition at line 276 of file jsonParser.cc.

bool CASM::jsonParser::is_string ( ) const
inherited

Check if string.

Definition at line 271 of file jsonParser.cc.

EquilibriumMonteSettings::size_type CASM::EquilibriumMonteSettings::max_data_length ( ) const
inherited

Figure out how large data containers should be.

Definition at line 580 of file MonteSettings.cc.

EquilibriumMonteSettings::size_type CASM::EquilibriumMonteSettings::max_pass ( ) const
inherited

Maximum number of passes, required if sample by pass.

Definition at line 513 of file MonteSettings.cc.

EquilibriumMonteSettings::size_type CASM::EquilibriumMonteSettings::max_sample ( ) const
inherited

Maximum number of steps, default std::numeric_limit<size_type>::max()

Maximum number of steps.

Definition at line 560 of file MonteSettings.cc.

EquilibriumMonteSettings::size_type CASM::EquilibriumMonteSettings::max_step ( ) const
inherited

Maximum number of steps, required if sample by step.

Maximum number of steps.

Definition at line 536 of file MonteSettings.cc.

Monte::METHOD CASM::MonteSettings::method ( ) const
inherited

Return type of Monte Carlo method.

Definition at line 44 of file MonteSettings.cc.

EquilibriumMonteSettings::size_type CASM::EquilibriumMonteSettings::min_pass ( ) const
inherited

Minimum number of passes, default 0 if sample by pass.

Minimum number of passes.

Definition at line 524 of file MonteSettings.cc.

EquilibriumMonteSettings::size_type CASM::EquilibriumMonteSettings::min_sample ( ) const
inherited

Minimum number of steps, default 0.

Definition at line 571 of file MonteSettings.cc.

EquilibriumMonteSettings::size_type CASM::EquilibriumMonteSettings::min_step ( ) const
inherited

Minimum number of steps, default 0 if sample by step.

Minimum number of steps.

Definition at line 548 of file MonteSettings.cc.

ConfigDoF CASM::MonteSettings::motif_configdof ( ) const
inherited

ConfigDoF to use as starting motif.

Definition at line 83 of file MonteSettings.cc.

fs::path CASM::MonteSettings::motif_configdof_path ( ) const
inherited

Path to ConfigDoF file to use as starting motif.

Definition at line 91 of file MonteSettings.cc.

std::string CASM::MonteSettings::motif_configname ( ) const
inherited

Configname of configuration to use as starting motif.

Definition at line 71 of file MonteSettings.cc.

EquilibriumMonteSettings::size_type CASM::EquilibriumMonteSettings::N_pass ( ) const
inherited

Returns the number of passes requested.

Definition at line 478 of file MonteSettings.cc.

EquilibriumMonteSettings::size_type CASM::EquilibriumMonteSettings::N_sample ( ) const
inherited

Returns the number of samples requested.

Definition at line 501 of file MonteSettings.cc.

EquilibriumMonteSettings::size_type CASM::EquilibriumMonteSettings::N_step ( ) const
inherited

Returns the number of steps requested.

Definition at line 490 of file MonteSettings.cc.

static jsonParser CASM::jsonParser::null ( )
inlinestaticinherited

Returns a null JSON value.

Definition at line 371 of file jsonParser.hh.

static jsonParser CASM::jsonParser::object ( )
inlinestaticinherited

Returns an empty json object.

Definition at line 329 of file jsonParser.hh.

template<typename Iterator >
static jsonParser CASM::jsonParser::object ( Iterator  begin,
Iterator  end 
)
inlinestaticinherited

Puts new JSON object, from iterators over a range of values of type std::pair<std::string, T>

Definition at line 336 of file jsonParser.hh.

bool CASM::jsonParser::operator!= ( const jsonParser json) const
inlineinherited

Definition at line 157 of file jsonParser.hh.

jsonParser & CASM::jsonParser::operator[] ( const std::string &  name)
inherited

Return a reference to the sub-jsonParser (JSON value) with 'name' if it exists If it does not exist, create it with an empty JSON object and return a reference to it

Return a reference to the sub-jsonParser (JSON value) with 'name' if it exists If it does not exist, create it with value == 'null' and return a reference

Definition at line 290 of file jsonParser.cc.

const jsonParser & CASM::jsonParser::operator[] ( const std::string &  name) const
inherited

Return a reference to the sub-jsonParser (JSON value) with 'name' if it exists. Will throw if the 'name' doesn't exist.

Definition at line 304 of file jsonParser.cc.

jsonParser & CASM::jsonParser::operator[] ( const int &  element)
inherited

Return a reference to the sub-jsonParser (JSON value) from index 'element' iff jsonParser is a JSON array.

Definition at line 368 of file jsonParser.cc.

const jsonParser & CASM::jsonParser::operator[] ( const int &  element) const
inherited

Return a const reference to the sub-jsonParser (JSON value) from index 'element' iff jsonParser is a JSON array.

Definition at line 374 of file jsonParser.cc.

const fs::path CASM::MonteSettings::output_directory ( ) const
inherited

Directory where output should go.

Definition at line 127 of file MonteSettings.cc.

static jsonParser CASM::jsonParser::parse ( const std::string &  str)
inlinestaticinherited

Construct a jsonParser from a string containing JSON data.

Definition at line 312 of file jsonParser.hh.

static jsonParser CASM::jsonParser::parse ( const fs::path &  path)
inlinestaticinherited

Construct a jsonParser from a file containing JSON data.

Definition at line 319 of file jsonParser.hh.

static jsonParser CASM::jsonParser::parse ( std::istream &  stream)
inlinestaticinherited

Construct a jsonParser from a stream containing JSON data.

Definition at line 324 of file jsonParser.hh.

const PrimClex & CASM::MonteSettings::primclex ( ) const
inherited

Definition at line 31 of file MonteSettings.cc.

void CASM::jsonParser::print ( std::ostream &  stream,
unsigned int  indent = 2,
unsigned int  prec = 12 
) const
inherited

Print json to stream.

Writes json to stream.

Definition at line 185 of file jsonParser.cc.

jsonParser& CASM::jsonParser::put_array ( )
inlineinherited

Puts new empty JSON array.

Definition at line 285 of file jsonParser.hh.

jsonParser& CASM::jsonParser::put_array ( size_type  N)
inlineinherited

Puts new JSON array.

Definition at line 290 of file jsonParser.hh.

jsonParser& CASM::jsonParser::put_null ( )
inlineinherited

Puts 'null' JSON value.

Definition at line 305 of file jsonParser.hh.

jsonParser& CASM::jsonParser::put_obj ( )
inlineinherited

Puts new empty JSON object.

Definition at line 276 of file jsonParser.hh.

bool CASM::jsonParser::read ( std::istream &  stream)
inherited

Reads json from the stream.

Definition at line 165 of file jsonParser.cc.

bool CASM::jsonParser::read ( const boost::filesystem::path &  mypath)
inherited

Reads json from a path.

Definition at line 169 of file jsonParser.cc.

fs::path CASM::MonteSettings::root ( ) const
inherited

Definition at line 27 of file MonteSettings.cc.

bool CASM::EquilibriumMonteSettings::sample_by_pass ( ) const
inherited

Sample by pass?

Definition at line 426 of file MonteSettings.cc.

bool CASM::EquilibriumMonteSettings::sample_by_step ( ) const
inherited

Sample by step?

Definition at line 431 of file MonteSettings.cc.

EquilibriumMonteSettings::size_type CASM::EquilibriumMonteSettings::sample_period ( ) const
inherited

Figure out how often to take samples.

Definition at line 436 of file MonteSettings.cc.

template<typename SamplerInsertIterator >
SamplerInsertIterator CASM::Monte::CanonicalSettings::samplers ( const PrimClex primclex,
SamplerInsertIterator  result 
) const

Construct MonteSamplers as specified in the MonteSettings.

The requested MonteSamplers are inserted in 'result' as std::pair<std::string, notstd::cloneable_ptr<MonteSampler> >

Definition at line 82 of file CanonicalSettings.hh.

void CASM::MonteSettings::set_debug ( bool  _debug)
inherited

Set debug mode.

Definition at line 58 of file MonteSettings.cc.

Eigen::Matrix3i CASM::MonteSettings::simulation_cell_matrix ( ) const
inherited

Supercell matrix defining the simulation cell.

Definition at line 98 of file MonteSettings.cc.

jsonParser::size_type CASM::jsonParser::size ( ) const
inherited

Returns array size if *this is a JSON array, object size if *this is a JSON object, 1 otherwise.

Definition at line 430 of file jsonParser.cc.

void CASM::jsonParser::write ( const std::string &  file_name,
unsigned int  indent = 2,
unsigned int  prec = 12 
) const
inherited

Write json to file.

Definition at line 191 of file jsonParser.cc.

void CASM::jsonParser::write ( const boost::filesystem::path &  mypath,
unsigned int  indent = 2,
unsigned int  prec = 12 
) const
inherited

Write json to file.

Definition at line 199 of file jsonParser.cc.

bool CASM::MonteSettings::write_csv ( ) const
inherited

Write csv versions of files? (csv is the default format if no 'output_format' given)

Definition at line 185 of file MonteSettings.cc.

bool CASM::MonteSettings::write_json ( ) const
inherited

Write json versions of files?

Definition at line 219 of file MonteSettings.cc.

bool CASM::MonteSettings::write_observations ( ) const
inherited

Writes all observations.

Definition at line 172 of file MonteSettings.cc.

bool CASM::MonteSettings::write_POSCAR_snapshots ( ) const
inherited

Returns true if POSCARs of snapshots are requsted. Requires write_trajectory.

Definition at line 159 of file MonteSettings.cc.

bool CASM::MonteSettings::write_trajectory ( ) const
inherited

Returns true if snapshots are requested.

Definition at line 146 of file MonteSettings.cc.

Member Data Documentation

CompositionConverter CASM::Monte::CanonicalSettings::m_comp_converter
private

Definition at line 56 of file CanonicalSettings.hh.


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