"wrappers/vscode:/vscode.git/clone" did not exist on "28fb291862fd3d1b41cdd79c23fabb4ca6b212f7"
Commit 792b89ee authored by Jason Swails's avatar Jason Swails
Browse files

Make return units for AmoebaGeneralizedKirkwoodForce consistent with what the

docstring says it should be (kJ/nm^2) -- the swig input generator had the
inverse.

Adds a test case for the AmoebaGeneralizedKirkwoodForce API.
parent 39a871df
......@@ -216,7 +216,7 @@ UNITS = {
("AmoebaGeneralizedKirkwoodForce", "getDielectricOffset") : ( 'unit.nanometer', ()),
("AmoebaGeneralizedKirkwoodForce", "getIncludeCavityTerm") : ( None,()),
("AmoebaGeneralizedKirkwoodForce", "getProbeRadius") : ( 'unit.nanometer', ()),
("AmoebaGeneralizedKirkwoodForce", "getSurfaceAreaFactor") : ( '(unit.nanometer*unit.nanometer)/unit.kilojoule_per_mole',()),
("AmoebaGeneralizedKirkwoodForce", "getSurfaceAreaFactor") : ( 'unit.kilojoule_per_mole/(unit.nanometer*unit.nanometer)',()),
("AmoebaAngleForce", "getAmoebaGlobalAngleCubic") : ( '1/unit.radian',()),
("AmoebaAngleForce", "getAmoebaGlobalAngleQuartic") : ( '1/unit.radian**2',()),
......
......@@ -591,5 +591,50 @@ class TestAPIUnits(unittest.TestCase):
self.assertAlmostEqualUnit(tk, 1.5*kilojoules_per_mole/radians**2)
self.assertIs(tk.unit, kilojoules_per_mole/radians**2)
def testGeneralizedKirkwood(self):
""" Tests the AmoebaGeneralizedKirkwoodForce API features """
force = AmoebaGeneralizedKirkwoodForce()
self.assertEqual(force.getProbeRadius(), 0.14*nanometer) # default
force.setProbeRadius(0.16)
self.assertEqual(force.getProbeRadius(), 0.16*nanometer)
self.assertIs(force.getProbeRadius().unit, nanometer)
force.setProbeRadius(1.4*angstrom)
self.assertEqual(force.getProbeRadius(), 1.4*angstrom)
self.assertIs(force.getProbeRadius().unit, nanometer)
self.assertEqual(force.getSoluteDielectric(), 1.0) # default
force.setSoluteDielectric(2.0)
self.assertEqual(force.getSoluteDielectric(), 2.0)
self.assertEqual(force.getSolventDielectric(), 78.3) # default
force.setSolventDielectric(80)
self.assertEqual(force.getSolventDielectric(), 80)
self.assertEqual(force.getSurfaceAreaFactor(),
-170.35173066268223*kilojoule_per_mole/nanometer**2) # default
force.setSurfaceAreaFactor(-1.0*kilocalorie_per_mole/angstrom**2)
self.assertAlmostEqualUnit(force.getSurfaceAreaFactor(),
-1.0*kilocalorie_per_mole/angstrom**2) # default
force.addParticle(1.0*coulomb, 1.0*angstroms, 0.5)
force.addParticle(1.0, 1.0, 0.4)
self.assertEqual(force.getNumParticles(), 2)
q, r, s = force.getParticleParameters(0)
self.assertAlmostEqualUnit(q, 1.0*coulomb)
self.assertIs(q.unit, elementary_charge)
self.assertEqual(r, 1.0*angstroms)
self.assertIs(r.unit, nanometer)
self.assertEqual(s, 0.5)
q, r, s = force.getParticleParameters(1)
self.assertAlmostEqualUnit(q, 1.0*elementary_charge)
self.assertIs(q.unit, elementary_charge)
self.assertEqual(r, 1.0*nanometer)
self.assertIs(r.unit, nanometer)
self.assertEqual(s, 0.4)
if __name__ == '__main__':
unittest.main()
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