dpgen run param parameters

Note

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.

run_jdata:
type: dict
argument path: run_jdata

param.json file

type_map:
type: list[str]
argument path: run_jdata/type_map

Atom types. Reminder: The elements in param.json, type.raw and data.lmp(when using lammps) should be in the same order.

mass_map:
type: str | list[float], optional, default: auto
argument path: run_jdata/mass_map

Standard atomic weights (default: “auto”). if one want to use isotopes, or non-standard element names, chemical symbols, or atomic number in the type_map list, please customize the mass_map list instead of using “auto”.

use_ele_temp:
type: int, optional, default: 0
argument path: run_jdata/use_ele_temp

Currently only support fp_style vasp.

  • 0: no electron temperature.

  • 1: eletron temperature as frame parameter.

  • 2: electron temperature as atom parameter.

init_data_prefix:
type: str, optional
argument path: run_jdata/init_data_prefix

Prefix of initial data directories.

init_data_sys:
type: list[str]
argument path: run_jdata/init_data_sys

Paths of initial data. The path can be either a system diretory containing NumPy files or an HDF5 file. You may use either absolute or relative path here. Systems will be detected recursively in the directories or the HDF5 file.

sys_format:
type: str, optional, default: vasp/poscar
argument path: run_jdata/sys_format

Format of sys_configs.

init_batch_size:
type: list[typing.Union[int, str]] | str, optional
argument path: run_jdata/init_batch_size

Each number is the batch_size of corresponding system for training in init_data_sys. One recommended rule for setting the sys_batch_size and init_batch_size is that batch_size mutiply number of atoms ot the stucture should be larger than 32. If set to auto, batch size will be 32 divided by number of atoms. This argument will not override the mixed batch size in default_training_param.

sys_configs_prefix:
type: str, optional
argument path: run_jdata/sys_configs_prefix

Prefix of sys_configs.

sys_configs:
type: list[list[str]]
argument path: run_jdata/sys_configs

2D list. Containing directories of structures to be explored in iterations for each system. Wildcard characters are supported here.

sys_batch_size:
type: list[typing.Union[int, str]], optional
argument path: run_jdata/sys_batch_size

Each number is the batch_size for training of corresponding system in sys_configs. If set to auto, batch size will be 32 divided by number of atoms. This argument will not override the mixed batch size in default_training_param.

numb_models:
type: int
argument path: run_jdata/numb_models

Number of models to be trained in 00.train. 4 is recommend.

training_iter0_model_path:
type: list[str], optional
argument path: run_jdata/training_iter0_model_path

The model used to init the first iter training. Number of element should be equal to numb_models.

training_init_model:
type: bool, optional
argument path: run_jdata/training_init_model

Iteration > 0, the model parameters will be initilized from the model trained at the previous iteration. Iteration == 0, the model parameters will be initialized from training_iter0_model_path.

default_training_param:
type: dict
argument path: run_jdata/default_training_param

Training parameters for deepmd-kit in 00.train. You can find instructions from DeePMD-kit documentation.

dp_train_skip_neighbor_stat:
type: bool, optional, default: False
argument path: run_jdata/dp_train_skip_neighbor_stat

Append –skip-neighbor-stat flag to dp train.

dp_compress:
type: bool, optional, default: False
argument path: run_jdata/dp_compress

Use dp compress to compress the model.

training_reuse_iter:
type: int | NoneType, optional
argument path: run_jdata/training_reuse_iter

The minimal index of iteration that continues training models from old models of last iteration.

training_reuse_old_ratio:
type: str | float, optional, default: auto
argument path: run_jdata/training_reuse_old_ratio

The probability proportion of old data during training. It can be:

  • float: directly assign the probability of old data;

  • auto:f: automatic probability, where f is the new-to-old ratio;

  • auto: equivalent to auto:10.

This option is only adopted when continuing training models from old models. This option will override default parameters.

training_reuse_numb_steps:
type: int | NoneType, optional, default: None, alias: training_reuse_stop_batch
argument path: run_jdata/training_reuse_numb_steps

