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