Commit 7d4b549d authored by Peter Eastman's avatar Peter Eastman
Browse files

Trying to use an Integrator for multiple Contexts produces an exception

parent 2b475dd3
...@@ -79,7 +79,6 @@ void testAngles() { ...@@ -79,7 +79,6 @@ void testAngles() {
harmonicSystem.addParticle(1.0); harmonicSystem.addParticle(1.0);
harmonicSystem.addParticle(1.0); harmonicSystem.addParticle(1.0);
harmonicSystem.addParticle(1.0); harmonicSystem.addParticle(1.0);
VerletIntegrator integrator(0.01);
HarmonicAngleForce* harmonic = new HarmonicAngleForce(); HarmonicAngleForce* harmonic = new HarmonicAngleForce();
harmonic->addAngle(0, 1, 2, 1.5, 0.8); harmonic->addAngle(0, 1, 2, 1.5, 0.8);
harmonic->addAngle(1, 2, 3, 2.0, 0.5); harmonic->addAngle(1, 2, 3, 2.0, 0.5);
...@@ -91,9 +90,9 @@ void testAngles() { ...@@ -91,9 +90,9 @@ void testAngles() {
init_gen_rand(0, sfmt); init_gen_rand(0, sfmt);
vector<Vec3> positions(4); vector<Vec3> positions(4);
for (int i = 0; i < 10; i++) {
VerletIntegrator integrator1(0.01); VerletIntegrator integrator1(0.01);
VerletIntegrator integrator2(0.01); VerletIntegrator integrator2(0.01);
for (int i = 0; i < 10; i++) {
Context c1(customSystem, integrator1, platform); Context c1(customSystem, integrator1, platform);
Context c2(harmonicSystem, integrator2, platform); Context c2(harmonicSystem, integrator2, platform);
for (int j = 0; j < (int) positions.size(); j++) for (int j = 0; j < (int) positions.size(); j++)
......
...@@ -109,9 +109,9 @@ void testHbond() { ...@@ -109,9 +109,9 @@ void testHbond() {
init_gen_rand(0, sfmt); init_gen_rand(0, sfmt);
vector<Vec3> positions(5); vector<Vec3> positions(5);
for (int i = 0; i < 10; i++) {
VerletIntegrator integrator1(0.01); VerletIntegrator integrator1(0.01);
VerletIntegrator integrator2(0.01); VerletIntegrator integrator2(0.01);
for (int i = 0; i < 10; i++) {
Context c1(customSystem, integrator1, platform); Context c1(customSystem, integrator1, platform);
Context c2(standardSystem, integrator2, platform); Context c2(standardSystem, integrator2, platform);
for (int j = 0; j < (int) positions.size(); j++) for (int j = 0; j < (int) positions.size(); j++)
......
...@@ -177,7 +177,6 @@ void testEnergyEthaneSwitchingFunction( int useSwitchingFunction ) { ...@@ -177,7 +177,6 @@ void testEnergyEthaneSwitchingFunction( int useSwitchingFunction ) {
for( int i = 0; i < numParticles; i++ ){ for( int i = 0; i < numParticles; i++ ){
system.addParticle(1.0); system.addParticle(1.0);
} }
LangevinIntegrator integrator(0, 0.1, 0.01);
double C_HBondDistance = 0.1097; double C_HBondDistance = 0.1097;
double C_CBondDistance = 0.1504; double C_CBondDistance = 0.1504;
...@@ -282,8 +281,10 @@ void testEnergyEthaneSwitchingFunction( int useSwitchingFunction ) { ...@@ -282,8 +281,10 @@ void testEnergyEthaneSwitchingFunction( int useSwitchingFunction ) {
system.addForce(nonbonded); system.addForce(nonbonded);
Context referenceContext(system, integrator, referencePlatform); LangevinIntegrator integrator1(0, 0.1, 0.01);
Context context(system, integrator, platform); LangevinIntegrator integrator2(0, 0.1, 0.01);
Context referenceContext(system, integrator1, referencePlatform);
Context context(system, integrator2, platform);
vector<Vec3> positions(numParticles); vector<Vec3> positions(numParticles);
positions[0] = Vec3(0.5480, 1.7661, 0.0000); positions[0] = Vec3(0.5480, 1.7661, 0.0000);
......
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