Number of training batch. This option is only adopted when continuing training models from old models. This option will override default parameters.

training_reuse_start_lr:
type: float | NoneType, optional, default: None
argument path: run_jdata/training_reuse_start_lr

The learning rate the start of the training. This option is only adopted when continuing training models from old models. This option will override default parameters.

training_reuse_start_pref_e:
type: int | float | NoneType, optional, default: None
argument path: run_jdata/training_reuse_start_pref_e

The prefactor of energy loss at the start of the training. This option is only adopted when continuing training models from old models. This option will override default parameters.

training_reuse_start_pref_f:
type: int | float | NoneType, optional, default: None
argument path: run_jdata/training_reuse_start_pref_f

The prefactor of force loss at the start of the training. This option is only adopted when continuing training models from old models. This option will override default parameters.

model_devi_activation_func:
type: list[list[str]] | NoneType, optional
argument path: run_jdata/model_devi_activation_func

The activation function in the model. The shape of list should be (N_models, 2), where 2 represents the embedding and fitting network. This option will override default parameters.

srtab_file_path:
type: str, optional
argument path: run_jdata/srtab_file_path

The path of the table for the short-range pairwise interaction which is needed when using DP-ZBL potential

one_h5:
type: bool, optional, default: False
argument path: run_jdata/one_h5

When using DeePMD-kit, all of the input data will be merged into one HDF5 file.

training_init_frozen_model:
type: list[str], optional
argument path: run_jdata/training_init_frozen_model

At interation 0, initilize the model parameters from the given frozen models. Number of element should be equal to numb_models.

training_finetune_model:
type: list[str], optional
argument path: run_jdata/training_finetune_model

At interation 0, finetune the model parameters from the given frozen models. Number of element should be equal to numb_models.

fp_task_max:
type: int
argument path: run_jdata/fp_task_max

Maximum number of structures to be calculated in each system in 02.fp of each iteration. If the number of candidate structures exceeds fp_task_max, fp_task_max structures will be randomly picked from the candidates and labeled.

fp_task_min:
type: int
argument path: run_jdata/fp_task_min

Skip the training in the next iteration if the number of structures is no more than fp_task_min.

fp_accurate_threshold:
type: float, optional
argument path: run_jdata/fp_accurate_threshold

If the accurate ratio is larger than this number, no fp calculation will be performed, i.e. fp_task_max = 0.

fp_accurate_soft_threshold:
type: float, optional
argument path: run_jdata/fp_accurate_soft_threshold

If the accurate ratio is between this number and fp_accurate_threshold, the fp_task_max linearly decays to zero.

fp_cluster_vacuum:
type: float, optional
argument path: run_jdata/fp_cluster_vacuum

If the vacuum size is smaller than this value, this cluster will not be chosen for labeling.

detailed_report_make_fp:
type: bool, optional, default: True
argument path: run_jdata/detailed_report_make_fp

If set to true, a detailed report will be generated for each iteration.

ratio_failed:
type: float, optional
argument path: run_jdata/ratio_failed

Check the ratio of unsuccessfully terminated jobs. If too many FP tasks are not converged, RuntimeError will be raised.

Depending on the value of model_devi_engine, different sub args are accepted.

model_devi_engine:
type: str (flag key), default: lammps
argument path: run_jdata/model_devi_engine
possible choices: lammps, amber, calypso, gromacs

Engine for the model deviation task.

When model_devi_engine is set to lammps:

LAMMPS

model_devi_jobs:
type: list
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs

Settings for exploration in 01.model_devi. Each dict in the list corresponds to one iteration. The index of model_devi_jobs exactly accord with index of iterations

This argument takes a list with each element containing the following:

template:
type: dict, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/template

Give an input file template for the supported engine software adopted in 01.model_devi. Through user-defined template, any freedom (function) that is permitted by the engine software could be inherited (invoked) in the workflow.

lmp:
type: str, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/template/lmp

The path to input.lammps template. Instructions can be found in LAMMPS documentation.

