1 #ifndef CASM_MonteDriver_HH
2 #define CASM_MonteDriver_HH
29 template <
typename RunType>
88 template <
typename RunType>
void run()
Run everything requested by the MonteSettings.
Log & m_log
target for log messages
bool debug() const
run in debug mode?
void single_run(Index cond_index)
Converge the MonteCarlo for conditions 'cond_index'.
const std::vector< CondType > m_conditions_list
RunType::SettingsType SettingsType
MonteDriver(const PrimClex &primclex, const SettingsType &settings, Log &_log, Log &_err_log)
Constructor via MonteSettings.
bool m_debug
run in debug mode?
MonteCarloDirectoryStructure m_dir
describes where to write output
const Monte::DRIVE_MODE m_drive_mode
Specifies how to build the conditions list from the settings.
RunType::CondType CondType
std::vector< CondType > make_conditions_list(const PrimClex &primclex, const SettingsType &settings)
Log & m_err_log
target for error messages
Index _find_starting_conditions() const
Check for existing calculations to find starting conditions.
RunType m_mc
Specialized Monte Carlo object to use throughout.
notstd::cloneable_ptr< MonteCarloEnum > m_enum
Enumerated configurations encountered during Monte Carlo calculations.
PrimClex is the top-level data structure for a CASM project.
A 'cloneable_ptr' can be used in place of 'unique_ptr'.
bool monte_carlo_step(RunType &monte_run)
Perform a single monte carlo step, return true if accepted.
DRIVE_MODE
How to change conditions.
INDEX_TYPE Index
For long integer indexing: