aiida_vasp.assistant package

Submodules

Parameter related utils

class aiida_vasp.assistant.parameters.ChargeEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

Encode values for the initial charge density.

See: https://www.vasp.at/wiki/index.php/ICHARG

ATOMIC = 2
CHARGE = 1
CONSTANT_ATOMIC = 12
CONSTANT_CHARGE = 11
POTENTIAL = 4
WAVE = 0
class aiida_vasp.assistant.parameters.IntSmearingEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

Encode values for the smearing used during integration in reciprocal space.

See: https://www.vasp.at/wiki/index.php/ISMEAR.

FERMI = -1
GAUSSIAN = 0
MP = 1
PARTIAL = -2
TETRA = -5
class aiida_vasp.assistant.parameters.OrbitEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

Encode values for the projector information.

See: https://www.vasp.at/wiki/index.php/LORBIT

ATOM = 0
ATOM_LM = 1
ATOM_LM_PHASE = 2
ATOM_LM_WAVE = 5
NO_RWIGS_ATOM = 10
NO_RWIGS_ATOM_LM = 11
NO_RWIGS_ATOM_LM_PHASE = 12
NO_RWIGS_ATOM_LM_PHASE_AUTO = 14
classmethod get_lorbit_from_combination(**kwargs)[source]

Get the correct mode of the projectors/decomposition.

class aiida_vasp.assistant.parameters.ParameterSetFunctions(parameters, incar)[source]

Bases: object

Container for the set functions that converts an AiiDA parameters to a default override specific one.

set_ediffg()[source]

Set the cutoff to use for relaxation.

See: https://www.vasp.at/wiki/index.php/EDIFFG

set_encut()[source]

Set which plane wave cutoff to use.

See https://www.vasp.at/wiki/index.php/ENCUT

set_ibrion()[source]

Set which algorithm to use for ionic movements.

See: https://www.vasp.at/wiki/index.php/IBRION

set_icharg()[source]

Set the flag to start from input charge density and keep it constant.

See: https://www.vasp.at/wiki/index.php/ICHARG

set_isif()[source]

Set relaxation mode according to the chosen degrees of freedom.

See: https://www.vasp.at/wiki/index.php/ISIF

set_ismear()[source]

Make sure we do not supply invalid integration methods when running explicit k-point grids.

See: https://www.vasp.at/wiki/index.php/ISMEAR

set_lorbit()[source]

Set the flag that controls the projectors/decomposition onto orbitals.

See: https://www.vasp.at/wiki/index.php/LORBIT

set_nsw()[source]

Set the number of ionic steps to perform.

See: https://www.vasp.at/wiki/index.php/NSW

class aiida_vasp.assistant.parameters.ParametersMassage(parameters, unsupported_parameters=None, settings=None, skip_parameters_validation=False)[source]

Bases: object

A class that contains all relevant massaging of the input parameters for VASP.

The idea is that this class accepts the set input parameters from AiiDA (non code specifics), checks if any code specific parameters supplied are valid VASP input parameters (only rudimentary at this point, should also cross check and check types) and convert the AiiDA input parameters to VASP specific parameters. A set function needs to be developed for each VASP INCAR parameter that we want to set based on supplied AiiDA/AiiDA-VASP specific parameters. These set functions takes these parameters and converts it to VASP INCAR compatible tags. The parameter property should return ready to go parameters containing the default override namespace, the namespaces set in the _set_extra_parameters function and any additional namespaces that might have been set using the additional_override_namespaces setting entry in settings that can be supplied to the VaspWorkChain.

The default override namespace (see _DEFAULT_OVERRIDE_NAMESPACE) should always be present when using this VASP plugin. If using additional plugins, one can for instance supply additional namespace override that can be used, depending on what is needed in those plugins and how you construct your workchains.

property parameters

Return the massaged parameter set ready to go in VASP format.

class aiida_vasp.assistant.parameters.ParserSettingsChecker(parameters: dict, settings: dict, default_settings=None)[source]

Bases: object

Check for inconsistency between the parser settings and the INCAR tags.

check()[source]

Check the consistency between the supplied INCAR tags the requested quantities to be parsed.

check_born_charges()[source]

Check if projectors can be parsed

check_dynmat()[source]
check_maximum_stress()[source]

Check the the maximum_stress can be parsed

check_wavecar_chgcar()[source]

Check if WAVECAR CHGCAR are set to be written

class aiida_vasp.assistant.parameters.RelaxAlgoEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

Encode values for algorithm descriptively.

See: https://www.vasp.at/wiki/index.php/IBRION

IONIC_RELAXATION_CG = 2
IONIC_RELAXATION_RMM_DIIS = 1
NO_UPDATE = -1
class aiida_vasp.assistant.parameters.RelaxModeEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

Encode values for degrees of freedom mode of relaxation descriptively.

See: https://cms.mpi.univie.ac.at/wiki/index.php/ISIF

POS_ONLY = 2
POS_SHAPE = 4
POS_SHAPE_VOL = 3
SHAPE_ONLY = 5
SHAPE_VOL = 6
VOL_ONLY = 7
classmethod get_isif_from_dof(**kwargs)[source]

Get the correct mode of relaxation for the given degrees of freedom.

aiida_vasp.assistant.parameters.check_inputs(supplied_inputs)[source]

Check that the inputs are of some correct type and returned as AttributeDict.

aiida_vasp.assistant.parameters.inherit_and_merge_parameters(inputs)[source]

Goes trough the inputs namespaces and the namespaces in the inputs.parameters and merge them.

Note that parameters specified in the inputs.parameters will override what is supplied as workchain input, in case there is overlap.