plm:
type: str, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/template/plm

The path to input.plumed template. Instructions can be found in PLUMED documentation.

rev_mat:
type: dict, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/rev_mat

revise matrix for revising variable(s) defined in the template into the specific values (iteration-resolved). Values will be broadcasted for all tasks within the iteration invoking this key.

lmp:
type: dict, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/rev_mat/lmp

revise matrix for revising variable(s) defined in the lammps template into the specific values (iteration-resolved).

plm:
type: dict, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/rev_mat/plm

revise matrix for revising variable(s) defined in the plumed template into specific values(iteration-resolved)

sys_rev_mat:
type: dict, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/sys_rev_mat

system-resolved revise matrix for revising variable(s) defined in the template into specific values. Values should be individually assigned to each system adopted by this iteration, through a dictionary where first-level keys are values of sys_idx of this iteration.

sys_idx:
type: list[int]
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/sys_idx

Systems to be selected as the initial structure of MD and be explored. The index corresponds exactly to the sys_configs.

temps:
type: list[float], optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/temps

Temperature (K) in MD.

press:
type: list[float], optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/press

Pressure (Bar) in MD. Required when ensemble is npt.

trj_freq:
type: int
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/trj_freq

Frequecy of trajectory saved in MD.

nsteps:
type: int, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/nsteps

Running steps of MD. It is not optional when not using a template.

nbeads:
type: int, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/nbeads

Number of beads in PIMD. If not given, classical MD will be performed. Only supported for LAMMPS version >= 20230615.

ensemble:
type: str, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/ensemble

Determining which ensemble used in MD, options include “npt” and “nvt”. It is not optional when not using a template.

neidelay:
type: int, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/neidelay

delay building until this many steps since last build.

taut:
type: float, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/taut

Coupling time of thermostat (ps).

taup:
type: float, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/taup

Coupling time of barostat (ps).

model_devi_f_trust_lo:
type: dict | float, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/model_devi_f_trust_lo

Lower bound of forces for the selection. If dict, should be set for each index in sys_idx, respectively.

model_devi_f_trust_hi:
type: dict | float, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/model_devi_f_trust_hi

Upper bound of forces for the selection. If dict, should be set for each index in sys_idx, respectively.

model_devi_v_trust_lo:
type: dict | float, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/model_devi_v_trust_lo

Lower bound of virial for the selection. If dict, should be set for each index in sys_idx, respectively. Should be used with DeePMD-kit v2.x.

model_devi_v_trust_hi:
type: dict | float, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_jobs/model_devi_v_trust_hi

Upper bound of virial for the selection. If dict, should be set for each index in sys_idx, respectively. Should be used with DeePMD-kit v2.x.

model_devi_dt:
type: float
argument path: run_jdata[model_devi_engine=lammps]/model_devi_dt

Timestep for MD. 0.002 is recommend.

model_devi_skip:
type: int
argument path: run_jdata[model_devi_engine=lammps]/model_devi_skip

Number of structures skipped for fp in each MD.

model_devi_f_trust_lo:
type: dict | list[float] | float
argument path: run_jdata[model_devi_engine=lammps]/model_devi_f_trust_lo

Lower bound of forces for the selection. If list or dict, should be set for each index in sys_configs, respectively.

model_devi_f_trust_hi:
type: dict | list[float] | float
argument path: run_jdata[model_devi_engine=lammps]/model_devi_f_trust_hi

Upper bound of forces for the selection. If list or dict, should be set for each index in sys_configs, respectively.

model_devi_v_trust_lo:
type: dict | list[float] | float, optional, default: 10000000000.0
argument path: run_jdata[model_devi_engine=lammps]/model_devi_v_trust_lo

Lower bound of virial for the selection. If list or dict, should be set for each index in sys_configs, respectively. Should be used with DeePMD-kit v2.x.

model_devi_v_trust_hi:
type: dict | list[float] | float, optional, default: 10000000000.0
argument path: run_jdata[model_devi_engine=lammps]/model_devi_v_trust_hi

