aiida_cusp.data.inputs.vasp_kpoint module

Datatype and methods to initialize and interact with VASP specific KPOINTS input data

class aiida_cusp.data.inputs.vasp_kpoint.KpointWrapper(kpoints=None, structure=None)

Bases: object

Utility class for initializing pymatgen.io.vasp.inputs.Kpoints data objects.

Provides a wrapper for the different initialization modes provided by the pymatgen Kpoints object. Different modes can be access by setting the ‘mode’ keyword in the kpoints dictionary and by defining the datatypes passed by the ‘kpoints’ keyword (i.e. a list of kpoints will initialize an explicit kpoint grid while passing a float to the constructor will call a density based initialization mode)

Example:

>>> kpoint_param = {'mode': 'auto', 'kpoints': 100}
>>> kpts = KpointWrapper(kpoints=kpoint_params)
>>> print(kpts)
Automatic Mesh
0
Auto
  40
Parameters:
  • kpoints (dict or Kpoints) – input parameters that are used to construct the Kpoints object or a kpoints object itself
  • structure (Structure, Poscar or StructureData) – optional input structure for the calculation required for density based kpoint initialization
classmethod auto_int()

Initialize automatic kpoint grid following the VASP automatic mode

Example:

Automatic Mesh
0
Auto
  40
classmethod build_init_mode()

Figure out the initialization mode using the defined mode and the specified type of kpoints

classmethod complete_parameter_list()

Complete the parameter list and perform minimal initial checking

classmethod gamma_float()

Initialize gamma grid using a given kpoint density. Enforces the usage of gamma grids.

Example:

Automatic Kpoint Scheme
0
Gamma
5 5 5
classmethod gamma_list()

Initialize gamma grid from a list explicitly defining the number of kpoint subdivisions along the crystal axis

Example:

Automatic Kpoint Scheme
0
Gamma
5 5 5
classmethod line_int()

Initialize list of kpoints along a high-symmetry path through the Brillouin zone. Uses a path defined by the pymatgen HighSymmPath class with a defined number of kpoint subdivisions between the path nodes.

Example:

Line_mode KPOINTS file
100
Line_mode
Reciprocal
0.0 0.0 0.0 ! Gamma
0.0 0.5 0.0 ! X

0.0 0.5 0.0 ! X

...

0.0 0.5 0.0 ! X

0.5 0.5 0.0 ! M
0.5 0.5 0.5 ! R
classmethod monkhorst_float()

Initialize kpoint grid using a given kpoint density. If the number of subdivisions is even a Monkhorst grid is constructured whereas gamma grids are used for odd kpoint subdivisions

Example:

Automatic Kpoint Scheme
0
Monkhorst
4 4 4
classmethod monkhorst_list()

Initialize Monkhorst grid from a list explicitly defining the number of kpoint subdivisions along the crystal axis

Example:

Automatic Kpoint Scheme
0
Monkhorst
4 4 4
classmethod structure_from_input()

Obtain Structure object from the given input structure

classmethod validate_and_initialize()

Initialize a new Kpoint object from user inputs

class aiida_cusp.data.inputs.vasp_kpoint.VaspKpointData(kpoints=None, structure=None)

Bases: aiida.orm.nodes.data.dict.Dict

AiiDA compatible node representing a VASP k-point grid based on the Kpoints datatype.

Parameters:
get_description()

Return a descriptive string of the stored k-point contents.

get_kpoints()

Create and return a pymatgen.io.vasp.inputs.Kpoints instance initialized from the node’s stored k-point data contents.

Returns:a pymatgen Kpoints instance
Return type:pymatgen.io.vasp.inputs.Kpoints
write_file(filename)

Write the stored k-point grid data to VASP input file.

File creation is redirected to the pymatgen.io.vasp.inputs.Kpoints.write_file() method and the created output file will be formatted as VASP input file (KPOINTS)

Parameters:filename (str) – destination for the output file including the desired output filename
Returns:None