Пример #1
0
 def test_generate_particles(self):
     ps = ParticleSource('test', Box((1., 2., 3.), 0), 17, 13, (-2, 3, 1),
                         0, -2, 6)
     assert_dataclass_eq(
         ps.generate_num_of_particles(3),
         ParticleArray(range(3), -2, 6, [(1, 2, 3)] * 3, [(-2, 3, 1)] * 3,
                       False))
     assert_dataclass_eq(
         ps.generate_num_of_particles(1),
         ParticleArray([0], -2, 6, [(1, 2, 3)], [(-2, 3, 1)], False))
     assert_dataclass_eq(
         ps.generate_num_of_particles(0),
         ParticleArray([], -2, 6, np.empty((0, 3)), np.empty((0, 3)),
                       False))
Пример #2
0
 def test_generate_momentums(self, backend):
     ps = ParticleSource(mean_momentum=(3, -2, 0), temperature=10, mass=.3)
     ps._generator = RandomState(123)
     p = ps.generate_num_of_particles(1000000)
     assert_almost_ae = p.xp.testing.assert_array_almost_equal
     assert_almost_ae(p.momentums.mean(axis=0), (3, -2, 0), 2)
     assert_almost_ae(((p.momentums - p.xp.array([3, -2, 0])).std(axis=0)),
                      np.full(3, sqrt(3)), 2)
Пример #3
0
 def test_generate_positions(self):
     ps = ParticleSource()
     ps._generator = RandomState(123)
     p = ps.generate_num_of_particles(100)
     assert_ae = p.xp.testing.assert_array_equal
     assert_ae(
         p.positions,
         Box().generate_uniform_random_posititons(RandomState(123), 100))