Upper bound of virial for the selection. If list or dict, should be set for each index in sys_configs, respectively. Should be used with DeePMD-kit v2.x.

model_devi_adapt_trust_lo:
type: bool, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_adapt_trust_lo

Adaptively determines the lower trust levels of force and virial. This option should be used together with model_devi_numb_candi_f, model_devi_numb_candi_v and optionally with model_devi_perc_candi_f and model_devi_perc_candi_v. dpgen will make two sets:

    1. From the frames with force model deviation lower than model_devi_f_trust_hi, select max(model_devi_numb_candi_f, model_devi_perc_candi_f*n_frames) frames with largest force model deviation.

    1. From the frames with virial model deviation lower than model_devi_v_trust_hi, select max(model_devi_numb_candi_v, model_devi_perc_candi_v*n_frames) frames with largest virial model deviation.

The union of the two sets is made as candidate dataset.

model_devi_numb_candi_f:
type: int, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_numb_candi_f

See model_devi_adapt_trust_lo.

model_devi_numb_candi_v:
type: int, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_numb_candi_v

See model_devi_adapt_trust_lo.

model_devi_perc_candi_f:
type: float, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_perc_candi_f

See model_devi_adapt_trust_lo.

model_devi_perc_candi_v:
type: float, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_perc_candi_v

See model_devi_adapt_trust_lo.

model_devi_f_avg_relative:
type: bool, optional
argument path: run_jdata[model_devi_engine=lammps]/model_devi_f_avg_relative

Normalized the force model deviations by the RMS force magnitude along the trajectory. This key should not be used with use_relative.

model_devi_clean_traj:
type: bool | int, optional, default: True
argument path: run_jdata[model_devi_engine=lammps]/model_devi_clean_traj

If type of model_devi_clean_traj is bool type then it denote whether to clean traj folders in MD since they are too large. If it is Int type, then the most recent n iterations of traj folders will be retained, others will be removed.

model_devi_merge_traj:
type: bool, optional, default: False
argument path: run_jdata[model_devi_engine=lammps]/model_devi_merge_traj

If model_devi_merge_traj is set as True, only all.lammpstrj will be generated, instead of lots of small traj files.

model_devi_nopbc:
type: bool, optional, default: False
argument path: run_jdata[model_devi_engine=lammps]/model_devi_nopbc

Assume open boundary condition in MD simulations.

model_devi_plumed:
type: bool, optional, default: False
argument path: run_jdata[model_devi_engine=lammps]/model_devi_plumed
model_devi_plumed_path:
type: bool, optional, default: False
argument path: run_jdata[model_devi_engine=lammps]/model_devi_plumed_path
shuffle_poscar:
type: bool, optional, default: False
argument path: run_jdata[model_devi_engine=lammps]/shuffle_poscar

Shuffle atoms of each frame before running simulations. The purpose is to sample the element occupation of alloys.

use_relative:
type: bool, optional, default: False
argument path: run_jdata[model_devi_engine=lammps]/use_relative

Calculate relative force model deviation.

epsilon:
type: float, optional
argument path: run_jdata[model_devi_engine=lammps]/epsilon

The level parameter for computing the relative force model deviation.

use_relative_v:
type: bool, optional, default: False
argument path: run_jdata[model_devi_engine=lammps]/use_relative_v

Calculate relative virial model deviation.

epsilon_v:
type: float, optional
argument path: run_jdata[model_devi_engine=lammps]/epsilon_v

The level parameter for computing the relative virial model deviation.

When model_devi_engine is set to amber:

Amber DPRc engine. The command argument in the machine file should be path to sander.

model_devi_jobs:
type: list
argument path: run_jdata[model_devi_engine=amber]/model_devi_jobs

List of dicts. The list including the dict for information of each cycle.

This argument takes a list with each element containing the following:

sys_idx:
type: list[int]
argument path: run_jdata[model_devi_engine=amber]/model_devi_jobs/sys_idx

List of ints. List of systems to run.

