aiida_vasp.calcs.immigrant#

Module for importing existing VASP calculations by reading input files and running dummy calculations through aiida-core.

Module Contents#

Classes#

VaspCalcImporter

Importer for VASP calculations.

Functions#

get_incar_input

Create a node that contains the INCAR content.

get_poscar_input

Create a node that contains the POSCAR content.

get_potcar_input

Read potentials from POTCAR or set it up from a structure.

get_kpoints_input

Create a node that contains the KPOINTS content.

get_chgcar_input

Include CHGCAR as input

get_wavecar_input

Include WAVECAR as input

Data#

API#

aiida_vasp.calcs.immigrant.logger = 'getLogger(...)'#
class aiida_vasp.calcs.immigrant.VaspCalcImporter[source]#

Importer for VASP calculations.

The importer is responsible for parsing an existing folder to recreate the inputs nodes, then the calculation can be submitted to the AiiDA engine with a remote_folder input node so parsing is triggered immediately without actually running the calculation.

classmethod get_builder_from_folder(code: aiida.orm.AbstractCode, remote_path: str | None = None, remote_folder: aiida.orm.RemoteData | None = None, options: None | dict[str, Any] = None, settings: None | dict[str, Any] = None, potential_family: None | str = None, potential_mapping: None | dict[str, str] = None, include_wavecar: bool = False, include_chgcar: bool = False, stdout_file_name: str = 'vasp_output', dummy_resources: dict[str, str] | None = None, **kwargs) aiida.common.extendeddicts.AttributeDict[source]#

Create inputs to launch a dummy calculation from a code and a remote path on the associated computer.

If POTCAR does not exist, the provided potential_family and potential_mapping are used to link potential to inputs. In this case, at least potential_family has to be provided. Unless potential_mapping, this mapping is generated from structure, i.e.,

potential_mapping = {element: element for element in structure.get_kind_names()}
Parameters:
  • code – a Code instance for the code originally used.

  • remote_path – Directory where VASP inputs and outputs are stored on the remote machine.

  • settings – dict. This is used as the input port of VaspCalculation.

  • potential_family – str potential family to load the POTCAR from, if the POTCAR is missing.

  • potential_mapping – dict mapping of elements to pseudopotentials, if the POTCAR is missing.

  • include_wavecar – bool. Try to read WAVECAR.

  • include_chgcar – bool. Try to read CHGCAR.

  • stdout_file_name – str. Name of the stdout file to look for.

  • dummy_resources – dict[str, str]. Dummy resources to use for the calculation.

classmethod run_import(code: aiida.orm.AbstractCode, remote_path: str | None = None, remote_folder: aiida.orm.RemoteData | None = None, options: None | dict[str, Any] = None, settings: None | dict[str, Any] = None, potential_family: None | str = None, potential_mapping: None | dict[str, str] = None, include_wavecar: bool = False, include_chgcar: bool = False, stdout_file_name: str = 'vasp_output', dummy_resources: dict[str, str] | None = None, **kwargs) aiida_vasp.calcs.vasp.VaspCalculation[source]#

Run the import process for a VASP calculation.

This is blocking function - the import process is done within the current python session.

Parameters:
  • code – a Code instance for the code originally used.

  • remote_path – Directory where VASP inputs and outputs are stored on the remote machine.

  • remote_folder – The remote folder containing the VASP calculation files.

  • options – Additional options for the calculation.

  • settings – dict. This is used as the input port of VaspCalculation.

  • potential_family – str potential family to load the POTCAR from, if the POTCAR is missing.

  • potential_mapping – dict mapping of elements to pseudopotentials, if the POTCAR is missing.

  • include_wavecar – bool. Try to read WAVECAR.

  • include_chgcar – bool. Try to read CHGCAR.

  • stdout_file_name – str. Name of the stdout file to look for.

  • dummy_resources – dict[str, str]. Dummy resources to use for the calculation.

Returns:

The VASP calculation instance.

classmethod run_import_daemon(code: aiida.orm.AbstractCode, remote_path: str | None = None, remote_folder: aiida.orm.RemoteData | None = None, options: None | dict[str, Any] = None, settings: None | dict[str, Any] = None, potential_family: None | str = None, potential_mapping: None | dict[str, str] = None, include_wavecar: bool = False, include_chgcar: bool = False, stdout_file_name: str = 'vasp_output', dummy_resources: dict[str, str] | None = None, **kwargs) plumpy.Process[source]#

Submit the import process for a VASP calculation to the daemon.

This is a none-blocking function - the import process is carried out by the daemon.

Parameters:
  • code – a Code instance for the code originally used.

  • remote_path – Directory where VASP inputs and outputs are stored on the remote machine.

  • remote_folder – The remote folder containing the VASP calculation files.

  • options – Additional options for the calculation.

  • settings – dict. This is used as the input port of VaspCalculation.

  • potential_family – str potential family to load the POTCAR from, if the POTCAR is missing.

  • potential_mapping – dict mapping of elements to pseudopotentials, if the POTCAR is missing.

  • include_wavecar – bool. Try to read WAVECAR.

  • include_chgcar – bool. Try to read CHGCAR.

  • stdout_file_name – str. Name of the stdout file to look for.

  • dummy_resources – dict[str, str]. Dummy resources to use for the calculation.

Returns:

The process instance.

aiida_vasp.calcs.immigrant.get_incar_input(dir_path: pathlib.Path) aiida.orm.Dict[source]#

Create a node that contains the INCAR content.

aiida_vasp.calcs.immigrant.get_poscar_input(dir_path: pathlib.Path) aiida.orm.StructureData[source]#

Create a node that contains the POSCAR content.

aiida_vasp.calcs.immigrant.get_potcar_input(dir_path: pathlib.Path, structure: aiida.orm.StructureData | None = None, potential_family: str | None = None, potential_mapping: dict | None = None) dict[str, aiida_vasp.data.potcar.PotcarData][source]#

Read potentials from POTCAR or set it up from a structure.

aiida_vasp.calcs.immigrant.get_kpoints_input(dir_path: pathlib.Path, structure: aiida.orm.StructureData | None = None) aiida.orm.KpointsData[source]#

Create a node that contains the KPOINTS content.

aiida_vasp.calcs.immigrant.get_chgcar_input(dir_path: pathlib.Path) aiida_vasp.data.chargedensity.ChargedensityData[source]#

Include CHGCAR as input

aiida_vasp.calcs.immigrant.get_wavecar_input(dir_path: pathlib.Path) aiida_vasp.data.wavefun.WavefunData[source]#

Include WAVECAR as input