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
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
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
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
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