Gromacs  2020.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Enumerations | Variables
replicaexchange.cpp File Reference
#include "gmxpre.h"
#include "replicaexchange.h"
#include "config.h"
#include <cmath>
#include <random>
#include "gromacs/domdec/collect.h"
#include "gromacs/gmxlib/network.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vec.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/threefry.h"
#include "gromacs/random/uniformintdistribution.h"
#include "gromacs/random/uniformrealdistribution.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/pleasecite.h"
#include "gromacs/utility/smalloc.h"
+ Include dependency graph for replicaexchange.cpp:

Description

Implements the replica exchange routines.

Author
David van der Spoel david.nosp@m..van.nosp@m.dersp.nosp@m.oel@.nosp@m.icm.u.nosp@m.u.se
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Classes

struct  gmx_repl_ex
 Working data for replica exchange. More...
 

Macros

#define MSRANK(ms, nodeid)   (nodeid)
 Rank in the multisimulation.
 

Enumerations

enum  {
  ereTEMP, ereLAMBDA, ereENDSINGLE, ereTL,
  ereNR
}
 Enum for replica exchange flavours.
 

Variables

constexpr int c_probabilityCutoff = 100
 Helps cut off probability values.
 
static const char * erename [ereNR]
 Strings describing replica exchange flavours. More...
 

Variable Documentation

const char* erename[ereNR]
static
Initial value:
= { "temperature", "lambda", "end_single_marker",
"temperature and lambda" }

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