Make some changes

- Add new programs
- Add command line args
- Add Usage to guide user on how to use programs
This commit is contained in:
2023-12-04 12:36:29 +01:00
parent 1089c2d110
commit 1762fc87ad
10 changed files with 464 additions and 59 deletions

View File

@@ -31,8 +31,8 @@ namespace montecarlo {
* @param cycles The amount of Monte Carlo cycles to do
* @param filename The file to write to
* */
void progression(double T, int L, int cycles,
const std::string filename);
void progression(double T, int L, int cycles, const std::string filename,
int burn_in_time = BURN_IN_TIME);
/** @brief Write the expected values for each Monte Carlo cycles to file.
*
@@ -43,7 +43,7 @@ void progression(double T, int L, int cycles,
* @param filename The file to write to
* */
void progression(double T, int L, int cycles, int value,
const std::string filename);
const std::string filename, int burn_in_time = BURN_IN_TIME);
/** @brief Estimate the probability distribution for the energy.
*
@@ -52,8 +52,8 @@ void progression(double T, int L, int cycles, int value,
* @param cycles The amount of Monte Carlo cycles to do
* @param filename The file to write to
* */
void pd_estimate(double T, int L, int cycles,
const std::string filename);
void pd_estimate(double T, int L, int cycles, const std::string filename,
int burn_in_time = BURN_IN_TIME);
/** @brief Execute the Metropolis algorithm for a certain amount of Monte
* Carlo cycles.
@@ -64,7 +64,8 @@ void pd_estimate(double T, int L, int cycles,
*
* @return data_t
* */
data_t mcmc_serial(int L, double T, int cycles, int burn_in_time = BURN_IN_TIME);
data_t mcmc_serial(int L, double T, int cycles,
int burn_in_time = BURN_IN_TIME);
/** @brief Execute the Metropolis algorithm for a certain amount of Monte
* Carlo cycles in parallel.
@@ -75,7 +76,8 @@ data_t mcmc_serial(int L, double T, int cycles, int burn_in_time = BURN_IN_TIME)
*
* @return data_t
* */
data_t mcmc_parallel(int L, double T, int cycles, int burn_in_time = BURN_IN_TIME);
data_t mcmc_parallel(int L, double T, int cycles,
int burn_in_time = BURN_IN_TIME);
/** @brief Perform the MCMC algorithm using a range of temperatures.
*
@@ -86,10 +88,10 @@ data_t mcmc_parallel(int L, double T, int cycles, int burn_in_time = BURN_IN_TIM
* @param monte_carlo Which Monte Carlo implementation to use
* @param outfile The file to write the data to
* */
void
phase_transition(int L, double start_T, double end_T, int points_T, int cycles,
std::function<data_t(int, double, int, int)> monte_carlo,
std::string outfile, int burn_in_time = BURN_IN_TIME);
void phase_transition(int L, double start_T, double end_T, int points_T,
int cycles,
std::function<data_t(int, double, int, int)> monte_carlo,
std::string outfile, int burn_in_time = BURN_IN_TIME);
}; // namespace montecarlo
#endif