MARQOVConfig
-
class Config
We have a global marqov object that collects runtime parameters that are special for MARQOV.
Hamiltonian and lattice parameters are elsewhere.
Public Functions
-
inline Config(std::string op, int i = 0, int ri = 0, int s = 0, int nst = 250, int ws = 100, int gls = 200, int nc = 20, int nm = 10)
Constructs a MARQOV::Config object.
The standard constructor. It requires an outpath, the rest of the positional parameters are optional. logpath is by default set to outpath
- Parameters:
op – the output path.
i – id.
ri – replica id.
s – random number seed. Will be ignored if restarted
nst – number of steps
ws – warmup steps
gls – gameloop steps
nc – number of cluster updates
nm – number of metropolis updates
-
Config(const Config &rhs) = default
Default Copy Constructor of Config.
- Parameters:
rhs – the other Config object.
-
Config &operator=(const Config &rhs) = delete
The deleted assignment operator of Config.
The Configuration cannot be copied.
-
inline Config &setnmetro(int nm) noexcept
Set the number of Metropolis sweeps.
-
inline Config &setloglevel(int ll) noexcept
Set the loglevel.
Should be one of the predefined integers. The higher the integer, the higher the verbosity.
- Parameters:
ll – the loglevel for the next creation of a MARQOV object.
-
inline void dumpparamstoH5(H5::Group &mcg) const
Dump parameters to HDF5 Group.
- Parameters:
mcg – the HDF5 group where to store the parameters.
Public Members
-
std::string outname
the output filename; is empty but will be specified by a filter!
-
std::string outpath
the outpath; full filename will be “outpath/outfile.h5”
-
std::string logpath
the logpath. For lack of a better place it is currently stored here. Logfilename = logath/outname.mlog
-
int logverbosity = {DEBUG}
An integer to have runtime configurable verbostiy levels.
-
int id = {0}
id
-
int repid = {0}
replica id
-
int seed = {0}
Doing this correctly opens a whole can of worms… We now dump the RNG state.
-
int nsteps = {250}
The number of elementary Monte Carlo steps.
-
int warmupsteps = {100}
The number of steps to do for warmups.
-
int gameloopsteps = {200}
gameloop steps.
-
int ncluster = {20}
number of cluster updates.
-
int nmetro = {10}
number of Metropolis updates.
-
inline Config(std::string op, int i = 0, int ri = 0, int s = 0, int nst = 250, int ws = 100, int gls = 200, int nc = 20, int nm = 10)