casm.vasp.Converge

class casm.vasp.Converge(propdir=None, settings=None, prop=None)[source]

The Converge class contains functions for setting up, executing, and parsing a VASP convergence.

The convergence is initialized in a directory containing VASP input files, named after the value of the property it is probing (e.g., …/ENCUT/10). It then creates the following directory structure: …/prop/propdir/

run.0/ run.1/ … run.final/

‘run.i’ directories are only created when ready. ‘run.final’ is a final constant volume run {“ISIF”:2, “ISMEAR”:-5, “NSW”:0, “IBRION”:-1, OR INCAR.final if provided}.

Contains:

self.propdir (…/prop/prop_value) self.rundir (list of …/prop/prop_value/run.i) self.finaldir (…/prop/prop_value/run.final)

Construct a VASP convergence job object.

Args:

configdir: path to vasp convergence directory settings: dictionary-like object containing settings, or if None, it reads

the json file: …/configdir/converge.json

possible settings keys are:
used by casm.vasp.run() function:

“ncpus”: number of ncpus to run mpi on “npar” or “ncore”: number of ways to parallelize “kpar”: number of ways to parallelize k-points “vasp_cmd”: (default, see casm.vasp.run) shell command to execute vasp, or None to use default mpirun “strict_kpoint”: force strict copying of KPOINTS file, otherwise kpoints are scaled based on supercell size

used by not_converging():

“run_limit”: (default 10) maximum number of runs to allow before setting status to “not_converging”

__init__(propdir=None, settings=None, prop=None)[source]

Construct a VASP convergence job object.

Args:

configdir: path to vasp convergence directory settings: dictionary-like object containing settings, or if None, it reads

the json file: …/configdir/converge.json

possible settings keys are:
used by casm.vasp.run() function:

“ncpus”: number of ncpus to run mpi on “npar” or “ncore”: number of ways to parallelize “kpar”: number of ways to parallelize k-points “vasp_cmd”: (default, see casm.vasp.run) shell command to execute vasp, or None to use default mpirun “strict_kpoint”: force strict copying of KPOINTS file, otherwise kpoints are scaled based on supercell size

used by not_converging():

“run_limit”: (default 10) maximum number of runs to allow before setting status to “not_converging”

Methods

__init__([propdir, settings, prop])

Construct a VASP convergence job object.

add_errdir()

Move run.i to run.i_err.j directory

add_rundir()

Make a new run.i directory

complete()

Check if the VASP convergence is complete.

converged()

Check if configuration is relaxed.

not_converging()

Check if configuration is not converging.

run()

Perform a series of vasp jobs to relax a structure.

setup(initdir)

mv all files and directories (besides initdir) into initdir

status()

Determine the status of a vasp convergence series of runs.

update_errdir()

Find all …/config/calctype/prop/prop_value/run.i_err.j directories, store paths in self.errdir list

update_rundir()

Find all …/config/calctype/prop/prop_value/run.i directories, store paths in self.rundir list