trj_freq:
type: int
argument path: run_jdata[model_devi_engine=amber]/model_devi_jobs/trj_freq

Frequency to dump trajectory.

restart_from_iter:
type: int, optional
argument path: run_jdata[model_devi_engine=amber]/model_devi_jobs/restart_from_iter

The iteration index to restart the simulation from. If not given, the simulation is restarted from sys_configs.

low_level:
type: str
argument path: run_jdata[model_devi_engine=amber]/low_level

Low level method. The value will be filled into mdin file as @qm_theory@.

cutoff:
type: float
argument path: run_jdata[model_devi_engine=amber]/cutoff

Cutoff radius for the DPRc model.

parm7_prefix:
type: str, optional
argument path: run_jdata[model_devi_engine=amber]/parm7_prefix

The path prefix to AMBER PARM7 files.

parm7:
type: list[str]
argument path: run_jdata[model_devi_engine=amber]/parm7

List of paths to AMBER PARM7 files. Each file maps to a system.

mdin_prefix:
type: str, optional
argument path: run_jdata[model_devi_engine=amber]/mdin_prefix

The path prefix to AMBER mdin template files.

mdin:
type: list[str]
argument path: run_jdata[model_devi_engine=amber]/mdin

List of paths to AMBER mdin template files. Each files maps to a system. In the template, the following keywords will be replaced by the actual value: @freq@: freq to dump trajectory; @nstlim@: total time step to run; @qm_region@: AMBER mask of the QM region; @qm_theory@: The low level QM theory, such as DFTB2; @qm_charge@: The total charge of the QM theory, such as -2; @rcut@: cutoff radius of the DPRc model; @GRAPH_FILE0@, @GRAPH_FILE1@, … : graph files.

qm_region:
type: list[str]
argument path: run_jdata[model_devi_engine=amber]/qm_region

List of strings. AMBER mask of the QM region. Each mask maps to a system.

qm_charge:
type: list[int]
argument path: run_jdata[model_devi_engine=amber]/qm_charge

List of ints. Charge of the QM region. Each charge maps to a system.

nsteps:
type: list[int]
argument path: run_jdata[model_devi_engine=amber]/nsteps

List of ints. The number of steps to run. Each number maps to a system.

r:
type: list[list[typing.Union[float, list[float]]]]
argument path: run_jdata[model_devi_engine=amber]/r

2D or 3D list of floats. Constrict values for the enhanced sampling. The first dimension maps to systems. The second dimension maps to confs in each system. The third dimension is the constrict value. It can be a single float for 1D or list of floats for nD.

disang_prefix:
type: str, optional
argument path: run_jdata[model_devi_engine=amber]/disang_prefix

The path prefix to disang prefix.

disang:
type: list[str]
argument path: run_jdata[model_devi_engine=amber]/disang

List of paths to AMBER disang files. Each file maps to a sytem. The keyword RVAL will be replaced by the constrict values, or RVAL1, RVAL2, … for an nD system.

model_devi_f_trust_lo:
type: dict | list[float] | float
argument path: run_jdata[model_devi_engine=amber]/model_devi_f_trust_lo

Lower bound of forces for the selection. If dict, should be set for each index in sys_idx, respectively.

model_devi_f_trust_hi:
type: dict | list[float] | float
argument path: run_jdata[model_devi_engine=amber]/model_devi_f_trust_hi

Upper bound of forces for the selection. If dict, should be set for each index in sys_idx, respectively.

When model_devi_engine is set to calypso:

TODO: add doc

When model_devi_engine is set to gromacs:

TODO: add doc

Depending on the value of fp_style, different sub args are accepted.

fp_style:
type: str (flag key)
argument path: run_jdata/fp_style

Software for First Principles.

When fp_style is set to vasp:

fp_pp_path:
type: str
argument path: run_jdata[fp_style=vasp]/fp_pp_path

Directory of psuedo-potential file to be used for 02.fp exists.

fp_pp_files:
type: list[str]
argument path: run_jdata[fp_style=vasp]/fp_pp_files

Psuedo-potential file to be used for 02.fp. Note that the order of elements should correspond to the order in type_map.

fp_incar:
type: str
argument path: run_jdata[fp_style=vasp]/fp_incar

Input file for VASP. INCAR must specify KSPACING and KGAMMA.

fp_aniso_kspacing:
type: list[float], optional
argument path: run_jdata[fp_style=vasp]/fp_aniso_kspacing

Set anisotropic kspacing. Usually useful for 1-D or 2-D materials. Only support VASP. If it is setting the KSPACING key in INCAR will be ignored.

cvasp:
type: bool, optional
argument path: run_jdata[fp_style=vasp]/cvasp

If cvasp is true, DP-GEN will use Custodian to help control VASP calculation.

fp_skip_bad_box:
type: str, optional
argument path: run_jdata[fp_style=vasp]/fp_skip_bad_box

Skip the configurations that are obviously unreasonable before 02.fp

When fp_style is set to gaussian:

use_clusters:
type: bool, optional, default: False
argument path: run_jdata[fp_style=gaussian]/use_clusters

If set to true, clusters will be taken instead of the whole system.

cluster_cutoff:
type: float, optional
argument path: run_jdata[fp_style=gaussian]/cluster_cutoff

The soft cutoff radius of clusters if use_clusters is set to true. Molecules will be taken as whole even if part of atoms is out of the cluster. Use cluster_cutoff_hard to only take atoms within the hard cutoff radius.

cluster_cutoff_hard:
type: float, optional
argument path: run_jdata[fp_style=gaussian]/cluster_cutoff_hard

The hard cutoff radius of clusters if use_clusters is set to true. Outside the hard cutoff radius, atoms will not be taken even if they are in a molecule where some atoms are within the cutoff radius.

cluster_minify:
type: bool, optional, default: False
argument path: run_jdata[fp_style=gaussian]/cluster_minify

If enabled, when an atom within the soft cutoff radius connects a single bond with a non-hydrogen atom out of the soft cutoff radius, the outer atom will be replaced by a hydrogen atom. When the outer atom is a hydrogen atom, the outer atom will be kept. In this case, other atoms out of the soft cutoff radius will be removed.

fp_params:
type: dict
argument path: run_jdata[fp_style=gaussian]/fp_params

Parameters for Gaussian calculation.

keywords:
type: str | list[str]
argument path: run_jdata[fp_style=gaussian]/fp_params/keywords

Keywords for Gaussian input, e.g. force b3lyp/6-31g**. If a list, run multiple steps.

multiplicity:
type: str | int, optional, default: auto
argument path: run_jdata[fp_style=gaussian]/fp_params/multiplicity

Spin multiplicity for Gaussian input. If auto, multiplicity will be detected automatically, with the following rules: when fragment_guesses=True, multiplicity will +1 for each radical, and +2 for each oxygen molecule; when fragment_guesses=False, multiplicity will be 1 or 2, but +2 for each oxygen molecule.

nproc:
type: int
argument path: run_jdata[fp_style=gaussian]/fp_params/nproc

The number of processors for Gaussian input.

charge:
type: int, optional, default: 0
argument path: run_jdata[fp_style=gaussian]/fp_params/charge

Molecule charge. Only used when charge is not provided by the system.

fragment_guesses:
type: bool, optional, default: False
argument path: run_jdata[fp_style=gaussian]/fp_params/fragment_guesses

Initial guess generated from fragment guesses. If True, multiplicity should be auto.

basis_set:
type: str, optional
argument path: run_jdata[fp_style=gaussian]/fp_params/basis_set

Custom basis set.

keywords_high_multiplicity:
type: str, optional
argument path: run_jdata[fp_style=gaussian]/fp_params/keywords_high_multiplicity

Keywords for points with multiple raicals. multiplicity should be auto. If not set, fallback to normal keywords.

When fp_style is set to siesta:

use_clusters:
type: bool, optional
argument path: run_jdata[fp_style=siesta]/use_clusters

If set to true, clusters will be taken instead of the whole system. This option does not work with DeePMD-kit 0.x.

cluster_cutoff:
type: float, optional
argument path: run_jdata[fp_style=siesta]/cluster_cutoff

The cutoff radius of clusters if use_clusters is set to true.

fp_params:
type: dict
argument path: run_jdata[fp_style=siesta]/fp_params

Parameters for siesta calculation.

ecut:
type: int
argument path: run_jdata[fp_style=siesta]/fp_params/ecut

Define the plane wave cutoff for grid.

ediff:
type: float
argument path: run_jdata[fp_style=siesta]/fp_params/ediff

Tolerance of Density Matrix.

kspacing:
type: float
argument path: run_jdata[fp_style=siesta]/fp_params/kspacing

Sample factor in Brillouin zones.

mixingWeight:
type: float
argument path: run_jdata[fp_style=siesta]/fp_params/mixingWeight

Proportion a of output Density Matrix to be used for the input Density Matrix of next SCF cycle (linear mixing).

NumberPulay:
type: int
argument path: run_jdata[fp_style=siesta]/fp_params/NumberPulay

Controls the Pulay convergence accelerator.

fp_pp_path:
type: str
argument path: run_jdata[fp_style=siesta]/fp_pp_path

Directory of psuedo-potential or numerical orbital files to be used for 02.fp exists.

fp_pp_files:
type: list[str]
argument path: run_jdata[fp_style=siesta]/fp_pp_files

Psuedo-potential file to be used for 02.fp. Note that the order of elements should correspond to the order in type_map.

When fp_style is set to cp2k:

user_fp_params:
type: dict, optional, alias: fp_params
argument path: run_jdata[fp_style=cp2k]/user_fp_params

Parameters for cp2k calculation. find detail in manual.cp2k.org. only the kind section must be set before use. we assume that you have basic knowledge for cp2k input.

external_input_path:
type: str, optional
argument path: run_jdata[fp_style=cp2k]/external_input_path

Conflict with key:user_fp_params. enable the template input provided by user. some rules should be followed, read the following text in detail:

  1. One must present a KEYWORD ABC in the section CELL so that the DP-GEN can replace the cell on-the-fly.

  2. One need to add these lines under FORCE_EVAL section to print forces and stresses:

    STRESS_TENSOR ANALYTICAL
      &PRINT
        &FORCES ON
        &END FORCES
        &STRESS_TENSOR ON
        &END STRESS_TENSOR
      &END PRINT
    

When fp_style is set to abacus:

fp_pp_path:
type: str
argument path: run_jdata[fp_style=abacus]/fp_pp_path

Directory of psuedo-potential or numerical orbital files to be used for 02.fp exists.

fp_pp_files:
type: list[str]
argument path: run_jdata[fp_style=abacus]/fp_pp_files

Psuedo-potential file to be used for 02.fp. Note that the order of elements should correspond to the order in type_map.

fp_orb_files:
type: list[str], optional
argument path: run_jdata[fp_style=abacus]/fp_orb_files

numerical orbital file to be used for 02.fp when using LCAO basis. Note that the order of elements should correspond to the order in type_map.

fp_incar:
type: str, optional
argument path: run_jdata[fp_style=abacus]/fp_incar

Input file for ABACUS. This is optinal but the priority is lower than user_fp_params, and you should not set user_fp_params if you want to use fp_incar.

fp_kpt_file:
type: str, optional
argument path: run_jdata[fp_style=abacus]/fp_kpt_file

KPT file for ABACUS.If the “kspacing” or “gamma_only=1” is defined in INPUT or “k_points” is defined, fp_kpt_file will be ignored.

fp_dpks_descriptor:
type: str, optional
argument path: run_jdata[fp_style=abacus]/fp_dpks_descriptor

DeePKS descriptor file name. The file should be in pseudopotential directory.

user_fp_params:
type: dict, optional
argument path: run_jdata[fp_style=abacus]/user_fp_params

Set the key and value of INPUT.

