DeltaCodesDFTTask.__init__(self, **kwargs) def calculate(self, name, atoms): data = DeltaCodesDFTTask.calculate(self, name, atoms) try: steps = atoms.get_calculator().get_number_of_iterations() except (AttributeError, NotImplemented): steps = None data['calculator steps'] = steps return data calcfactory = calculator_factory('jacapo', xc=xc, pw=340, dw=340, symmetry=True, ft=0.1, # need to be set explicitly spinpol=True, ) task = Task( calcfactory=calcfactory, tag=tag, use_lock_files=True, ) if __name__ == '__main__': keys = set(psp.keys()).intersection(set(task.collection.names)) for m in ['Zn', 'Zr']: keys.remove(m) # do not converge
def set_calculator_factory(self, calcfactory): if isinstance(calcfactory, str): calcfactory = calculator_factory(calcfactory) self.calcfactory = calcfactory
pw = 700 dw = 1000 kd = 8.0 tag = 'dcdft_%s_jacapo' % xc.lower() calcfactory = calculator_factory('jacapo', pw=pw, dw=dw, xc='PBE', #convergence={ #'energy':0.00001, #'density':0.000001, # 0.0001 #'occupation':0.001, # 0.001 #'maxsteps':None, #'maxtime':None #}, ft=w, symmetry=True, spinpol=True, # must set explicitly calculate_stress=False, deletenc=True, # start fresh every time kptdensity=kd, ) taskopts = {} task = Task( calcfactory=calcfactory, tag=tag, fit=fit,