dpgen init_surf parameters


One can load, modify, and export the input file by using our effective web-based tool DP-GUI online or hosted using the command line interface dpgen gui. All parameters below can be set in DP-GUI. By clicking “SAVE JSON”, one can download the input file.

type: dict
argument path: init_surf_jdata

Generate initial data for surface systems.

type: list[int]
argument path: init_surf_jdata/stages

Stages for init_surf.

type: list[str]
argument path: init_surf_jdata/elements

Atom types.

type: list[str], optional
argument path: init_surf_jdata/potcars

Path of POTCAR.

type: str, optional
argument path: init_surf_jdata/cell_type

Specifying which typical structure to be generated. Options include fcc, hcp, bcc, sc, diamond.

type: list[int]
argument path: init_surf_jdata/super_cell

Size of supercell.

type: bool, optional, default: False
argument path: init_surf_jdata/from_poscar

Deciding whether to use a given poscar as the beginning of relaxation. If it’s true, keys (cell_type, latt) will be aborted. Otherwise, these two keys are necessary.

type: str, optional
argument path: init_surf_jdata/from_poscar_path

Path of POSCAR for VASP or STRU for ABACUS. Necessary if from_poscar is true.

type: float
argument path: init_surf_jdata/latt

Lattice constant for single cell.

type: int, optional
argument path: init_surf_jdata/layer_numb

Number of atom layers constructing the slab.

type: int, optional
argument path: init_surf_jdata/z_min

Thickness of slab without vacuum (Angstrom). If layer_numb is set, z_min will be ignored.

type: float
argument path: init_surf_jdata/vacuum_max

Maximal thickness of vacuum (Angstrom).

type: float, optional
argument path: init_surf_jdata/vacuum_min

Minimal thickness of vacuum (Angstrom). Default value is 2 times atomic radius.

type: list[float]
argument path: init_surf_jdata/vacuum_resol

Interval of thickness of vacuum. If size of vacuum_resol is 1, the interval is fixed to its value. If size of vacuum_resol is 2, the interval is vacuum_resol[0] before mid_point, otherwise vacuum_resol[1] after mid_point.

type: int, optional
argument path: init_surf_jdata/vacuum_numb

The total number of vacuum layers Necessary if vacuum_resol is empty.

type: float, optional
argument path: init_surf_jdata/mid_point

The mid point separating head region and tail region. Necessary if the size of vacuum_resol is 2 or 0.

type: float, optional
argument path: init_surf_jdata/head_ratio

Ratio of vacuum layers in the nearby region with denser intervals(head region). Necessary if vacuum_resol is empty.

type: list[list[int]]
argument path: init_surf_jdata/millers

Miller indices.

type: str, optional
argument path: init_surf_jdata/relax_incar

Path of INCAR for relaxation in VASP. Necessary if stages include 1.

type: list[float]
argument path: init_surf_jdata/scale

Scales for isotropic transforming cells.

type: bool
argument path: init_surf_jdata/skip_relax

If it’s true, you may directly run stage 2 (perturb and scale) using an unrelaxed POSCAR.

type: int
argument path: init_surf_jdata/pert_numb

Number of perturbations for each scaled (key scale) POSCAR.

type: float
argument path: init_surf_jdata/pert_box

Anisotropic Perturbation for cells (independent changes of lengths of three box vectors as well as angel among) in decimal formats. 9 elements of the 3x3 perturbation matrix will be randomly sampled from a uniform distribution (default) in the range [-pert_box, pert_box]. Such a perturbation matrix adds the identity matrix gives the actual transformation matrix for this perturbation operation.

type: float
argument path: init_surf_jdata/pert_atom

Perturbation of atom coordinates (Angstrom). Random perturbations are performed on three coordinates of each atom by adding values randomly sampled from a uniform distribution in the range [-pert_atom, pert_atom].

type: int
argument path: init_surf_jdata/coll_ndata

Maximal number of collected data.