#include <simulation.h>
|
template<class M > |
void | simulate (const M &model) |
| performs a production-run.
More...
|
|
template<class M > |
float | metropolisSweep (const M &model) |
| performs one Monte-Carlo step, updating the entire grid associated with a certain model and calculates the energy difference More...
|
|
Definition at line 13 of file simulation.h.
◆ MetropolisSimulation()
HB::MetropolisSimulation::MetropolisSimulation |
( |
const Grid< short int > & |
grid, |
|
|
const float |
beta, |
|
|
const size_t |
steps |
|
) |
| |
|
inline |
◆ metropolisSweep()
template<class M >
float HB::MetropolisSimulation::metropolisSweep |
( |
const M & |
model | ) |
|
|
private |
performs one Monte-Carlo step, updating the entire grid associated with a certain model and calculates the energy difference
- Parameters
-
Reference | to the model |
beta | Inverse Temperature |
rng | Pointer to the state of the GSL RNG |
- Returns
- Energy difference
◆ operator()()
template<class M >
void HB::MetropolisSimulation::operator() |
( |
const M & |
model | ) |
const |
|
inline |
◆ simulate()
template<class M >
void HB::MetropolisSimulation::simulate |
( |
const M & |
model | ) |
|
|
private |
performs a production-run.
A production run consists of a number of MC sweeps producing correlated energies
- Parameters
-
Reference | to the model |
beta | Inverse temperature |
V | Volume |
steps | Number of MC sweeps |
energies | Gets overridden with a standard vector of correlated energies (initial and one for each step) |
◆ mBeta
float HB::MetropolisSimulation::mBeta {1.0f} |
|
private |
◆ mEnergies
std::vector<float> HB::MetropolisSimulation::mEnergies {} |
|
private |
◆ mGrid
std::shared_ptr<Grid<short int> > HB::MetropolisSimulation::mGrid {} |
|
private |
◆ mMagnetization
std::vector<float> HB::MetropolisSimulation::mMagnetization {} |
|
private |
◆ mSteps
size_t HB::MetropolisSimulation::mSteps {1000} |
|
private |
The documentation for this class was generated from the following file: