dpgen simplify 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.
- simplify_jdata:
- type:
dict
argument path:simplify_jdata
Parameters for simplify.json, the first argument of dpgen simplify.
- type_map:
- type:
list[str]
argument path:simplify_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:simplify_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:simplify_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
, optionalargument path:simplify_jdata/init_data_prefix
Prefix of initial data directories.
- init_data_sys:
- type:
list[str]
argument path:simplify_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:simplify_jdata/sys_format
Format of sys_configs.
- init_batch_size:
- type:
list[typing.Union[int, str]]
|str
, optionalargument path:simplify_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
, optionalargument path:simplify_jdata/sys_configs_prefix
Prefix of sys_configs.
- sys_configs:
- type:
list[list[str]]
argument path:simplify_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]]
, optionalargument path:simplify_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.
- labeled:
- type:
bool
, optional, default:False
argument path:simplify_jdata/labeled
If true, the initial data is labeled.
- pick_data:
- type:
str
|list[str]
argument path:simplify_jdata/pick_data
(List of) Path to the directory with the pick data with the deepmd/npy or the HDF5 file with deepmd/hdf5 format. Systems are detected recursively.
- init_pick_number:
- type:
int
argument path:simplify_jdata/init_pick_number
The number of initial pick data.
- iter_pick_number:
- type:
int
argument path:simplify_jdata/iter_pick_number
The number of pick data in each iteration.
- model_devi_f_trust_lo:
- type:
float
argument path:simplify_jdata/model_devi_f_trust_lo
The lower bound of forces for the selection for the model deviation.
- model_devi_f_trust_hi:
- type:
float
argument path:simplify_jdata/model_devi_f_trust_hi
The higher bound of forces for the selection for the model deviation.
- model_devi_e_trust_lo:
- type:
float
, optional, default:10000000000.0
argument path:simplify_jdata/model_devi_e_trust_lo
The lower bound of energy per atom for the selection for the model deviation. Requires DeePMD-kit version >=2.2.2.
- model_devi_e_trust_hi:
- type:
float
, optional, default:10000000000.0
argument path:simplify_jdata/model_devi_e_trust_hi
The higher bound of energy per atom for the selection for the model deviation. Requires DeePMD-kit version >=2.2.2.
- true_error_f_trust_lo:
- type:
float
, optional, default:10000000000.0
argument path:simplify_jdata/true_error_f_trust_lo
The lower bound of forces for the selection for the true error. Requires DeePMD-kit version >=2.2.4.
- true_error_f_trust_hi:
- type:
float
, optional, default:10000000000.0
argument path:simplify_jdata/true_error_f_trust_hi
The higher bound of forces for the selection for the true error. Requires DeePMD-kit version >=2.2.4.
- true_error_e_trust_lo:
- type:
float
, optional, default:10000000000.0
argument path:simplify_jdata/true_error_e_trust_lo
The lower bound of energy per atom for the selection for the true error. Requires DeePMD-kit version >=2.2.4.
- true_error_e_trust_hi:
- type:
float
, optional, default:10000000000.0
argument path:simplify_jdata/true_error_e_trust_hi
The higher bound of energy per atom for the selection for the true error. Requires DeePMD-kit version >=2.2.4.
- numb_models:
- type:
int
argument path:simplify_jdata/numb_models
Number of models to be trained in 00.train. 4 is recommend.
- training_iter0_model_path:
- type:
list[str]
, optionalargument path:simplify_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
, optionalargument path:simplify_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:simplify_jdata/default_training_param
Training parameters for deepmd-kit in 00.train. You can find instructions from here: (https://github.com/deepmodeling/deepmd-kit).
- dp_train_skip_neighbor_stat:
- type:
bool
, optional, default:False
argument path:simplify_jdata/dp_train_skip_neighbor_stat
Append –skip-neighbor-stat flag to dp train.
- dp_compress:
- type:
bool
, optional, default:False
argument path:simplify_jdata/dp_compress
Use dp compress to compress the model.
- training_reuse_iter:
- type:
int
|NoneType
, optionalargument path:simplify_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:simplify_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_batchargument path:simplify_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:simplify_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:simplify_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:simplify_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
, optionalargument path:simplify_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
, optionalargument path:simplify_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:simplify_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]
, optionalargument path:simplify_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]
, optionalargument path:simplify_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
, optionalargument path:simplify_jdata/fp_task_max
Maximum of structures to be calculated in 02.fp of each iteration.
- fp_task_min:
- type:
int
, optionalargument path:simplify_jdata/fp_task_min
Minimum of structures to be calculated in 02.fp of each iteration.
- fp_accurate_threshold:
- type:
float
, optionalargument path:simplify_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
, optionalargument path:simplify_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.
- ratio_failed:
- type:
float
, optionalargument path:simplify_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 fp_style, different sub args are accepted.
- fp_style:
When fp_style is set to
none
:No fp.
When fp_style is set to
vasp
:VASP.
- fp_pp_path:
- type:
str
argument path:simplify_jdata[vasp]/fp_pp_path
Directory of psuedo-potential file to be used for 02.fp exists.
- fp_pp_files:
- type:
list[str]
argument path:simplify_jdata[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:simplify_jdata[vasp]/fp_incar
Input file for VASP. INCAR must specify KSPACING and KGAMMA.
- fp_aniso_kspacing:
- type:
list[float]
, optionalargument path:simplify_jdata[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
, optionalargument path:simplify_jdata[vasp]/cvasp
If cvasp is true, DP-GEN will use Custodian to help control VASP calculation.
- fp_skip_bad_box:
- type:
str
, optionalargument path:simplify_jdata[vasp]/fp_skip_bad_box
Skip the configurations that are obviously unreasonable before 02.fp
When fp_style is set to
gaussian
:Gaussian. The command should be set as g16 < input.
- use_clusters:
- type:
bool
, optional, default:False
argument path:simplify_jdata[gaussian]/use_clusters
If set to true, clusters will be taken instead of the whole system.
- cluster_cutoff:
- type:
float
, optionalargument path:simplify_jdata[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
, optionalargument path:simplify_jdata[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:simplify_jdata[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:simplify_jdata[gaussian]/fp_params
Parameters for Gaussian calculation.
- keywords:
- type:
str
|list[str]
argument path:simplify_jdata[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:simplify_jdata[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:simplify_jdata[gaussian]/fp_params/nproc
The number of processors for Gaussian input.
- charge:
- type:
int
, optional, default:0
argument path:simplify_jdata[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:simplify_jdata[gaussian]/fp_params/fragment_guesses
Initial guess generated from fragment guesses. If True, multiplicity should be auto.
- basis_set:
- type:
str
, optionalargument path:simplify_jdata[gaussian]/fp_params/basis_set
Custom basis set.
- keywords_high_multiplicity:
- type:
str
, optionalargument path:simplify_jdata[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
, optionalargument path:simplify_jdata[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
, optionalargument path:simplify_jdata[siesta]/cluster_cutoff
The cutoff radius of clusters if use_clusters is set to true.
- fp_params:
- type:
dict
argument path:simplify_jdata[siesta]/fp_params
Parameters for siesta calculation.
- ecut:
- type:
int
argument path:simplify_jdata[siesta]/fp_params/ecut
Define the plane wave cutoff for grid.
- ediff:
- type:
float
argument path:simplify_jdata[siesta]/fp_params/ediff
Tolerance of Density Matrix.
- kspacing:
- type:
float
argument path:simplify_jdata[siesta]/fp_params/kspacing
Sample factor in Brillouin zones.
- mixingWeight:
- type:
float
argument path:simplify_jdata[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:simplify_jdata[siesta]/fp_params/NumberPulay
Controls the Pulay convergence accelerator.
- fp_pp_path:
- type:
str
argument path:simplify_jdata[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:simplify_jdata[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_paramsargument path:simplify_jdata[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
, optionalargument path:simplify_jdata[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:
One must present a KEYWORD ABC in the section CELL so that the DP-GEN can replace the cell on-the-fly.
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:simplify_jdata[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:simplify_jdata[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]
, optionalargument path:simplify_jdata[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
, optionalargument path:simplify_jdata[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
, optionalargument path:simplify_jdata[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
, optionalargument path:simplify_jdata[abacus]/fp_dpks_descriptor
DeePKS descriptor file name. The file should be in pseudopotential directory.
- user_fp_params:
- type:
dict
, optionalargument path:simplify_jdata[abacus]/user_fp_params
Set the key and value of INPUT.
- k_points:
- type:
list[int]
, optionalargument path:simplify_jdata[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
pwmat
:TODO: add doc
When fp_style is set to
pwscf
:TODO: add doc
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:simplify_jdata[custom]/fp_params
Parameters for FP calculation.
- input_fmt:
- type:
str
argument path:simplify_jdata[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:simplify_jdata[custom]/fp_params/input_fn
Input file name of the custom FP code.
- output_fmt:
- type:
str
argument path:simplify_jdata[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:simplify_jdata[custom]/fp_params/output_fn
Output file name of the custom FP code.