def test_get_coordinate(self):
        """ ABCLattice.get_coordinate is the same for all lattices, therefore
        tested only once.

        """
        default = make_triclinic_lattice(
            'Lattice3', (0.2, 0.4, 0.9), (0.8, 0.4, 0.5), (5, 10, 15),
            (-2.0, 0.0, 1.0))
        container = self.container_factory(
            default.name, default.primitive_cell, default.size,
            default.origin)

        p1 = default.primitive_cell.p1
        p2 = default.primitive_cell.p2
        p3 = default.primitive_cell.p3

        x, y, z = numpy.meshgrid(range(
            default.size[0]), range(default.size[1]), range(default.size[2]))
        indexes = zip(x.flat, y.flat, z.flat)
        expected = zip(x.ravel()*p1[0] + y.ravel()*p2[0] + z.ravel()*p3[0] +
                       default.origin[0], x.ravel()*p1[1] + y.ravel()*p2[1] +
                       z.ravel()*p3[1] + default.origin[1], x.ravel()*p1[2] +
                       y.ravel()*p2[2] + z.ravel()*p3[2] + default.origin[2])

        for i, index in enumerate(indexes):
            assert_array_almost_equal(container.get_coordinate(index),
                                      expected[i])
Exemple #2
0
 def test_make_triclinic_lattice(self):
     lattice = make_triclinic_lattice('Lattice13', (self.a, self.b, self.c),
                                      (self.alpha, self.beta, self.gamma),
                                      (4, 5, 6))
     self.assertIsInstance(lattice, Lattice)
     self.assertEqual(lattice.name, 'Lattice13')
     self.assertEqual(lattice.primitive_cell.bravais_lattice,
                      BravaisLattice.TRICLINIC)
     assert_array_equal(lattice.size, (4, 5, 6))
     assert_array_equal(lattice.origin, (0, 0, 0))
 def test_make_triclinic_lattice(self):
     lattice = make_triclinic_lattice(
         'Lattice13', (self.a, self.b, self.c),
         (self.alpha, self.beta, self.gamma), (4, 5, 6))
     self.assertIsInstance(lattice, Lattice)
     self.assertEqual(lattice.name, 'Lattice13')
     self.assertEqual(lattice.primitive_cell.bravais_lattice,
                      BravaisLattice.TRICLINIC)
     assert_array_equal(lattice.size, (4, 5, 6))
     assert_array_equal(lattice.origin, (0, 0, 0))