Gromacs  2024.4
 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:

Description

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.

Author
Erik Lindahl erik..nosp@m.lind.nosp@m.ahl@g.nosp@m.mail.nosp@m..com

Typedefs

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

Enumerations

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...
 

Functions

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