1 #ifndef CASM_MonteIO_HH
2 #define CASM_MonteIO_HH
89 return conditions_dir(cond_index) /
"initial_state_firstruneq.json";
149 double operator()(
const ConstMonteCarloPtr &mc);
166 template<
typename MonteType>
170 template<
typename MonteType>
174 template<
typename MonteType>
178 template<
typename MonteType>
182 template<
typename MonteType>
186 template<
typename MonteType>
190 template<
typename MonteType>
194 template<
typename MonteType>
199 template<
typename MonteType>
204 template<
typename MonteType>
209 template<
typename MonteType>
238 template<
typename MonteType>
242 template<
typename MonteType>
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloThermoChemSuscXFormatter(std::string comp_var_i)
Print parametric thermo-chemical susceptibility, 'susc_x(S,a)'.
void write_results(const MonteSettings &settings, const MonteType &mc, Log &_log)
Will create new file or append to existing file results of the latest run.
fs::path observations_json(int cond_index) const
"output_dir/conditions.cond_index/observations.json"
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloParamChemPotFormatter(const MonteType &mc, int index)
Print param_chem_pot(x)
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloBetaFormatter()
Print Beta.
fs::path conditions_dir(int cond_index) const
"output_dir/conditions.cond_index/"
fs::path trajectory_dir(int cond_index) const
"output_dir/conditions.cond_index/trajectory"
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloCompFormatter(const MonteType &mc, int index)
Print comp(x)
void write_conditions_json(const MonteSettings &settings, const MonteType &mc, Index cond_index, Log &_log)
Write conditions to conditions.cond_index directory.
fs::path initial_state_json(int cond_index) const
"output_dir/conditions.cond_index/initial_state.json"
fs::path occupation_key_csv() const
"output_dir/occupation_key.csv"
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloMeanFormatter(std::string prop_name)
Print mean property values:
void write_POSCAR_trajectory(const MonteCarlo &mc, Index cond_index, Log &_log)
For every snapshot taken, write a POSCAR file.
fs::path final_state_json(int cond_index) const
"output_dir/conditions.cond_index/final_state.json"
fs::path conditions_json(int cond_index) const
"output_dir/conditions.cond_index/conditions.json"
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloCovFormatter(std::string prop_name1, std::string prop_name2)
Print covariance: cov(prop_name1, prop_name2)
fs::path trajectory_json(int cond_index) const
"output_dir/conditions.cond_index/trajectory.json"
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloCompNFormatter(const MonteType &mc, int index)
Print comp_n(N)
CovEvaluator(std::string _prop_name1, std::string _prop_name2)
GenericDatumFormatter< bool, ConstMonteCarloPtr > MonteCarloIsConvergedFormatter()
Print if converged.
GenericDatumFormatter< MonteCounter::size_type, std::pair< ConstMonteCarloPtr, Index > > MonteCarloStepFormatter()
Print Step number of observation.
std::string to_string(ENUM val)
Return string representation of enum class.
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloHeatCapacityFormatter()
Print heat capacity, 'heat_capacity'.
fs::path results_json() const
Results summary: "output_dir/results.json".
fs::path trajectory_csv(int cond_index) const
"output_dir/conditions.cond_index/trajectory.csv"
fs::path results_csv() const
Results summary: "output_dir/results.csv".
GenericDatumFormatter< double, std::pair< ConstMonteCarloPtr, Index > > MonteCarloObservationFormatter(std::string prop_name)
Print value of observation.
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloSuscXFormatter(std::string comp_var_i, std::string comp_var_j)
Print parametric susceptibility, 'susc_x(a,b)'.
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloChemPotFormatter(const MonteType &mc, int index)
Print chem_pot(N)
fs::path POSCAR_snapshot(int cond_index, MonteSampler::size_type sample_index)
"output_dir/conditions.cond_index/trajectory/POSCAR.sample"
DataFormatter< std::pair< ConstMonteCarloPtr, Index > > make_observation_formatter(const MonteCarlo &mc)
Make a observation formatter.
GenericDatumFormatter< MonteCounter::size_type, std::pair< ConstMonteCarloPtr, Index > > MonteCarloPassFormatter()
Print Pass number of observation.
fs::path output_dir() const
"output_dir/"
MonteCarloDirectoryStructure(fs::path output_dir)
void write_POSCAR_initial(const MonteCarlo &mc, Index cond_index, Log &_log)
For the initial state, write a POSCAR file.
void write_trajectory(const MonteSettings &settings, const MonteCarlo &mc, Index cond_index, Log &_log)
Will create (and possibly overwrite) new file with all observations from run with conditions...
EigenIndex Index
For long integer indexing:
DataFormatter< std::pair< ConstMonteCarloPtr, Index > > make_trajectory_formatter(const MonteCarlo &mc)
Make a trajectory formatter.
GenericDatumFormatter< MonteSampler::size_type, ConstMonteCarloPtr > MonteCarloNAvgSamplesFormatter()
Print number of samples used in calculating means.
void write_observations(const MonteSettings &settings, const MonteCarlo &mc, Index cond_index, Log &_log)
Will create (and possibly overwrite) new file with all observations from run with conditions...
MCData::size_type size_type
fs::path POSCAR_initial(int cond_index)
"output_dir/conditions.cond_index/trajectory/POSCAR.initial"
Interface base class for all types of Monte Carlo simulations (not meant to be used polymorphically) ...
fs::path POSCAR_final(int cond_index)
"output_dir/conditions.cond_index/trajectory/POSCAR.final"
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloSuscNFormatter(std::string species_i, std::string species_j)
Print susceptibility, 'susc_n(A,B)'.
fs::path initial_state_runeq_json(int cond_index) const
"output_dir/conditions.cond_index/final_state.json"
void write_POSCAR_final(const MonteCarlo &mc, Index cond_index, Log &_log)
For the final state, write a POSCAR file.
Functor to help evaluate covariance.
GenericDatumFormatter< bool, ConstMonteCarloPtr > MonteCarloIsEquilibratedFormatter()
Print if equilibrated (not counting explicitly requested equilibration)
GenericDatumFormatter< int, std::pair< ConstMonteCarloPtr, Index > > MonteCarloOccFormatter(Index occ_index)
Print value of a particular occupation variable.
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloTFormatter()
Print Temperature.
fs::path occupation_key_json() const
"output_dir/occupation_key.csv"
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloThermoChemSuscNFormatter(std::string species_i)
Print thermo-chemical susceptibility, 'susc_n(S,A)'.
double operator()(const ConstMonteCarloPtr &mc)
GenericDatumFormatter< MonteSampler::size_type, ConstMonteCarloPtr > MonteCarloNEquilSamplesFormatter()
Print number of samples used for equilibration (not counting explicitly requested equilibration) ...
Settings for Monte Carlo calculations.
GenericDatumFormatter< double, ConstMonteCarloPtr > MonteCarloPrecFormatter(std::string prop_name)
Print calculated precision of property values: prec(
)
fs::path observations_csv(int cond_index) const
"output_dir/conditions.cond_index/observations.csv"
const MonteCarlo * ConstMonteCarloPtr
const pointer to const MonteCarlo
fs::path initial_state_firstruneq_json(int cond_index) const
"output_dir/conditions.cond_index/initial_state_firstruneq.json"