예제 #1
0
def test_consistency_with_parsevasp(fresh_aiida_env, vasp_structure):
    """
    Compare the poscar-dict returned by parsevasp to the dict created by the PoscarParser.

    This tests purpose is to give a warning if we are overriding keys in parsevasps poscar-dict.
    """
    from aiida_vasp.parsers.file_parsers.poscar import parsevasp_to_aiida
    from parsevasp.poscar import Poscar

    path = data_path('poscar', 'POSCAR')
    poscar = Poscar(file_path=path, prec=12, conserve_order=True)

    poscar_dict = poscar.get_dict(direct=False)
    result_dict = parsevasp_to_aiida(poscar)['poscar-structure']
    compare_objects(poscar_dict, result_dict)
예제 #2
0
def test_poscar_entries_dict():
    """Test to check inititialization using dict.

    """

    unitcell = np.array([[9.0164589999999993, 0., 0.],
                         [0., 9.0164589999999993, 0.],
                         [0., 0., 9.0164589999999993]])
    sites = []
    sites.append(
        Site('Co', np.array([0.0, 0.0, 0.0]), [True, True, True], None, None,
             True))
    poscar_dict = {
        'comment': 'Example file',
        'unitcell': unitcell,
        'sites': sites
    }
    poscar_parser = Poscar(poscar_dict=poscar_dict)
    poscar = poscar_parser.get_dict()
    assert poscar['comment'] == 'Example file'
    unitcell = poscar['unitcell']
    test = np.array([[9.0164589999999993, 0.,
                      0.], [0., 9.0164589999999993, 0.],
                     [0., 0., 9.0164589999999993]])
    np.testing.assert_allclose(unitcell, test)
    sites = poscar['sites']
    assert len(sites) == 1
    test = {
        'specie': 'Co',
        'position': np.array([0.0, 0.0, 0.0]),
        'selective': [True, True, True],
        'velocities': None,
        'predictors': None,
        'direct': True
    }
    np.testing.assert_allclose(sites[0]['position'], test['position'])
    assert sites[0]['specie'] == test['specie']
    assert sites[0]['selective'] == [True, True, True]
    assert sites[0]['velocities'] == None
    assert sites[0]['predictors'] == None
    assert sites[0]['direct']