Commit ede48b85 authored by peastman's avatar peastman
Browse files

Include force groups when serializing forces

parent 7a6f4b2f
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
CMAPTorsionForce force; CMAPTorsionForce force;
force.setForceGroup(3);
vector<double> map1(9); vector<double> map1(9);
for (int i = 0; i < 9; i++) for (int i = 0; i < 9; i++)
map1[i] = 0.1*i; map1[i] = 0.1*i;
...@@ -64,6 +65,7 @@ void testSerialization() { ...@@ -64,6 +65,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
CMAPTorsionForce& force2 = *copy; CMAPTorsionForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getNumMaps(), force2.getNumMaps()); ASSERT_EQUAL(force.getNumMaps(), force2.getNumMaps());
for (int i = 0; i < force.getNumMaps(); i++) { for (int i = 0; i < force.getNumMaps(); i++) {
int size1, size2; int size1, size2;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
CMMotionRemover force(5); CMMotionRemover force(5);
force.setForceGroup(3);
// Serialize and then deserialize it. // Serialize and then deserialize it.
...@@ -52,6 +53,7 @@ void testSerialization() { ...@@ -52,6 +53,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
CMMotionRemover& force2 = *copy; CMMotionRemover& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getFrequency(), force2.getFrequency()); ASSERT_EQUAL(force.getFrequency(), force2.getFrequency());
} }
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
CustomAngleForce force("5*sin(x)^2+y*z"); CustomAngleForce force("5*sin(x)^2+y*z");
force.setForceGroup(3);
force.addGlobalParameter("x", 1.3); force.addGlobalParameter("x", 1.3);
force.addGlobalParameter("y", 2.221); force.addGlobalParameter("y", 2.221);
force.addPerAngleParameter("z"); force.addPerAngleParameter("z");
...@@ -62,6 +63,7 @@ void testSerialization() { ...@@ -62,6 +63,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
CustomAngleForce& force2 = *copy; CustomAngleForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction()); ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction());
ASSERT_EQUAL(force.getNumPerAngleParameters(), force2.getNumPerAngleParameters()); ASSERT_EQUAL(force.getNumPerAngleParameters(), force2.getNumPerAngleParameters());
for (int i = 0; i < force.getNumPerAngleParameters(); i++) for (int i = 0; i < force.getNumPerAngleParameters(); i++)
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
CustomBondForce force("5*sin(x)^2+y*z"); CustomBondForce force("5*sin(x)^2+y*z");
force.setForceGroup(3);
force.addGlobalParameter("x", 1.3); force.addGlobalParameter("x", 1.3);
force.addGlobalParameter("y", 2.221); force.addGlobalParameter("y", 2.221);
force.addPerBondParameter("z"); force.addPerBondParameter("z");
...@@ -62,6 +63,7 @@ void testSerialization() { ...@@ -62,6 +63,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
CustomBondForce& force2 = *copy; CustomBondForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction()); ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction());
ASSERT_EQUAL(force.getNumPerBondParameters(), force2.getNumPerBondParameters()); ASSERT_EQUAL(force.getNumPerBondParameters(), force2.getNumPerBondParameters());
for (int i = 0; i < force.getNumPerBondParameters(); i++) for (int i = 0; i < force.getNumPerBondParameters(); i++)
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010-2012 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
CustomCompoundBondForce force(3, "5*sin(distance(p1,p2))^2+y*z"); CustomCompoundBondForce force(3, "5*sin(distance(p1,p2))^2+y*z");
force.setForceGroup(3);
force.addGlobalParameter("x", 1.3); force.addGlobalParameter("x", 1.3);
force.addGlobalParameter("y", 2.221); force.addGlobalParameter("y", 2.221);
force.addPerBondParameter("z"); force.addPerBondParameter("z");
...@@ -76,6 +77,7 @@ void testSerialization() { ...@@ -76,6 +77,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
CustomCompoundBondForce& force2 = *copy; CustomCompoundBondForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getNumParticlesPerBond(), force2.getNumParticlesPerBond()); ASSERT_EQUAL(force.getNumParticlesPerBond(), force2.getNumParticlesPerBond());
ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction()); ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction());
ASSERT_EQUAL(force.getNumPerBondParameters(), force2.getNumPerBondParameters()); ASSERT_EQUAL(force.getNumPerBondParameters(), force2.getNumPerBondParameters());
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
CustomExternalForce force("5*sin(x)^2+y*z"); CustomExternalForce force("5*sin(x)^2+y*z");
force.setForceGroup(3);
force.addGlobalParameter("x", 1.3); force.addGlobalParameter("x", 1.3);
force.addGlobalParameter("y", 2.221); force.addGlobalParameter("y", 2.221);
force.addPerParticleParameter("z"); force.addPerParticleParameter("z");
...@@ -62,6 +63,7 @@ void testSerialization() { ...@@ -62,6 +63,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
CustomExternalForce& force2 = *copy; CustomExternalForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction()); ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction());
ASSERT_EQUAL(force.getNumPerParticleParameters(), force2.getNumPerParticleParameters()); ASSERT_EQUAL(force.getNumPerParticleParameters(), force2.getNumPerParticleParameters());
for (int i = 0; i < force.getNumPerParticleParameters(); i++) for (int i = 0; i < force.getNumPerParticleParameters(); i++)
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
CustomGBForce force; CustomGBForce force;
force.setForceGroup(3);
force.setNonbondedMethod(CustomGBForce::CutoffPeriodic); force.setNonbondedMethod(CustomGBForce::CutoffPeriodic);
force.setCutoffDistance(2.1); force.setCutoffDistance(2.1);
force.addGlobalParameter("x", 1.3); force.addGlobalParameter("x", 1.3);
...@@ -74,6 +75,7 @@ void testSerialization() { ...@@ -74,6 +75,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
CustomGBForce& force2 = *copy; CustomGBForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod()); ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod());
ASSERT_EQUAL(force.getCutoffDistance(), force2.getCutoffDistance()); ASSERT_EQUAL(force.getCutoffDistance(), force2.getCutoffDistance());
ASSERT_EQUAL(force.getNumPerParticleParameters(), force2.getNumPerParticleParameters()); ASSERT_EQUAL(force.getNumPerParticleParameters(), force2.getNumPerParticleParameters());
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
CustomHbondForce force("5*sin(x)^2+y*z"); CustomHbondForce force("5*sin(x)^2+y*z");
force.setForceGroup(3);
force.setNonbondedMethod(CustomHbondForce::CutoffPeriodic); force.setNonbondedMethod(CustomHbondForce::CutoffPeriodic);
force.setCutoffDistance(2.1); force.setCutoffDistance(2.1);
force.addGlobalParameter("x", 1.3); force.addGlobalParameter("x", 1.3);
...@@ -77,6 +78,7 @@ void testSerialization() { ...@@ -77,6 +78,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
CustomHbondForce& force2 = *copy; CustomHbondForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction()); ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction());
ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod()); ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod());
ASSERT_EQUAL(force.getCutoffDistance(), force2.getCutoffDistance()); ASSERT_EQUAL(force.getCutoffDistance(), force2.getCutoffDistance());
......
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
CustomNonbondedForce force("5*sin(x)^2+y*z"); CustomNonbondedForce force("5*sin(x)^2+y*z");
force.setForceGroup(3);
force.setNonbondedMethod(CustomNonbondedForce::CutoffPeriodic); force.setNonbondedMethod(CustomNonbondedForce::CutoffPeriodic);
force.setUseSwitchingFunction(true); force.setUseSwitchingFunction(true);
force.setUseLongRangeCorrection(true); force.setUseLongRangeCorrection(true);
...@@ -78,6 +79,7 @@ void testSerialization() { ...@@ -78,6 +79,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
CustomNonbondedForce& force2 = *copy; CustomNonbondedForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction()); ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction());
ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod()); ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod());
ASSERT_EQUAL(force.getCutoffDistance(), force2.getCutoffDistance()); ASSERT_EQUAL(force.getCutoffDistance(), force2.getCutoffDistance());
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
CustomTorsionForce force("5*sin(x)^2+y*z"); CustomTorsionForce force("5*sin(x)^2+y*z");
force.setForceGroup(3);
force.addGlobalParameter("x", 1.3); force.addGlobalParameter("x", 1.3);
force.addGlobalParameter("y", 2.221); force.addGlobalParameter("y", 2.221);
force.addPerTorsionParameter("z"); force.addPerTorsionParameter("z");
...@@ -62,6 +63,7 @@ void testSerialization() { ...@@ -62,6 +63,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
CustomTorsionForce& force2 = *copy; CustomTorsionForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction()); ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction());
ASSERT_EQUAL(force.getNumPerTorsionParameters(), force2.getNumPerTorsionParameters()); ASSERT_EQUAL(force.getNumPerTorsionParameters(), force2.getNumPerTorsionParameters());
for (int i = 0; i < force.getNumPerTorsionParameters(); i++) for (int i = 0; i < force.getNumPerTorsionParameters(); i++)
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
GBSAOBCForce force; GBSAOBCForce force;
force.setForceGroup(3);
force.setNonbondedMethod(GBSAOBCForce::CutoffPeriodic); force.setNonbondedMethod(GBSAOBCForce::CutoffPeriodic);
force.setCutoffDistance(2.0); force.setCutoffDistance(2.0);
force.setSoluteDielectric(5.1); force.setSoluteDielectric(5.1);
...@@ -59,6 +60,7 @@ void testSerialization() { ...@@ -59,6 +60,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
GBSAOBCForce& force2 = *copy; GBSAOBCForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod()); ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod());
ASSERT_EQUAL(force.getCutoffDistance(), force2.getCutoffDistance()); ASSERT_EQUAL(force.getCutoffDistance(), force2.getCutoffDistance());
ASSERT_EQUAL(force.getSoluteDielectric(), force2.getSoluteDielectric()); ASSERT_EQUAL(force.getSoluteDielectric(), force2.getSoluteDielectric());
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
GBVIForce force; GBVIForce force;
force.setForceGroup(3);
force.setNonbondedMethod(GBVIForce::CutoffPeriodic); force.setNonbondedMethod(GBVIForce::CutoffPeriodic);
force.setBornRadiusScalingMethod(GBVIForce::QuinticSpline); force.setBornRadiusScalingMethod(GBVIForce::QuinticSpline);
force.setQuinticLowerLimitFactor(0.123); force.setQuinticLowerLimitFactor(0.123);
...@@ -64,6 +65,7 @@ void testSerialization() { ...@@ -64,6 +65,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
GBVIForce& force2 = *copy; GBVIForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod()); ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod());
ASSERT_EQUAL(force.getCutoffDistance(), force2.getCutoffDistance()); ASSERT_EQUAL(force.getCutoffDistance(), force2.getCutoffDistance());
ASSERT_EQUAL(force.getSoluteDielectric(), force2.getSoluteDielectric()); ASSERT_EQUAL(force.getSoluteDielectric(), force2.getSoluteDielectric());
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
HarmonicAngleForce force; HarmonicAngleForce force;
force.setForceGroup(3);
force.addAngle(0, 1, 2, 1.0, 2.0); force.addAngle(0, 1, 2, 1.0, 2.0);
force.addAngle(0, 2, 3, 2.0, 2.1); force.addAngle(0, 2, 3, 2.0, 2.1);
force.addAngle(2, 3, 4, 3.0, 2.2); force.addAngle(2, 3, 4, 3.0, 2.2);
...@@ -56,6 +57,7 @@ void testSerialization() { ...@@ -56,6 +57,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
HarmonicAngleForce& force2 = *copy; HarmonicAngleForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getNumAngles(), force2.getNumAngles()); ASSERT_EQUAL(force.getNumAngles(), force2.getNumAngles());
for (int i = 0; i < force.getNumAngles(); i++) { for (int i = 0; i < force.getNumAngles(); i++) {
int a1, a2, a3, b1, b2, b3; int a1, a2, a3, b1, b2, b3;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
HarmonicBondForce force; HarmonicBondForce force;
force.setForceGroup(3);
force.addBond(0, 1, 1.0, 2.0); force.addBond(0, 1, 1.0, 2.0);
force.addBond(0, 2, 2.0, 2.1); force.addBond(0, 2, 2.0, 2.1);
force.addBond(2, 3, 3.0, 2.2); force.addBond(2, 3, 3.0, 2.2);
...@@ -56,6 +57,7 @@ void testSerialization() { ...@@ -56,6 +57,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
HarmonicBondForce& force2 = *copy; HarmonicBondForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getNumBonds(), force2.getNumBonds()); ASSERT_EQUAL(force.getNumBonds(), force2.getNumBonds());
for (int i = 0; i < force.getNumBonds(); i++) { for (int i = 0; i < force.getNumBonds(); i++) {
int a1, a2, b1, b2; int a1, a2, b1, b2;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
MonteCarloBarostat force(25.5, 250.0, 14); MonteCarloBarostat force(25.5, 250.0, 14);
force.setForceGroup(3);
force.setRandomNumberSeed(3); force.setRandomNumberSeed(3);
// Serialize and then deserialize it. // Serialize and then deserialize it.
...@@ -53,6 +54,7 @@ void testSerialization() { ...@@ -53,6 +54,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
MonteCarloBarostat& force2 = *copy; MonteCarloBarostat& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getDefaultPressure(), force2.getDefaultPressure()); ASSERT_EQUAL(force.getDefaultPressure(), force2.getDefaultPressure());
ASSERT_EQUAL(force.getTemperature(), force2.getTemperature()); ASSERT_EQUAL(force.getTemperature(), force2.getTemperature());
ASSERT_EQUAL(force.getFrequency(), force2.getFrequency()); ASSERT_EQUAL(force.getFrequency(), force2.getFrequency());
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
NonbondedForce force; NonbondedForce force;
force.setForceGroup(3);
force.setNonbondedMethod(NonbondedForce::CutoffPeriodic); force.setNonbondedMethod(NonbondedForce::CutoffPeriodic);
force.setSwitchingDistance(1.5); force.setSwitchingDistance(1.5);
force.setUseSwitchingFunction(true); force.setUseSwitchingFunction(true);
...@@ -67,6 +68,7 @@ void testSerialization() { ...@@ -67,6 +68,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
NonbondedForce& force2 = *copy; NonbondedForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod()); ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod());
ASSERT_EQUAL(force.getSwitchingDistance(), force2.getSwitchingDistance()); ASSERT_EQUAL(force.getSwitchingDistance(), force2.getSwitchingDistance());
ASSERT_EQUAL(force.getUseSwitchingFunction(), force2.getUseSwitchingFunction()); ASSERT_EQUAL(force.getUseSwitchingFunction(), force2.getUseSwitchingFunction());
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
PeriodicTorsionForce force; PeriodicTorsionForce force;
force.setForceGroup(3);
force.addTorsion(0, 1, 2, 3, 2, 1.0, 2.0); force.addTorsion(0, 1, 2, 3, 2, 1.0, 2.0);
force.addTorsion(0, 2, 3, 4, 2, 2.0, 2.1); force.addTorsion(0, 2, 3, 4, 2, 2.0, 2.1);
force.addTorsion(2, 3, 4, 7, 1, 3.0, 2.2); force.addTorsion(2, 3, 4, 7, 1, 3.0, 2.2);
...@@ -56,6 +57,7 @@ void testSerialization() { ...@@ -56,6 +57,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
PeriodicTorsionForce& force2 = *copy; PeriodicTorsionForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getNumTorsions(), force2.getNumTorsions()); ASSERT_EQUAL(force.getNumTorsions(), force2.getNumTorsions());
for (int i = 0; i < force.getNumTorsions(); i++) { for (int i = 0; i < force.getNumTorsions(); i++) {
int a1, a2, a3, a4, b1, b2, b3, b4, perioda, periodb; int a1, a2, a3, a4, b1, b2, b3, b4, perioda, periodb;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Biological Structures at Stanford, funded under the NIH Roadmap for * * Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. * * Medical Research, grant U54 GM072970. See https://simtk.org. *
* * * *
* Portions copyright (c) 2010 Stanford University and the Authors. * * Portions copyright (c) 2010-2014 Stanford University and the Authors. *
* Authors: Peter Eastman * * Authors: Peter Eastman *
* Contributors: * * Contributors: *
* * * *
...@@ -42,6 +42,7 @@ void testSerialization() { ...@@ -42,6 +42,7 @@ void testSerialization() {
// Create a Force. // Create a Force.
RBTorsionForce force; RBTorsionForce force;
force.setForceGroup(3);
force.addTorsion(0, 1, 2, 3, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6); force.addTorsion(0, 1, 2, 3, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6);
force.addTorsion(0, 2, 3, 4, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7); force.addTorsion(0, 2, 3, 4, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7);
force.addTorsion(2, 3, 4, 7, -1, -2, -3, 1.1, 2.2, 3.3); force.addTorsion(2, 3, 4, 7, -1, -2, -3, 1.1, 2.2, 3.3);
...@@ -55,6 +56,7 @@ void testSerialization() { ...@@ -55,6 +56,7 @@ void testSerialization() {
// Compare the two forces to see if they are identical. // Compare the two forces to see if they are identical.
RBTorsionForce& force2 = *copy; RBTorsionForce& force2 = *copy;
ASSERT_EQUAL(force.getForceGroup(), force2.getForceGroup());
ASSERT_EQUAL(force.getNumTorsions(), force2.getNumTorsions()); ASSERT_EQUAL(force.getNumTorsions(), force2.getNumTorsions());
for (int i = 0; i < force.getNumTorsions(); i++) { for (int i = 0; i < force.getNumTorsions(); i++) {
int a1, a2, a3, a4, b1, b2, b3, b4; int a1, a2, a3, a4, b1, b2, b3, b4;
......
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