"olla/vscode:/vscode.git/clone" did not exist on "63e2123d965a47a19cad778aee08d3e364bff729"
Commit f1f974c2 authored by Mark Friedrichs's avatar Mark Friedrichs
Browse files

Random number seed can now be set for initial generation of velocities

parent 589390a7
......@@ -5232,7 +5232,7 @@ double getEnergyForceBreakdown( Context& context, MapStringDouble& mapEnergies,
*
--------------------------------------------------------------------------------------- */
static void setVelocitiesBasedOnTemperature( const System& system, std::vector<Vec3>& velocities, double temperature, FILE* log ) {
static void setVelocitiesBasedOnTemperature( const System& system, int seed, std::vector<Vec3>& velocities, double temperature, FILE* log ) {
// ---------------------------------------------------------------------------------------
......@@ -5241,6 +5241,13 @@ static void setVelocitiesBasedOnTemperature( const System& system, std::vector<V
// ---------------------------------------------------------------------------------------
if( seed ){
SimTKOpenMMUtilities::setRandomNumberSeed( static_cast<uint32_t>(seed) );
if( log ){
(void) fprintf( log, "%s set random number seed to %d\n", methodName.c_str(), seed );
}
}
// set velocities based on temperature
double scaledTemperature = temperature*2.0*BOLTZ;
......@@ -5499,6 +5506,7 @@ void testEnergyConservation( std::string parameterFileName, MapStringInt& forceM
int energyMinimize = 1;
int applyAssertion = 0;
int randomNumberSeed = 0;
// tolerance for energy conservation test
......@@ -5543,7 +5551,8 @@ void testEnergyConservation( std::string parameterFileName, MapStringInt& forceM
std::vector<Vec3> velocities;
velocities.resize( numberOfAtoms );
double initialT = 300.0;
setVelocitiesBasedOnTemperature( system, velocities, initialT, log );
setIntFromMap( inputArgumentMap, "randomNumberSeed", randomNumberSeed );
setVelocitiesBasedOnTemperature( system, randomNumberSeed, velocities, initialT, log );
context->setVelocities(velocities);
// energy minimize
......
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