def test_angular_harmonic(self):
     ftl_lambda = espressopp.FixedTripleListLambda(self.system.storage)
     ftl_lambda.addTriples([(1, 2, 3)])
     ftl = espressopp.FixedTripleList(self.system.storage)
     ftl.addTriples([(1, 2, 3)])
     harmonic = espressopp.interaction.AngularHarmonic()
     interactionLambda = espressopp.interaction.FixedTripleListLambdaAngularHarmonic(
         self.system, ftl_lambda, harmonic)
     interaction = espressopp.interaction.FixedTripleListAngularHarmonic(
         self.system, ftl, harmonic)
     self.assertAlmostEqual(interaction.computeEnergy(),
                            interactionLambda.computeEnergy())
    def test_angular_harmonic_lambda(self):
        ftl_lambda = espressopp.FixedTripleListLambda(self.system.storage)
        ftl_lambda.addTriples([(1, 2, 3)])
        ftl = espressopp.FixedTripleList(self.system.storage)
        ftl.addTriples([(1, 2, 3)])
        harmonic = espressopp.interaction.AngularHarmonic()
        interactionLambda = espressopp.interaction.FixedTripleListLambdaAngularHarmonic(
            self.system, ftl_lambda, harmonic)
        interaction = espressopp.interaction.FixedTripleListAngularHarmonic(
            self.system, ftl, harmonic)

        self.fixed_dynamic_resolution.register_triple_list(ftl_lambda, -0.5)
        self.integrator.run(1)
        self.assertAlmostEqual(0.5 * interaction.computeEnergy(),
                               interactionLambda.computeEnergy())
예제 #3
0
    def test_angular_harmonic_types_lambda(self):
        ftl_lambda = espressopp.FixedTripleListLambda(self.system.storage)
        ftl_lambda.addTriples([(1, 2, 3)])
        ftl = espressopp.FixedTripleList(self.system.storage)
        ftl.addTriples([(1, 2, 3)])
        harmonic = espressopp.interaction.AngularHarmonic()
        interactionLambda = espressopp.interaction.FixedTripleListTypesLambdaAngularHarmonic(
            self.system, ftl_lambda)
        interactionLambda.setPotential(0, 0, 1, harmonic)
        interaction = espressopp.interaction.FixedTripleListTypesAngularHarmonic(
            self.system, ftl)
        interaction.setPotential(0, 0, 1, harmonic)

        ftl_lambda.setAllLambda(0.5)
        self.assertAlmostEqual(0.5 * interaction.computeEnergy(),
                               interactionLambda.computeEnergy())
예제 #4
0
 def test_set_lambda_single(self):
     ftl_lambda = espressopp.FixedTripleListLambda(self.system.storage)
     ftl_lambda.addTriples([(1, 2, 3)])
     self.assertEqual(ftl_lambda.getLambda(1, 2, 3), [1.0])
     ftl_lambda.setLambda(1, 2, 3, 0.0)
     self.assertEqual(ftl_lambda.getLambda(1, 2, 3), [0.0])