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)
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)
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)
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)
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))
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))
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))
def test3(): a = np.sqrt(3) * aCC latt = Crystal2DLattice(a=a, b=a, gamma=90) square = Crystal2DLattice.square(a) assert_equal(latt, square)
def test2(): a = np.sqrt(3) * aCC latt = Crystal2DLattice(a=a, b=a, gamma=120) hexlatt = Crystal2DLattice.hexagonal(a) assert_equal(latt, hexlatt)
def test3(): lattice = Crystal2DLattice.square(a=1.0) atom = BasisAtom('C', lattice=lattice) print(atom)