Example #1
0
 def testA1(self):
     struct = matter.Structure(
         lattice=matter.Lattice(a=1, b=1, c=1, alpha=60, beta=60, gamma=60),
         sgid=225,
         atoms=[matter.Atom('Cu')],
     )
     self.assertEqual(StrukturberichtDesignationFinder().find(struct), A1)
     return
Example #2
0
 def testMethodInStructureClass(self):
     struct = matter.Structure(
         lattice=matter.Lattice(a=1, b=1, c=1, alpha=60, beta=60, gamma=60),
         sgid=225,
         atoms=[matter.Atom('Cu')],
     )
     self.assertEqual(struct.StrukturberichtDesignation, A1)
     return
Example #3
0
 def testB2(self):
     struct = matter.Structure(
         lattice=matter.Lattice(a=1, b=1, c=1, alpha=90, beta=90, gamma=90),
         sgid=221,
         atoms=[matter.Atom('Cs'),
                matter.Atom('Cl', xyz=[0.5, 0.5, 0.5])],
     )
     self.assertEqual(StrukturberichtDesignationFinder().find(struct), B2)
     return
Example #4
0
    def _qVector(self, h, k, l):
        "Returns q-vector from (h, k, l) parameters"
        import numpy

        lat = matter.Lattice(self._a, self._b, self._c, self._alpha,
                             self._beta, self._gamma)
        rb = lat.recbase  # Reciprocal matrix
        trb = rb.T  # Should I transpose it?
        q = 2 * PI * (h * trb[0] + k * trb[1] + l * trb[2])
        return numpy.sqrt(numpy.dot(q, q))
Example #5
0
    def testA2(self):
        struct = matter.Structure(
            lattice=matter.Lattice(a=1,
                                   b=1,
                                   c=1,
                                   alpha=acos1_3,
                                   beta=acos1_3,
                                   gamma=acos1_3),
            sgid=229,
            atoms=[matter.Atom('Cu')],
        )
        self.assertEqual(StrukturberichtDesignationFinder().find(struct), A2)

        struct = matter.Structure(
            lattice=matter.Lattice(a=1, b=1, c=1, alpha=90, beta=90, gamma=90),
            sgid=229,
            atoms=[
                matter.Atom('Cu', xyz=[0, 0, 0]),
                matter.Atom('Cu', xyz=[0.5, 0.5, 0.5])
            ],
        )
        self.assertEqual(StrukturberichtDesignationFinder().find(struct), A2)

        return
Example #6
0
    def testWriter(self):
        p = getParser()
        from danse.ins import matter
        a = 1.5
        lattice = matter.Lattice(2 * a, 2 * a, 2 * a, 90, 90, 90)
        atoms = [matter.Atom('Ni'), matter.Atom('Ni', (0.5, 0.5, 0.5))]
        struct = Structure(lattice=lattice, atoms=atoms, sgid=229)

        print 'original unitcell, cartesian coords'
        print '\n'.join(p.toLines(struct))

        print 'original unitcell, fractional coords'
        print '\n'.join(p.toLines(struct, use_fractional_coordinates=1))

        print 'primitive unitcell, cartesian coords'
        print '\n'.join(p.toLines(struct, use_primitive_unitcell=1))

        print 'primitive unitcell, fractional coords'
        print '\n'.join(
            p.toLines(struct,
                      use_primitive_unitcell=1,
                      use_fractional_coordinates=1))

        return