コード例 #1
0
def test5():
    a = np.sqrt(3) * aCC
    dlattice = Crystal2DLattice(a=a, b=a, gamma=60)
    rlattice = \
        Reciprocal2DLattice(cell_matrix=dlattice.reciprocal_lattice.matrix)
    assert_equal(dlattice, rlattice.reciprocal_lattice)
    assert_equal(dlattice.reciprocal_lattice, rlattice)
コード例 #2
0
def test13():
    lattice = Crystal2DLattice(a=3, b=3, gamma=60)
    lattice.rotate(angle=-np.pi/6)
    structure = Crystal2DStructure(lattice=lattice, basis=['C', 'C'],
                                   coords=[[0, 0, 0], [1.5, 0, 0]],
                                   cartesian=True)
    assert_true(isinstance(structure.basis, BasisAtoms))
    assert_equal(structure.basis.Natoms, 2)
コード例 #3
0
def test1():
    a = np.sqrt(3) * aCC
    lattice = Crystal2DLattice(a=a, b=a, gamma=60)
    lattice.rotate(angle=-np.pi / 6)
    basis = ['C', 'C']
    coords = [[0, 0, 0], [aCC, 0, 0]]
    structure = Crystal2DStructure(lattice, basis, coords, cartesian=True)
    print(structure.unit_cell)
    cell = UnitCell(lattice, basis, coords, cartesian=True)
    print(cell)
コード例 #4
0
def test2():
    lattice = Crystal2DLattice.square(a=1.0)
    elements = ['H', 'He', 'B', 'C', 'N', 'O', 'Ar']
    for element in elements:
        xatom = BasisAtom(element, lattice=lattice)
        assert_equal(xatom.element, element)
        assert_equal(xatom.m, xatom.mass)

    xatom = BasisAtom()
    for c in ('x', 'y', 'z'):
        assert_equal(getattr(xatom, c), 0.0)
コード例 #5
0
def test4():
    a = np.sqrt(3) * aCC
    latt = Crystal2DLattice(a=a, b=a, gamma=60)
    a1 = latt.a1
    a2 = latt.a2

    rotated_a1 = a1.copy()
    rotated_a2 = a2.copy()
    xfrm = transformation_matrix(angle=-np.pi / 6)
    rotated_a1.rotate(transform_matrix=xfrm)
    rotated_a2.rotate(transform_matrix=xfrm)

    latt.rotate(angle=-np.pi / 6)

    assert_equal(latt.a1, rotated_a1)
    assert_equal(latt.a2, rotated_a2)
    assert_true(np.allclose(latt.orientation_matrix, xfrm))

    rotated_latt = Crystal2DLattice(a1=rotated_a1, a2=rotated_a2)
    assert_equal(rotated_a1, rotated_latt.a1)
    assert_equal(rotated_a2, rotated_latt.a2)
    assert_true(
        np.allclose(latt.orientation_matrix, rotated_latt.orientation_matrix))
コード例 #6
0
def test1():
    dlattice = Crystal2DLattice(a=4.0, b=8.0, gamma=120)
    orientation_matrix = rotation_matrix(angle=np.pi / 6, axis=zhat)
    rlattice = \
        Reciprocal2DLattice(a_star=dlattice.reciprocal_lattice.a_star,
                            b_star=dlattice.reciprocal_lattice.b_star,
                            gamma_star=dlattice.reciprocal_lattice.gamma_star,
                            orientation_matrix=orientation_matrix)
    print('\ndlattice.matrix:\n{}'.format(dlattice.matrix))
    print('\nrlattice.matrix:\n{}'.format(rlattice.matrix))

    print('\ndlattice.reciprocal_lattice.matrix:\n{}'.format(
        dlattice.reciprocal_lattice.matrix))
    print('\nrlattice.reciprocal_lattice.matrix:\n{}'.format(
        rlattice.reciprocal_lattice.matrix))

    assert_true(
        np.allclose(dlattice.matrix, rlattice.reciprocal_lattice.matrix))
    assert_true(
        np.allclose(dlattice.reciprocal_lattice.matrix, rlattice.matrix))
コード例 #7
0
def test6():
    a = np.sqrt(3) * aCC
    l1 = Crystal2DLattice.square(a)
    l2 = Crystal2DLattice.square(2 * a)
    assert_true(l1 < l2)
    assert_true(np.allclose(2 * l1.a, l2.a))
コード例 #8
0
def test3():
    a = np.sqrt(3) * aCC
    latt = Crystal2DLattice(a=a, b=a, gamma=90)
    square = Crystal2DLattice.square(a)
    assert_equal(latt, square)
コード例 #9
0
def test2():
    a = np.sqrt(3) * aCC
    latt = Crystal2DLattice(a=a, b=a, gamma=120)
    hexlatt = Crystal2DLattice.hexagonal(a)
    assert_equal(latt, hexlatt)
コード例 #10
0
def test3():
    lattice = Crystal2DLattice.square(a=1.0)
    atom = BasisAtom('C', lattice=lattice)
    print(atom)
コード例 #11
0
def test6():
    a = np.sqrt(3) * aCC
    l1 = Crystal2DLattice.square(a)
    l2 = Crystal2DLattice.square(2 * a)
    assert_true(l1 < l2)
    assert_true(np.allclose(2 * l1.a, l2.a))
コード例 #12
0
def test3():
    a = np.sqrt(3) * aCC
    latt = Crystal2DLattice(a=a, b=a, gamma=90)
    square = Crystal2DLattice.square(a)
    assert_equal(latt, square)
コード例 #13
0
def test2():
    a = np.sqrt(3) * aCC
    latt = Crystal2DLattice(a=a, b=a, gamma=120)
    hexlatt = Crystal2DLattice.hexagonal(a)
    assert_equal(latt, hexlatt)