Gromacs
2025-dev-20241003-bd59e46
|
#include "gmxpre.h"
#include "replicaexchange.h"
#include "config.h"
#include <cinttypes>
#include <cmath>
#include <array>
#include <filesystem>
#include <memory>
#include <random>
#include <string>
#include <vector>
#include "gromacs/domdec/collect.h"
#include "gromacs/gmxlib/network.h"
#include "gromacs/math/functions.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vec.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/mdrunutility/multisim.h"
#include "gromacs/mdtypes/commrec.h"
#include "gromacs/mdtypes/enerdata.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/mdtypes/md_enums.h"
#include "gromacs/mdtypes/state.h"
#include "gromacs/random/seed.h"
#include "gromacs/random/threefry.h"
#include "gromacs/random/uniformintdistribution.h"
#include "gromacs/random/uniformrealdistribution.h"
#include "gromacs/topology/ifunc.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/enumerationhelpers.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/pleasecite.h"
#include "gromacs/utility/smalloc.h"
Implements the replica exchange routines.
Classes | |
struct | gmx_repl_ex |
Working data for replica exchange. More... | |
Macros | |
#define | MSRANK(ms, nodeid) (nodeid) |
Rank in the multisimulation. | |
Enumerations | |
enum | ReplicaExchangeType : int { Temperature, Lambda, EndSingle, TemperatureLambda, Count } |
Enum for replica exchange flavours. | |
Functions | |
static const char * | enumValueToString (ReplicaExchangeType enumValue) |
Strings describing replica exchange flavours. More... | |
Variables | |
constexpr int | c_probabilityCutoff = 100 |
Helps cut off probability values. | |
|
static |
Strings describing replica exchange flavours.
end_single_marker merely notes the end of single variable replica exchange. All types higher than it are multiple replica exchange methods.
Eventually, should add 'pressure', 'temperature and pressure', 'lambda_and_pressure', 'temperature_lambda_pressure'?; Let's wait until we feel better about the pressure control methods giving exact ensembles. Right now, we assume constant pressure