示例#1
0
def test_read_stru_znse():
    from javelin.io import read_stru, read_stru_to_ase
    filename = os.path.join(os.path.dirname(__file__), 'data', 'znse.cell')
    znse_javelin = read_stru(filename)
    znse_ase = read_stru_to_ase(filename)
    assert len(znse_ase) == 2
    assert_array_almost_equal(
        znse_ase.get_cell(),
        [[3.997, 0, 0], [-1.9985, 3.461504, 0], [0, 0, 6.501]])
    assert_array_equal(
        znse_ase.get_scaled_positions(),
        [[0.3333333, 0.6666667, 0.3671], [0.3333333, 0.6666667, 0.]])
    assert znse_ase.get_chemical_formula() == 'SeZn'

    # unitcell
    assert_array_almost_equal(znse_javelin.unitcell.cell,
                              ase.geometry.cell_to_cellpar(znse_ase.cell))
    # get_atomic_numbers
    assert_array_equal(znse_javelin.get_atomic_numbers(),
                       znse_ase.get_atomic_numbers())
    # get_positions
    # assert_array_almost_equal(znse_javelin.get_positions(),
    #                          znse_ase.get_positions())
    # get_scaled_positions
    assert_array_almost_equal(znse_javelin.get_scaled_positions(),
                              znse_ase.get_scaled_positions())
def test_read_stru_znse():
    from javelin.io import read_stru, read_stru_to_ase
    filename = os.path.join(os.path.dirname(__file__), 'data', 'znse.cell')
    znse_javelin = read_stru(filename)
    znse_ase = read_stru_to_ase(filename)
    assert len(znse_ase) == 2
    assert_array_almost_equal(znse_ase.get_cell(), [[3.997, 0, 0],
                                                    [-1.9985, 3.461504, 0],
                                                    [0, 0, 6.501]])
    assert_array_equal(znse_ase.get_scaled_positions(),
                       [[0.3333333, 0.6666667, 0.3671],
                        [0.3333333, 0.6666667, 0.]])
    assert znse_ase.get_chemical_formula() == 'SeZn'

    # unitcell
    assert_array_almost_equal(znse_javelin.unitcell.cell,
                              ase.geometry.cell_to_cellpar(znse_ase.cell))
    # get_atomic_numbers
    assert_array_equal(znse_javelin.get_atomic_numbers(),
                       znse_ase.get_atomic_numbers())
    # get_positions
    # assert_array_almost_equal(znse_javelin.get_positions(),
    #                          znse_ase.get_positions())
    # get_scaled_positions
    assert_array_almost_equal(znse_javelin.get_scaled_positions(),
                              znse_ase.get_scaled_positions())
示例#3
0
def test_read_stru_pzn():
    from javelin.io import read_stru, read_stru_to_ase
    filename = os.path.join(os.path.dirname(__file__), 'data', 'pzn.stru')
    pzn_javelin = read_stru(filename, starting_cell=(0, 0, 0))
    pzn_ase = read_stru_to_ase(filename)
    assert len(pzn_ase) == 15
    assert_array_almost_equal(pzn_ase.get_cell(),
                              [[4.06, 0, 0], [0, 4.06, 0], [0, 0, 4.06]])
    assert pzn_ase.get_chemical_formula() == 'Nb2O9Pb3Zn'

    # unitcell
    assert_array_equal(pzn_javelin.unitcell.cell,
                       ase.geometry.cell_to_cellpar(pzn_ase.cell))
    # get_atomic_numbers
    assert_array_equal(pzn_javelin.get_atomic_numbers(),
                       pzn_ase.get_atomic_numbers())
    # get_positions
    assert_array_almost_equal(pzn_javelin.get_positions(),
                              pzn_ase.get_positions())
    # get_scaled_positions
    assert_array_almost_equal(pzn_javelin.get_scaled_positions(),
                              pzn_ase.get_scaled_positions())
示例#4
0
def test_read_stru_missing_cell():
    from javelin.io import read_stru, read_stru_to_ase
    filename = os.path.join(os.path.dirname(__file__), 'data',
                            'missing_cell.cell')
    c_javelin = read_stru(filename)
    c_ase = read_stru_to_ase(filename)
    assert len(c_ase) == 1
    assert_array_equal(c_ase.get_cell(), [[1, 0, 0], [0, 1, 0], [0, 0, 1]])
    assert_array_equal(c_ase.get_scaled_positions(), [[0.5, 0., 0.25]])
    assert c_ase.get_chemical_formula() == 'C'

    # unitcell
    assert_array_equal(c_javelin.unitcell.cell,
                       ase.geometry.cell_to_cellpar(c_ase.cell))
    # get_atomic_numbers
    assert_array_equal(c_javelin.get_atomic_numbers(),
                       c_ase.get_atomic_numbers())
    # get_positions
    assert_array_almost_equal(c_javelin.get_positions(), c_ase.get_positions())
    # get_scaled_positions
    assert_array_almost_equal(c_javelin.get_scaled_positions(),
                              c_ase.get_scaled_positions())
def test_read_stru_pzn():
    from javelin.io import read_stru, read_stru_to_ase
    filename = os.path.join(os.path.dirname(__file__), 'data', 'pzn.stru')
    pzn_javelin = read_stru(filename, starting_cell=(0, 0, 0))
    pzn_ase = read_stru_to_ase(filename)
    assert len(pzn_ase) == 15
    assert_array_almost_equal(pzn_ase.get_cell(), [[4.06, 0, 0],
                                                   [0, 4.06, 0],
                                                   [0, 0, 4.06]])
    assert pzn_ase.get_chemical_formula() == 'Nb2O9Pb3Zn'

    # unitcell
    assert_array_equal(pzn_javelin.unitcell.cell,
                       ase.geometry.cell_to_cellpar(pzn_ase.cell))
    # get_atomic_numbers
    assert_array_equal(pzn_javelin.get_atomic_numbers(),
                       pzn_ase.get_atomic_numbers())
    # get_positions
    assert_array_almost_equal(pzn_javelin.get_positions(),
                              pzn_ase.get_positions())
    # get_scaled_positions
    assert_array_almost_equal(pzn_javelin.get_scaled_positions(),
                              pzn_ase.get_scaled_positions())
def test_read_stru_missing_cell():
    from javelin.io import read_stru, read_stru_to_ase
    filename = os.path.join(os.path.dirname(__file__), 'data', 'missing_cell.cell')
    c_javelin = read_stru(filename)
    c_ase = read_stru_to_ase(filename)
    assert len(c_ase) == 1
    assert_array_equal(c_ase.get_cell(), [[1, 0, 0],
                                          [0, 1, 0],
                                          [0, 0, 1]])
    assert_array_equal(c_ase.get_scaled_positions(), [[0.5, 0., 0.25]])
    assert c_ase.get_chemical_formula() == 'C'

    # unitcell
    assert_array_equal(c_javelin.unitcell.cell,
                       ase.geometry.cell_to_cellpar(c_ase.cell))
    # get_atomic_numbers
    assert_array_equal(c_javelin.get_atomic_numbers(),
                       c_ase.get_atomic_numbers())
    # get_positions
    assert_array_almost_equal(c_javelin.get_positions(),
                              c_ase.get_positions())
    # get_scaled_positions
    assert_array_almost_equal(c_javelin.get_scaled_positions(),
                              c_ase.get_scaled_positions())