def load_default_vasp(vasp: Vasp, structure=None): vasp.has_nlep = False vasp.maxiter = 100 if not vasp.kpoints: if structure == None: vasp.kpoints = "\n0\nAuto\n14" else: kpoints_density = 4000 vasp.kpoints = pylada.gen_kpts(structure, kpoints_density) vasp.program = '$VASP_PYLADA' # default vasp program try: vasp.npar = int(os.environ['PBS_NUM_NODES']) except: vasp.npar = int(os.environ['SLURM_JOB_NUM_NODES']) vasp.prec = "accurate" vasp.ediff = 1.0e-6 # total, not per atom vasp.ediffg = -0.02 vasp.addgrid = True vasp.ismear = 0 vasp.sigma = 0.01 vasp.lwave = True vasp.lcharg = True vasp.lmaxmix = 4 vasp.convergence = 1.0e-5 vasp.algo = "Normal" vasp.lorbit = 11 vasp.nsw = 5000 return (vasp)
def scan(vasp: Vasp, structure=None): vasp.add_keyword('metagga', 'SCAN') vasp.add_keyword('lhfcalc', False) vasp.algo = 'Normal' vasp.ldau = False no_U(vasp, structure) return vasp
def set_algo_normal(vasp: Vasp, structure=None): ''' :param vasp: Vasp :param structure: :return: ''' vasp.algo = "Normal" return vasp
def set_algo_normal_optimal_converge(vasp: Vasp, structure=None): ''' :param vasp: Vasp :param structure: :return: ''' vasp.algo = "Normal" vasp.add_keyword('nsim', 1) return vasp
def single_point_hse(vasp: Vasp, structure=None): vasp.istart = 1 vasp.icharg = 1 vasp.ibrion = -1 vasp.nelmin = 3 vasp.nsw = 0 vasp.potim = 0 vasp.ediff = 1e-5 vasp.ismear = -5 vasp.algo = 'Damped' vasp.add_keyword('lmaxmix', None) vasp.add_keyword('iopt', 0) return vasp
def hse06(vasp: Vasp, structure=None): vasp.nelmdl = 0 vasp.nelm = 1000 vasp.add_keyword('lhfcalc', True) vasp.precfock = 'Fast' vasp.add_keyword('hfscreen', 0.2) vasp.algo = 'All' vasp.npar = None vasp.ldau = False vasp.lwave = True vasp.lcharg = True vasp.ismear = 0 vasp.add_keyword('metagga', False) vasp.add_keyword('ncore', 8) return vasp
def set_dos(vasp: Vasp, structure=None): vasp.algo = 'None' return vasp
def ggau(vasp: Vasp, structure=None): vasp.add_keyword('metagga', None) vasp.add_keyword('lhfcalc', False) vasp.algo = 'Normal' vasp.ldau = True return vasp
def no_hse06(vasp: Vasp, structure=None): vasp.add_keyword('lhfcalc', False) vasp.algo = 'Normal' vasp.ldau = True return vasp
def set_algo_damp025(vasp: Vasp, structure=None): vasp.algo = "Damped" vasp.add_keyword('time', 0.25) return vasp
def set_algo_conj(vasp: Vasp, structure=None): vasp.algo = "Conjugate" return vasp
def set_algo_fast(vasp: Vasp, structure=None): vasp.add_keyword('nsim', 8) vasp.algo = "Fast" return vasp
def set_algo_all(vasp: Vasp, structure=None): vasp.algo = "All" return vasp