casm.vaspwrapper.Converge

class casm.vaspwrapper.Converge(configdir=None, auto=True, sort=True, propdir=None, prop=None)[source]

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

The convergence creates the following directory structure: config/

calctype.name/
property/

value.0/ value.1/ … value.n/

‘value.i’ directories are created for each discrete step in ‘value’

being explored for ‘property’, e.g., every 10 eV for ENCUT, or every 1 for KPOINTS.

If runs are static runs, ‘value.i’ contains INCAR, POSCAR, etc. If runs are relaxation runs, ‘value.i’ contains ‘run.0’, ‘run.1’, …,

‘run.final’, where ‘run.final’ contains a static run.

This automatically looks for VASP settings files using:

casm.project.DirectoryStructure.settings_path_crawl

casm_settings

CASM project settings

Type:

casm.project.ProjectSettings instance

casm_directories

CASM project directory hierarchy

Type:

casm.project.DirectoryStructure instance

settings

Settings for job submission and the relaxation, see vaspwrapper.read_settings

Type:

dict

configdir
Directory where configuration results are stored. The result of:

casm.project.DirectoryStructure.configuration_dir(self.configname)

Type:

str

configname

The name of the configuration to be calculated

Type:

str

auto

True if using prisms_jobs module’s JobDB to manage jobs

Type:

boolean

sort

True if sorting atoms in POSCAR by type

Type:

boolean

clex

The cluster expansion being worked on. Used for the ‘calctype’ settings. Currently, fixed to self.casm_settings.default_clex.

Type:

casm.project.ClexDescription instance

Construct a VASP convergence job object.

Parameters:
  • configdir (str, optional, default=None) – Path to configuration directory. If None, uses the current working directory

  • auto (boolean, optional, default=True,) – Use True to use the prisms_jobs module’s JobDB to manage jobs

  • sort (boolean, optional, default=True,) – Use True to sort atoms in POSCAR by type

  • propdir (str, optional, default=None) –

    Name of the directory within the configdir for converging the

    current property-of-interest

  • prop (str, optional, default=None) – Name of an INCAR property that is being converged

__init__(configdir=None, auto=True, sort=True, propdir=None, prop=None)[source]

Construct a VASP convergence job object.

Parameters:
  • configdir (str, optional, default=None) – Path to configuration directory. If None, uses the current working directory

  • auto (boolean, optional, default=True,) – Use True to use the prisms_jobs module’s JobDB to manage jobs

  • sort (boolean, optional, default=True,) – Use True to sort atoms in POSCAR by type

  • propdir (str, optional, default=None) –

    Name of the directory within the configdir for converging the

    current property-of-interest

  • prop (str, optional, default=None) – Name of an INCAR property that is being converged

Methods

__init__([configdir, auto, sort, propdir, prop])

Construct a VASP convergence job object.

collect()

Collect the results of a convergence run

finalize()

Checks if a series of runs is converged, and writes properties.calc.json as appropriate

frange(x, y[, jump])

Robust Range for floats, without using numpy.

is_converged()

Check for electronic convergence in completed calculations.

lengths(lat)

Computes the lengths of the 3 basis vectors in a lattice

properties(vaspdir[, initial_structurefile, ...])

Report results to properties.calc.json file in configuration directory, after checking for electronic convergence.

report_status(status[, failure_type])

Report calculation status to status.json file in configuration directory.

run()

Setup input files, run a vasp convergence, and report results

run_settings()

Set default values based on runtime environment

setup()

Setup initial convergence run

submit()

Submit jobs for this VASP convergence

volume(lat)

Computes the volume of a parallelpiped given a 3-list of 3-lists (i.e., 3 3-vectors)

Attributes

configdir

Produces a configname from the configdir