Commit 2284ac61 authored by Jason Swails's avatar Jason Swails
Browse files

Make it so that getRandomNumberSeed by default returns a osrngseed() result,

rather than some pre-set seed generated at construction time.

Any call to "setRandomNumberSeed" prevents this behavior (unless the generator
is seeded with 0).
parent 7cdeded0
......@@ -35,6 +35,7 @@
#include "Force.h"
#include <string>
#include "internal/windowsExport.h"
#include "openmm/internal/OSRngSeed.h"
namespace OpenMM {
......@@ -104,6 +105,8 @@ public:
* Get the random number seed. See setRandomNumberSeed() for details.
*/
int getRandomNumberSeed() const {
if (randomNumberSeed == 0)
return osrngseed();
return randomNumberSeed;
}
/**
......
......@@ -36,6 +36,7 @@
#include "Vec3.h"
#include <string>
#include "internal/windowsExport.h"
#include "openmm/internal/OSRngSeed.h"
namespace OpenMM {
......@@ -159,6 +160,8 @@ public:
* Get the random number seed. See setRandomNumberSeed() for details.
*/
int getRandomNumberSeed() const {
if (randomNumberSeed == 0)
return osrngseed();
return randomNumberSeed;
}
/**
......
......@@ -35,6 +35,7 @@
#include "Force.h"
#include <string>
#include "internal/windowsExport.h"
#include "openmm/internal/OSRngSeed.h"
namespace OpenMM {
......@@ -115,6 +116,8 @@ public:
* Get the random number seed. See setRandomNumberSeed() for details.
*/
int getRandomNumberSeed() const {
if (randomNumberSeed == 0)
return osrngseed();
return randomNumberSeed;
}
/**
......
......@@ -35,6 +35,7 @@
#include "Force.h"
#include <string>
#include "internal/windowsExport.h"
#include "openmm/internal/OSRngSeed.h"
namespace OpenMM {
......@@ -212,6 +213,8 @@ public:
* Get the random number seed. See setRandomNumberSeed() for details.
*/
int getRandomNumberSeed() const {
if (randomNumberSeed == 0)
return osrngseed();
return randomNumberSeed;
}
/**
......
......@@ -37,7 +37,7 @@ using namespace OpenMM;
AndersenThermostat::AndersenThermostat(double defaultTemperature, double defaultCollisionFrequency) :
defaultTemp(defaultTemperature), defaultFreq(defaultCollisionFrequency) {
setRandomNumberSeed(osrngseed());
setRandomNumberSeed(0);
}
ForceImpl* AndersenThermostat::createImpl() const {
......
......@@ -31,13 +31,12 @@
#include "openmm/MonteCarloAnisotropicBarostat.h"
#include "openmm/internal/MonteCarloAnisotropicBarostatImpl.h"
#include "openmm/internal/OSRngSeed.h"
using namespace OpenMM;
MonteCarloAnisotropicBarostat::MonteCarloAnisotropicBarostat(const Vec3& defaultPressure, double temperature, bool scaleX, bool scaleY, bool scaleZ, int frequency) :
defaultPressure(defaultPressure), temperature(temperature), scaleX(scaleX), scaleY(scaleY), scaleZ(scaleZ), frequency(frequency) {
setRandomNumberSeed(osrngseed());
setRandomNumberSeed(0);
}
ForceImpl* MonteCarloAnisotropicBarostat::createImpl() const {
......
......@@ -31,13 +31,12 @@
#include "openmm/MonteCarloBarostat.h"
#include "openmm/internal/MonteCarloBarostatImpl.h"
#include "openmm/internal/OSRngSeed.h"
using namespace OpenMM;
MonteCarloBarostat::MonteCarloBarostat(double defaultPressure, double temperature, int frequency) :
defaultPressure(defaultPressure), temperature(temperature), frequency(frequency) {
setRandomNumberSeed(osrngseed());
setRandomNumberSeed(0);
}
ForceImpl* MonteCarloBarostat::createImpl() const {
......
......@@ -31,14 +31,13 @@
#include "openmm/MonteCarloMembraneBarostat.h"
#include "openmm/internal/MonteCarloMembraneBarostatImpl.h"
#include "openmm/internal/OSRngSeed.h"
using namespace OpenMM;
MonteCarloMembraneBarostat::MonteCarloMembraneBarostat(double defaultPressure, double defaultSurfaceTension, double temperature, XYMode xymode, ZMode zmode, int frequency) :
defaultPressure(defaultPressure), defaultSurfaceTension(defaultSurfaceTension), temperature(temperature),
xymode(xymode), zmode(zmode), frequency(frequency) {
setRandomNumberSeed(osrngseed());
setRandomNumberSeed(0);
}
ForceImpl* MonteCarloMembraneBarostat::createImpl() const {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment