def testForce(self): lj=LennardJones(epsilon=2.0, sigma=2.0) # force in the minimum self.assertAlmostEqual( (lj.computeForce(2.0*2.0**(1.0/6.0), 0.0, 0.0) - Real3D(0.0, 0.0, 0.0)).sqr(), 0)
def testEnergy(self): lj=LennardJones(epsilon=2.0, sigma=2.0) # root self.assertAlmostEqual(lj.computeEnergy(2.0), 0.0) self.assertAlmostEqual(lj.computeEnergy(2.0, 0.0, 0.0), 0.0) # minimum self.assertAlmostEqual( lj.computeEnergy(2.0*2.0**(1.0/6.0)), -2.0) self.assertAlmostEqual(lj.computeEnergy(0.0, 2.0*2.0**(1.0/6.0), 0.0), -2.0)
def testProperties(self) : lj=LennardJones() lj.epsilon=2.0 lj.sigma=2.0 lj.cutoff=4.0 lj.shift=0.0 # here we test energy computation, as testing property access # would always work self.assertAlmostEqual(lj.computeEnergy(2.0), 0.0) self.assertAlmostEqual(lj.computeEnergy(2.0*2.0**(1.0/6.0)), -2.0)