|
2 Dimensional Ising Model
Simulate the change in energy and magnetization in a ferro magnet
|
Implementation of the monte carlo functions. More...
Go to the source code of this file.
Functions | |
| void | monte_carlo_progression (double T, int L, int cycles, const std::string filename) |
| Write the expected values for each Monte Carlo cycles to file. | |
| void | monte_carlo_progression (double T, int L, int cycles, int value, const std::string filename) |
| Write the expected values for each Monte Carlo cycles to file. | |
| void | pd_estimate (double T, int L, int cycles, const std::string filename) |
| Estimate the probability distribution for the energy. | |
| data_t | monte_carlo_serial (int L, double T, int cycles) |
| Execute the Metropolis algorithm for a certain amount of Monte Carlo cycles. | |
| data_t | monte_carlo_parallel (int L, double T, int cycles) |
| Execute the Metropolis algorithm for a certain amount of Monte Carlo cycles in parallel. | |
| void | phase_transition (int L, double start, double end, int points, std::function< data_t(int, double, int)> monte_carlo, std::string outfile) |
| Perform the MCMC algorithm using a range of temperatures. | |
Implementation of the monte carlo functions.
Definition in file monte_carlo.cpp.
| data_t monte_carlo_parallel | ( | int | L, |
| double | T, | ||
| int | cycles | ||
| ) |
Execute the Metropolis algorithm for a certain amount of Monte Carlo cycles in parallel.
| L | The size of the lattice |
| T | The Temperature for the Ising model |
| cycles | The amount of Monte Carlo cycles to do |
Definition at line 128 of file monte_carlo.cpp.
| void monte_carlo_progression | ( | double | T, |
| int | L, | ||
| int | cycles, | ||
| const std::string | filename | ||
| ) |
Write the expected values for each Monte Carlo cycles to file.
| T | Temperature |
| L | The size of the lattice |
| cycles | The amount of Monte Carlo cycles to do |
| filename | The file to write to |
Definition at line 17 of file monte_carlo.cpp.
| void monte_carlo_progression | ( | double | T, |
| int | L, | ||
| int | cycles, | ||
| int | value, | ||
| const std::string | filename | ||
| ) |
Write the expected values for each Monte Carlo cycles to file.
| T | Temperature |
| L | The size of the lattice |
| cycles | The amount of Monte Carlo cycles to do |
| value | The value to set the elements in the lattice |
| filename | The file to write to |
Definition at line 51 of file monte_carlo.cpp.
| data_t monte_carlo_serial | ( | int | L, |
| double | T, | ||
| int | cycles | ||
| ) |
Execute the Metropolis algorithm for a certain amount of Monte Carlo cycles.
| L | The size of the lattice |
| T | The Temperature for the Ising model |
| cycles | The amount of Monte Carlo cycles to do |
Definition at line 111 of file monte_carlo.cpp.
| void pd_estimate | ( | double | T, |
| int | L, | ||
| int | cycles, | ||
| const std::string | filename | ||
| ) |
Estimate the probability distribution for the energy.
| T | The temperature of the Ising model |
| L | The size of the lattice |
| cycles | The amount of Monte Carlo cycles to do |
| filename | The file to write to |
Definition at line 85 of file monte_carlo.cpp.
| void phase_transition | ( | int | L, |
| double | start_T, | ||
| double | end_T, | ||
| int | points_T, | ||
| std::function< data_t(int, double, int)> | monte_carlo, | ||
| std::string | outfile | ||
| ) |
Perform the MCMC algorithm using a range of temperatures.
| L | The size of the lattice |
| start_T | The start temperature |
| end_T | The end temperature |
| point_T | The amount of point to measure |
| monte_carlo | Which Monte Carlo implementation to use |
| outfile | The file to write the data to |
Definition at line 156 of file monte_carlo.cpp.