Example #1
0
 def get_hr_node(self):
     dat = self.get_file('wannier90_hr.dat')
     if not dat:
         return None
     hnode = DataFactory('singlefile')()
     hnode.add_path(dat)
     return hnode
Example #2
0
def ref_retrieved_nscf():
    """Fixture: retrieved directory from an NSCF vasp run"""
    from aiida.orm import DataFactory
    from aiida_vasp.backendtests.common import subpath
    retrieved = DataFactory('folder')()
    for fname in os.listdir(subpath('data', 'retrieved_nscf', 'path')):
        retrieved.add_path(subpath('data', 'retrieved_nscf', 'path', fname),
                           '')
    return retrieved
    def parse(**extra_settings):
        """Run the parser using default settings updated with extra_settings."""
        from aiida.orm import CalculationFactory, DataFactory
        calc = CalculationFactory('vasp.vasp')()
        settings_dict = {'pymatgen_parser': {'parse_potcar_file': False, 'exception_on_bad_xml': request.param}}
        settings_dict.update(extra_settings)
        calc.use_settings(DataFactory('parameter')(dict=settings_dict))
        parser = PymatgenParser(calc=calc)
        retrieved = DataFactory('folder')()
        retrieved.add_path(vasprun_path, '')

        success, nodes = parser.parse_with_retrieved({'retrieved': retrieved})
        nodes = dict(nodes)
        return success, nodes
def parse_nac(aiida_env):
    """Give the parsing result of a retrieved NAC calculation (emulated)."""
    from aiida.orm import CalculationFactory, DataFactory
    calc = CalculationFactory('vasp.vasp')()
    calc.use_settings(DataFactory('parameter')(dict={'pymatgen_parser': {'parse_potcar_file': False, 'exception_on_bad_xml': False}}))
    parser = PymatgenParser(calc=calc)
    retrieved = DataFactory('folder')()
    retrieved.add_path(data_path('born_effective_charge', 'vasprun.xml'), '')
    retrieved.add_path(data_path('born_effective_charge', 'OUTCAR'), '')

    def parse():
        success, nodes = parser.parse_with_retrieved({'retrieved': retrieved})
        nodes = dict(nodes)
        return success, nodes

    return parse
Example #5
0
 def get_hr_node(self):
     hr_filename = 'wannier90_hr.dat'
     hr_dat = self.get_file(hr_filename)
     if not hr_dat:
         return None
     tbnode = DataFactory('folder')()
     tbnode.add_path(hr_dat, hr_filename)
     # adding optional files
     for filename in [
             'wannier90_centres.xyz', 'wannier90_wsvec.dat',
             'wannier90_tb.dat', 'wannier90.win'
     ]:
         f_dat = self.get_file(filename)
         if f_dat:
             tbnode.add_path(f_dat, filename)
     return tbnode
Example #6
0
 def retrieved_nscf():
     """Create a FolderData node with the reference retrieved nscf calculation."""
     ret = DataFactory('folder')()
     for fname in os.listdir(subpath('data', 'retrieved_nscf', 'path')):
         ret.add_path(subpath('data', 'retrieved_nscf', 'path', fname), '')
     return ret
Example #7
0
 def retrieved_nscf(cls):
     ret = DataFactory('folder')()
     for fname in os.listdir(subpath('data', 'retrieved_nscf', 'path')):
         ret.add_path(subpath('data', 'retrieved_nscf', 'path', fname), '')
     return ret