コード例 #1
0
 def test_next_image(self):
     hypercuboid_setting.HypercuboidSetting(beta=1.0,
                                            dimension=3,
                                            system_lengths=[1.0, 2.0, 3.0])
     self.assertEqual(setting.periodic_boundaries.next_image(0.4, 0), 1.4)
     self.assertEqual(setting.periodic_boundaries.next_image(0.6, 1), 2.6)
     self.assertEqual(setting.periodic_boundaries.next_image(2.0, 2), 5.0)
コード例 #2
0
 def test_integer_casting_dimension(self):
     setting.reset()
     # noinspection PyTypeChecker
     hypercuboid_setting.HypercuboidSetting(beta=1.0,
                                            dimension=2.8,
                                            system_lengths=[1.0, 2.0])
     self.assertEqual(setting.dimension, 2)
     self.assertIsNone(hypercubic_setting.dimension)
     self.assertEqual(hypercuboid_setting.dimension, 2)
コード例 #3
0
 def test_separation_vector(self):
     hypercuboid_setting.HypercuboidSetting(beta=1.0,
                                            dimension=3,
                                            system_lengths=[1.0, 2.0, 3.0])
     position_one = [0.5, 1.6, 2.3]
     position_two = [0.2, 0.1, 0.9]
     self.assertAlmostEqualSequence(
         setting.periodic_boundaries.separation_vector(
             position_one, position_two), [-0.3, 0.5, -1.4],
         places=13)
コード例 #4
0
 def test_correct_periodic_boundary_separation_entry(self):
     hypercuboid_setting.HypercuboidSetting(
         beta=1.0, dimension=4, system_lengths=[1.0, 2.0, 3.0, 4.0])
     separation = [-0.5, -1.3, 2.4, 1.5]
     separation[3] = setting.periodic_boundaries.correct_separation_entry(
         separation[3], 3)
     self.assertAlmostEqualSequence(separation, [-0.5, -1.3, 2.4, 1.5],
                                    places=13)
     separation = [-0.6, 1.3, 2.4, 6.9]
     separation[0] = setting.periodic_boundaries.correct_separation_entry(
         separation[0], 0)
     self.assertAlmostEqualSequence(separation, [0.4, 1.3, 2.4, 6.9],
                                    places=13)
コード例 #5
0
 def test_correct_periodic_boundary_separation(self):
     hypercuboid_setting.HypercuboidSetting(
         beta=1.0, dimension=4, system_lengths=[1.0, 2.0, 3.0, 4.0])
     separation = [-0.5, -0.8, 1.4, 2.0]
     setting.periodic_boundaries.correct_separation(separation)
     self.assertAlmostEqualSequence(separation, [-0.5, -0.8, 1.4, -2.0],
                                    places=13)
     separation = [-0.6, 1.3, 0.4, 1.9]
     setting.periodic_boundaries.correct_separation(separation)
     self.assertAlmostEqualSequence(separation, [0.4, -0.7, 0.4, 1.9],
                                    places=13)
     setting.system_length = None
     setting.system_length_over_two = None
     setting.dimension = None
コード例 #6
0
 def test_correct_periodic_boundary_position(self):
     hypercuboid_setting.HypercuboidSetting(beta=1.0,
                                            dimension=3,
                                            system_lengths=[1.0, 2.0, 3.0])
     position = [0.1, 1.4, 2.9]
     setting.periodic_boundaries.correct_position(position)
     self.assertEqual(position, [0.1, 1.4, 2.9])
     position = [0.0, 2.0, 1.0]
     setting.periodic_boundaries.correct_position(position)
     self.assertAlmostEqualSequence(position, [0.0, 0.0, 1.0], places=13)
     position = [-0.3, 1.4, 3.9]
     setting.periodic_boundaries.correct_position(position)
     self.assertAlmostEqualSequence(position, [0.7, 1.4, 0.9], places=13)
     position = [-10.0, 102.231, 2.999999]
     setting.periodic_boundaries.correct_position(position)
     self.assertAlmostEqualSequence(position, [0.0, 0.231, 2.999999],
                                    places=13)
コード例 #7
0
 def setUp(self) -> None:
     hypercuboid_setting.HypercuboidSetting(
         beta=2, dimension=5, system_lengths=[1.0, 2.0, 3.0, 4.0, 5.0])
コード例 #8
0
 def test_new_initialize_hypercuboid_setting_raises_error(self):
     with self.assertRaises(AttributeError):
         hypercuboid_setting.HypercuboidSetting(
             beta=1.0, dimension=3, system_lengths=[1.0, 2.0, 3.0])
コード例 #9
0
 def test_dimension_zero_raises_error(self):
     setting.reset()
     with self.assertRaises(AttributeError):
         hypercuboid_setting.HypercuboidSetting(
             beta=1, dimension=0, system_lengths=[1.0, 2.0, 3.0])
コード例 #10
0
 def test_negative_system_length_raises_error(self):
     setting.reset()
     with self.assertRaises(AttributeError):
         hypercuboid_setting.HypercuboidSetting(
             beta=1, dimension=3, system_lengths=[-1.0, 2.0, 3.0])