MARQOVConfig

class MARQOV::Config

We have a global marqov object that collects runtime parameters that are special for MARQOV.

Hamiltonian and lattice parameters are elsewhere.

Public Functions

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.

Config(Config &&other) = default

Default Move constructor of Config.

Config &operator=(Config &&other) = delete

The deleted assignment move operator of Config.

Config &setrepid(int ri) noexcept

Set the replica id.

Config &setseed(int s) noexcept

Set the seed.

Config &setnsteps(int ns) noexcept

Set the number of steps.

Config &setwarmupsteps(int w) noexcept

Set the number of warmup steps.

Config &setgameloopsteps(int g) noexcept

Set the number of gameloop steps.

Config &setncluster(int nc) noexcept

Set the number of cluster updates.

Config &setnmetro(int nm) noexcept

Set the number of Metropolis sweeps.

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.

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.