Example #1
0
    def setUp(self):
        self.xtal0 = Xtallite()

        euler1     = np.array((10,0,0),   dtype=np.float64)
        pt1        = np.array((1,1,1),    dtype=np.float64)
        dv1        = np.array((1,2,3),    dtype=np.float64)
        self.xtal1 = Xtallite(eulers=euler1,
                              pt=pt1,
                              lattice='hexagonal',
                              dv=dv1,
                              stress=np.random.random((3,3)),
                              strain=np.random.random((3,3)))
        self.xtal1.setEulers(10,20,30)

        euler2     = np.array((20, 0,30), dtype=np.float64)
        self.xtal2 = Xtallite(eulers=euler2)
        self.xtal2.setLattice('hexagonal')

        euler3     = np.array((20, 0, 0), dtype=np.float64)
        self.xtal3 = Xtallite(eulers=euler3,
                              lattice='hexagonal')

        self.xtal4 = Xtallite.random()

        euler5     = np.array([100, 50, 94], dtype=np.float64)
        self.xtal5 = Xtallite(eulers=euler5,
                              lattice='hexagonal')
Example #2
0
class testXtalliate(unittest.TestCase):

    def setUp(self):
        self.xtal0 = Xtallite()

        euler1     = np.array((10,0,0),   dtype=np.float64)
        pt1        = np.array((1,1,1),    dtype=np.float64)
        dv1        = np.array((1,2,3),    dtype=np.float64)
        self.xtal1 = Xtallite(eulers=euler1,
                              pt=pt1,
                              lattice='hexagonal',
                              dv=dv1,
                              stress=np.random.random((3,3)),
                              strain=np.random.random((3,3)))
        self.xtal1.setEulers(10,20,30)

        euler2     = np.array((20, 0,30), dtype=np.float64)
        self.xtal2 = Xtallite(eulers=euler2)
        self.xtal2.setLattice('hexagonal')

        euler3     = np.array((20, 0, 0), dtype=np.float64)
        self.xtal3 = Xtallite(eulers=euler3,
                              lattice='hexagonal')

        self.xtal4 = Xtallite.random()

        euler5     = np.array([100, 50, 94], dtype=np.float64)
        self.xtal5 = Xtallite(eulers=euler5,
                              lattice='hexagonal')

    def test_toFundamentalZone(self):
        target1 = np.array([10, 20, 330])
        calc1   = self.xtal1.toFundamentalZone()
        np.testing.assert_almost_equal(calc1, target1)

        target5 = np.array([100.0, 50.0, 274.0])
        calc5   = self.xtal5.toFundamentalZone()
        np.testing.assert_almost_equal(calc5, target5)

    def test_disorientation(self):
        target = 22.33790562470999
        calc   = self.xtal1.disorientation(self.xtal2)
        np.testing.assert_almost_equal(calc, target)

        calc   = self.xtal2.disorientation(self.xtal1)
        np.testing.assert_almost_equal(calc, target)

        target = 30.0
        calc   = self.xtal2.disorientation(self.xtal3)
        np.testing.assert_almost_equal(calc, target)

    def test_disorientations(self):
        tmp = [self.xtal1, self.xtal2, self.xtal3]
        targets = np.array([22.33790562470999, 0.0, 30.0])
        calcs   = self.xtal2.disorientations(tmp)
        np.testing.assert_almost_equal(calcs, targets)
Example #3
0
    def setUp(self):
        self.xtal0 = Xtallite()

        euler1 = np.array((10, 0, 0), dtype=np.float64)
        pt1 = np.array((1, 1, 1), dtype=np.float64)
        dv1 = np.array((1, 2, 3), dtype=np.float64)
        self.xtal1 = Xtallite(eulers=euler1,
                              pt=pt1,
                              lattice='hexagonal',
                              dv=dv1,
                              stress=np.random.random((3, 3)),
                              strain=np.random.random((3, 3)))
        self.xtal1.setEulers(10, 20, 30)

        euler2 = np.array((20, 0, 30), dtype=np.float64)
        self.xtal2 = Xtallite(eulers=euler2)
        self.xtal2.setLattice('hexagonal')

        euler3 = np.array((20, 0, 0), dtype=np.float64)
        self.xtal3 = Xtallite(eulers=euler3, lattice='hexagonal')

        self.xtal4 = Xtallite.random()

        euler5 = np.array([100, 50, 94], dtype=np.float64)
        self.xtal5 = Xtallite(eulers=euler5, lattice='hexagonal')
Example #4
0
    def setUp(self):
        xtals = [
            Xtallite(eulers=np.array([10, 0, 0]), lattice='hexagonal'),
            Xtallite(eulers=np.array([20, 0, 0]), lattice='hexagonal'),
            Xtallite(eulers=np.array([30, 0, 0]), lattice='hexagonal'),
            Xtallite(eulers=np.array([40, 0, 0]), lattice='hexagonal')
        ]
        texture = 1
        ID = 0

        self.grain = Aggregate(xtals, texture=texture, gid=ID)
Example #5
0
class testXtalliate(unittest.TestCase):
    def setUp(self):
        self.xtal0 = Xtallite()

        euler1 = np.array((10, 0, 0), dtype=np.float64)
        pt1 = np.array((1, 1, 1), dtype=np.float64)
        dv1 = np.array((1, 2, 3), dtype=np.float64)
        self.xtal1 = Xtallite(eulers=euler1,
                              pt=pt1,
                              lattice='hexagonal',
                              dv=dv1,
                              stress=np.random.random((3, 3)),
                              strain=np.random.random((3, 3)))
        self.xtal1.setEulers(10, 20, 30)

        euler2 = np.array((20, 0, 30), dtype=np.float64)
        self.xtal2 = Xtallite(eulers=euler2)
        self.xtal2.setLattice('hexagonal')

        euler3 = np.array((20, 0, 0), dtype=np.float64)
        self.xtal3 = Xtallite(eulers=euler3, lattice='hexagonal')

        self.xtal4 = Xtallite.random()

        euler5 = np.array([100, 50, 94], dtype=np.float64)
        self.xtal5 = Xtallite(eulers=euler5, lattice='hexagonal')

    def test_toFundamentalZone(self):
        target1 = np.array([10, 20, 330])
        calc1 = self.xtal1.toFundamentalZone()
        np.testing.assert_almost_equal(calc1, target1)

        target5 = np.array([100.0, 50.0, 274.0])
        calc5 = self.xtal5.toFundamentalZone()
        np.testing.assert_almost_equal(calc5, target5)

    def test_disorientation(self):
        target = 22.33790562470999
        calc = self.xtal1.disorientation(self.xtal2)
        np.testing.assert_almost_equal(calc, target)

        calc = self.xtal2.disorientation(self.xtal1)
        np.testing.assert_almost_equal(calc, target)

        target = 30.0
        calc = self.xtal2.disorientation(self.xtal3)
        np.testing.assert_almost_equal(calc, target)

    def test_disorientations(self):
        tmp = [self.xtal1, self.xtal2, self.xtal3]
        targets = np.array([22.33790562470999, 0.0, 30.0])
        calcs = self.xtal2.disorientations(tmp)
        np.testing.assert_almost_equal(calcs, targets)