k_points:
type: list[int], optional
argument path: run_jdata[fp_style=abacus]/k_points

Monkhorst-Pack k-grids setting for generating KPT file of ABACUS, such as: [1,1,1,0,0,0]. NB: if “kspacing” or “gamma_only=1” is defined in INPUT, k_points will be ignored.

When fp_style is set to amber/diff:

Amber/diff style for DPRc models. Note: this fp style only supports to be used with model_devi_engine amber, where some arguments are reused. The command argument in the machine file should be path to sander. One should also install dpamber and make it visible in the PATH.

high_level:
type: str
argument path: run_jdata[fp_style=amber/diff]/high_level

High level method. The value will be filled into mdin template as @qm_theory@.

fp_params:
type: dict
argument path: run_jdata[fp_style=amber/diff]/fp_params

Parameters for FP calculation.

high_level_mdin:
type: str
argument path: run_jdata[fp_style=amber/diff]/fp_params/high_level_mdin

Path to high-level AMBER mdin template file. %qm_theory%, %qm_region%, and %qm_charge% will be replaced.

low_level_mdin:
type: str
argument path: run_jdata[fp_style=amber/diff]/fp_params/low_level_mdin

Path to low-level AMBER mdin template file. %qm_theory%, %qm_region%, and %qm_charge% will be replaced.

When fp_style is set to pwmat:

TODO: add doc

When fp_style is set to pwscf:

fp_pp_path:
type: str
argument path: run_jdata[fp_style=pwscf]/fp_pp_path

Directory of psuedo-potential file to be used for 02.fp exists.

fp_pp_files:
type: list[str]
argument path: run_jdata[fp_style=pwscf]/fp_pp_files

Psuedo-potential file to be used for 02.fp. Note that the order of elements should correspond to the order in type_map.

fp_params:
type: dict, optional
argument path: run_jdata[fp_style=pwscf]/fp_params

Parameters for pwscf calculation. It has lower priority than user_fp_params.

ecut:
type: float
argument path: run_jdata[fp_style=pwscf]/fp_params/ecut

ecutwfc in pwscf.

ediff:
type: float
argument path: run_jdata[fp_style=pwscf]/fp_params/ediff

conv_thr and ts_vdw_econv_thr in pwscf.

smearing:
type: str
argument path: run_jdata[fp_style=pwscf]/fp_params/smearing

smearing in pwscf.

sigma:
type: float
argument path: run_jdata[fp_style=pwscf]/fp_params/sigma

degauss in pwscf.

kspacing:
type: float
argument path: run_jdata[fp_style=pwscf]/fp_params/kspacing

The spacing between kpoints. Helps to determin KPOINTS in pwscf.

user_fp_params:
type: dict, optional
argument path: run_jdata[fp_style=pwscf]/user_fp_params

Parameters for pwscf calculation. Find details at https://www.quantum-espresso.org/Doc/INPUT_PW.html. When user_fp_params is set, the settings in fp_params will be ignored. If one wants to use user_fp_params, kspacing must be set in user_fp_params. kspacing is the spacing between kpoints, and helps to determin KPOINTS in pwscf.

When fp_style is set to custom:

Custom FP code. You need to provide the input and output file format and name. The command argument in the machine file should be the script to run custom FP codes. The extra forward and backward files can be defined in the machine file.

fp_params:
type: dict
argument path: run_jdata[fp_style=custom]/fp_params

Parameters for FP calculation.

input_fmt:
type: str
argument path: run_jdata[fp_style=custom]/fp_params/input_fmt

Input dpdata format of the custom FP code. Such format should only need the first argument as the file name.

input_fn:
type: str
argument path: run_jdata[fp_style=custom]/fp_params/input_fn

Input file name of the custom FP code.

output_fmt:
type: str
argument path: run_jdata[fp_style=custom]/fp_params/output_fmt

Output dpata format of the custom FP code. Such format should only need the first argument as the file name.

output_fn:
type: str
argument path: run_jdata[fp_style=custom]/fp_params/output_fn

Output file name of the custom FP code.