VASP calculation¶
Inputs¶
parameters¶
The input parameters (the content of the INCAR file). This is of the AiiDA data type Dict
, containing keys-value pairs that would be given in an INCAR file when running VASP manually. The conversion (parsing) from parameters
to a VASP INCAR file is handled by Incar
. Example:
parameters = Dict(dict={
'system': 'System Name',
'nbands': 24,
'gga': 'PE',
'gga_compat: False,
'encut': 280.0}
)
Key names are case-insensitive, which should be considered when querying the database. Values can be given in their python representation or as strings (strings also may include unit specifications).
dynamics¶
A dictionary containing information about how the calculation should obey the dynamics of the system. Currently only one flag is respected, that is the positions_dof
which contains a list, one entry per position which contains another list, e.g. [True, True, False]
that describes the flags to set in POSCAR
after each position in order to control the selective dynamics. Example:
dynamics = Dict(dict={'positions_dof':
[[True, True, True],
[False, True, False]
]}
)
kpoints¶
The k-point mapping of the reciprocal space. This is of the AiiDA data type KpointsData
and can either be given as a mesh, list or path. This information is transformed into either of two kinds of KPOINTS file; a mesh or an explicit list. The transformation of k-point paths to lists of k-points is left to AiiDA to ensure consistency over codes. Mesh files are written as such because VASP treats them differently than lists and many use cases do not work with lists. The conversion (parsing) from kpoints
to a VASP KPOINTS file is handled by Kpoints
. Example:
k_mesh = KpointsData()
k_mesh.set_kpoints_mesh([4, 4, 4], offset=[0, 0, 0]) # a fairly sparse mesh
This leads to the following KPOINTS:
Automatic mesh
0
Gamma
4 4 4
0 0 0
Whereas
my_kpoints = [[0.0, 0.0, 0.0],
[0.1, 0.1, 0.1],
...
]
my_weights = [1., 2., ...]
assert(len(my_kpoints) == 10)
assert(len(my_weights) == 10)
k_list = KpointsData()
k_list.set_kpoints(my_kpoints)
leads to:
Explicit list
10
Direct
0.0 0.0 0.0 1.0
0.1 0.1 0.1 2.0
...
To use a k-point path requires knowledge of the structure beforehand
structure = CifData.get_or_create('<path-to-cif-file>')
k_path = KpointsData()
k_path.set_cell(structure.get_ase().get_cell())
k_path.set_kpoints_path(value=[('G', 'M'), ('M', ...), ... ])
This leads to:
Explicit list
<Number of AiiDA generated kpoints>
Direct
0 0 0 1.0
...
Look at the class documentation for KpointsData
for more information on how to influence the generation of kpoints from paths. One can also utilize SeeK-path to create consitent explicit lists of k-points to be used for band structure extractions. This is demonstrated in Bands workchain.
structure¶
The structure of the atomic layout. This is of the AiiDA data type StructureData
or CifData
. The conversion (parsing) to (from) structure
from (to) a VASP POSCAR
file is handled by Poscar
.
potential¶
A namespace containing the potentials to use for each element (the POTCAR files). This is of the AiiDA-VASP data type PotcarData
. How to upload VASP POTCAR files can be found at Potentials. Once uploaded they can be obtained as follows:
# input_structure is for instance InAs
potcar_mapping = {'In': 'In_d', 'As': 'As'}
potcars = PotcarData.get_potcars_from_structure(structure=input_structure, family_name='PBE.54', mapping=potcar_mapping)
One POTCAR node must be given to the calculations for each element in the system. The calculations take responsibility for ordering the elements consistently between POSCAR and POTCAR.
charge_density¶
The charge density of the electrons (the CHGCAR file). This is of the AiiDA-VASP data type ChargedensityData
and contains a CHGCAR file from a previous (self-consistent) run. This input is optional.
wavefunctions¶
The plane wave coefficients (the WAVECAR file). This is of the AiiDA-VASP data type WavefunData
containing a WAVECAR (or WAVEDER) file from a previous (self-consistent) run. This input is optional.
wannier_parameters¶
Dict
containing information that would be given to Wannier90 in a VASP run with LWANNIER90 = TRUE
.
Keyword parameters are mapped to key-value pairs, begin-end blocks are represented as lists with an entry per line. Numerical and boolean values can be given as python or string representations of the respective type. An example
wannier_parameters = Dict(dict={
"num_bands": 24,
"num_wann": 8,
"projections": [
["In: s; px; py; pz"],
["As: s; px; py; pz"]
]
})
Outputs¶
Each Calculation in AiiDA has at least the following two output nodes:
retrieved
: An AiiDA data typeFolderData
, containing information about the folder in the file repository holding the retrieved files after a run of a Calculation is completed (e.g. a regular VASP run). Each successfully completed VASP calculation will retrieve at least vasprun.xml and typically more files.remote_folder
: An AiiDA data typeRemoteData
, containing infomation about the directory on the remote computer where the Calculation ran.
In addition to input parameters, a number of VASP specific output nodes may be generated depending on the specific Calculation.
misc¶
A dictionary container that houses all system size independent properties. It is of an AiiDA data type
Dict
and contains the keys for the maximum force, stress and total energies.
kpoints¶
KpointsData
containing output k-points read from the output file IBZKPT.
This node contains a list of k-points which can be passed to other codes or used to construct input kpoints for a VASP calculation with hybrid functionals.
Applies to:
chargedensities¶
ChargeDensity
containing the CHGCAR output file.
Applies to:
wavefunctions¶
ChargedensityData
containing a WAVECAR file from a previous (self-consistent) run.
Applies to:
bands¶
BandsData
containing the bands information read from EIGENVAL and/or vasprun.xml.
Applies to:
dos¶
ArrayData
containing the DOS information read from DOSCAR and/or vasprun.xml.
Applies to:
wannier_parameters¶
Dict
with a representation of the wannier90.win file generated by the VASP2Wannier90 interface, if LWANNIER90=True
was given as
an input parameter.
Applies to:
wannier_data¶
ArchiveData
, holding a compressed tar archive of the wannier_setup output files.
Applies to: