def load_paw(cls, **kwargs): ''' py:method:: load_paw([family=None][, element=None][, symbol=None]) Load PawData nodes from the databank. Use kwargs to filter. :return: a list of PawData instances :rtype: list :key str family: Filter by family :key str element: Filter by chemical symbol :key str symbol: Filter by PAW symbol (example: As vs. As_d) :raises ValueError: if no PAWs are found ''' usage_msg = 'use import_family or from_folder to import PAWs' error_msg = 'no PAWs found for the given kwargs!\n'+usage_msg group = kwargs.pop('group', None) family = kwargs.pop('family', None) silent = kwargs.pop('silent', None) if not (group or family): q = QueryTool() q.set_class(cls) for k, v in kwargs.iteritems(): q.add_attr_filter(k, '=', v) res = list(q.run_query()) else: if family: group, created = cls.get_or_create_famgroup(family) elif group: created = not group._is_stored try: paw_filter = cls._node_filter(**kwargs) res = filter(paw_filter, group.nodes) except ValueError as e: if silent: res = [] elif created: raise NotExistent('No family with that name exists') else: raise e if not res and not silent: raise ValueError(error_msg) return res
calc.use_structure(struct) calc.use_parameters(parameters) from aiida.orm.querytool import QueryTool for e in elements: fname = None for name in sssp_names: if name.lower().startswith("{}.".format(e.lower())): fname = name if name.lower().startswith("{}_".format(e.lower())): fname = name q = QueryTool() q.set_class(UpfData) q.add_attr_filter('filename', 'exact', fname) upf = q.run_query().next() calc.use_pseudo(upf, kind=e) calc.use_kpoints(kpoints) if settings is not None: calc.use_settings(settings) from aiida.common.exceptions import InputValidationError try: if submit_test: subfolder, script_filename = calc.submit_test() print "Test_submit for calculation (uuid='{}')".format( calc.uuid)
def get_cifs_with_name(filename): q = QueryTool() q.set_class(DataFactory('cif')) q.add_attr_filter('filename', '=', filename) return q.run_query()
def load_paw(cls, **kwargs): q = QueryTool() q.set_class(cls) for k, v in kwargs.iteritems(): q.add_attr_filter(k, '=', v) return list(q.run_query())