aiida_vasp.utils.opthold#

Module containing the OptionHolder class

Module Contents#

Classes#

OptionContainer

Base class for a container of options

CalcSettingsConfig

Schema for the .settings port used by both VaspCalculation and VaspWorkChain

RelaxOptions

Options for VaspRelaxWorkChain

ConvOptions

Template for the Dict node controlling the workchain behaviour

BandOptions

Options for VaspRelaxWorkChain

API#

class aiida_vasp.utils.opthold.OptionContainer(/, **data: typing.Any)[source]#

Bases: pydantic.BaseModel

Base class for a container of options

Initialization

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

aiida_dict() aiida.orm.Dict[source]#

Return an aiida.orm.Dict presentation

classmethod aiida_validate(input_dict: dict | aiida.orm.Dict, namespace: None | str = None) None[source]#

Validate a dictionary/Dict node, this can be used as the validator for the Port accepting the inputs

This is used as validator for the spec.input call.

classmethod aiida_serialize(python_dict: dict) aiida.orm.Dict[source]#

serialize a dictionary into Dict

This method can be passed as a serializer key word parameter of for the spec.input call.

classmethod aiida_description() str[source]#

Return a string for the options of a OptionContains in a human-readable format.

class aiida_vasp.utils.opthold.CalcSettingsConfig(/, **data: typing.Any)[source]#

Bases: aiida_vasp.utils.opthold.OptionContainer

Schema for the .settings port used by both VaspCalculation and VaspWorkChain

Initialization

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

parser_setting: Optional[dict] = 'Field(...)'#
ADDITIONAL_RETRIEVE_LIST: Optional[list] = 'Field(...)'#
ADDITIONAL_RETRIEVE_TEMPORARY_LIST: Optional[list] = 'Field(...)'#
PROVENANCE_EXCLUDE_LIST: Optional[list] = 'Field(...)'#
ALWAYS_STORE: Optional[list] = 'Field(...)'#
skip_param_validation: Optional[bool] = 'Field(...)'#
unsupported_parameters: Optional[dict] = 'Field(...)'#
class aiida_vasp.utils.opthold.RelaxOptions(/, **data: typing.Any)[source]#

Bases: aiida_vasp.utils.opthold.OptionContainer

Options for VaspRelaxWorkChain

Initialization

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

algo: str = 'Field(...)'#
energy_cutoff: Optional[float] = 'Field(...)'#
force_cutoff: float = 'Field(...)'#
steps: int = 'Field(...)'#
positions: bool = 'Field(...)'#
shape: bool = 'Field(...)'#
volume: bool = 'Field(...)'#
convergence_on: bool = 'Field(...)'#
convergence_absolute: bool = 'Field(...)'#
convergence_max_iterations: int = 'Field(...)'#
convergence_positions: float = 'Field(...)'#
convergence_volume: float = 'Field(...)'#
convergence_shape_lengths: float = 'Field(...)'#
convergence_shape_angles: float = 'Field(...)'#
convergence_mode: str = 'Field(...)'#
reuse: bool = 'Field(...)'#
clean_reuse: bool = 'Field(...)'#
keep_sp_workdir: bool = 'Field(...)'#
perform: bool = 'Field(...)'#
hybrid_calc_bootstrap: bool = 'Field(...)'#
hybrid_calc_bootstrap_wallclock: int = 'Field(...)'#
keep_magnetization: bool = 'Field(...)'#
double_relax_mode: bool = 'Field(...)'#
residual_forces_check: bool = 'Field(...)'#
class aiida_vasp.utils.opthold.ConvOptions(/, **data: typing.Any)[source]#

Bases: aiida_vasp.utils.opthold.OptionContainer

Template for the Dict node controlling the workchain behaviour

Initialization

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

cutoff_start: float = 'Field(...)'#
cutoff_stop: float = 'Field(...)'#
cutoff_step: float = 'Field(...)'#
kspacing_start: float = 'Field(...)'#
kspacing_stop: float = 'Field(...)'#
kspacing_step: float = 'Field(...)'#
cutoff_kconv: float = 'Field(...)'#
kspacing_cutconv: float = 'Field(...)'#
class aiida_vasp.utils.opthold.BandOptions(/, **data: typing.Any)[source]#

Bases: aiida_vasp.utils.opthold.OptionContainer

Options for VaspRelaxWorkChain

Initialization

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

symprec: float = 'Field(...)'#
band_mode: str = 'Field(...)'#
band_kpoints_distance: float = 'Field(...)'#
line_density: float = 'Field(...)'#
dos_kpoints_distance: float = 'Field(...)'#
only_dos: bool = 'Field(...)'#
run_dos: bool = 'Field(...)'#
additional_band_analysis_parameters: dict = 'Field(...)'#
kpoints_per_split: int = 'Field(...)'#
hybrid_reuse_wavecar: bool = 'Field(...)'#