Gromacs  2023.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Typedefs | Enumerations | Functions
#include <random>
#include "gromacs/utility/basedefinitions.h"
+ Include dependency graph for seed.h:
+ This graph shows which files directly or indirectly include this file:


Random seed and domain utilities.

This file contains utilities to create true random seeds from the system, and logic to keep track of different random domains for random engines such as ThreeFry that can take a second seed value.

Erik Lindahl


typedef std::random_device gmx::RandomDevice
 Random device. More...


enum  gmx::RandomDomain {
  gmx::RandomDomain::Other = 0x00000000, gmx::RandomDomain::MaxwellVelocities = 0x00001000, gmx::RandomDomain::TestParticleInsertion = 0x00002000, gmx::RandomDomain::UpdateCoordinates = 0x00003000,
  gmx::RandomDomain::UpdateConstraints = 0x00004000, gmx::RandomDomain::Thermostat = 0x00005000, gmx::RandomDomain::Barostat = 0x00006000, gmx::RandomDomain::ReplicaExchange = 0x00007000,
  gmx::RandomDomain::ExpandedEnsemble = 0x00008000, gmx::RandomDomain::AwhBiasing = 0x00009000
 Enumerated values for fixed part of random seed (domain) More...


uint64_t gmx::makeRandomSeed ()
 Return 64 random bits from the random device, suitable as seed. More...