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:
dictargument path:run_jdataparam.json file
- type_map:#
- type:
list[str]argument path:run_jdata/type_mapAtom 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:autoargument path:run_jdata/mass_mapStandard 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:0argument path:run_jdata/use_ele_tempCurrently 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:run_jdata/init_data_prefixPrefix of initial data directories.
- init_data_sys:#
- type:
list[str]argument path:run_jdata/init_data_sysPaths 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/poscarargument path:run_jdata/sys_formatFormat of sys_configs.
- init_batch_size:#
- type:
str|list[typing.Union[int, str]], optionalargument path:run_jdata/init_batch_sizeEach 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:run_jdata/sys_configs_prefixPrefix of sys_configs.
- sys_configs:#
- type:
list[list[str]]argument path:run_jdata/sys_configs2D 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:run_jdata/sys_batch_sizeEach 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:
intargument path:run_jdata/numb_modelsNumber of models to be trained in 00.train. 4 is recommend.
- fp_task_max:#
- type:
intargument path:run_jdata/fp_task_maxMaximum 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:
intargument path:run_jdata/fp_task_minSkip the training in the next iteration if the number of structures is no more than fp_task_min.
- fp_accurate_threshold:#
- type:
float, optionalargument path:run_jdata/fp_accurate_thresholdIf 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:run_jdata/fp_accurate_soft_thresholdIf the accurate ratio is between this number and fp_accurate_threshold, the fp_task_max linearly decays to zero.
- fp_cluster_vacuum:#
- type:
float, optionalargument path:run_jdata/fp_cluster_vacuumIf the vacuum size is smaller than this value, this cluster will not be chosen for labeling.
- detailed_report_make_fp:#
- type:
bool, optional, default:Trueargument path:run_jdata/detailed_report_make_fpIf set to true, a detailed report will be generated for each iteration.
- ratio_failed:#
- type:
float, optionalargument path:run_jdata/ratio_failedCheck the ratio of unsuccessfully terminated jobs. If too many FP tasks are not converged, RuntimeError will be raised.
Depending on the value of mlp_engine, different sub args are accepted.
- mlp_engine:#
When mlp_engine is set to
dp:DeePMD-kit.
- train_backend:#
- type:
str, optional, default:tensorflowargument path:run_jdata[mlp_engine=dp]/train_backendThe backend of the training. Currently only support tensorflow and pytorch.
- training_iter0_model_path:#
- type:
list[str], optionalargument path:run_jdata[mlp_engine=dp]/training_iter0_model_pathThe model used to init the first iter training. Number of element should be equal to numb_models.
- training_init_model:#
- type:
bool, optionalargument path:run_jdata[mlp_engine=dp]/training_init_modelIteration > 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:
dictargument path:run_jdata[mlp_engine=dp]/default_training_paramTraining parameters for deepmd-kit in 00.train. You can find instructions from DeePMD-kit documentation.
- dp_train_skip_neighbor_stat:#
- type:
bool, optional, default:Falseargument path:run_jdata[mlp_engine=dp]/dp_train_skip_neighbor_statAppend –skip-neighbor-stat flag to dp train.
- dp_compress:#
- type:
bool, optional, default:Falseargument path:run_jdata[mlp_engine=dp]/dp_compressUse dp compress to compress the model.
- training_reuse_iter:#
- type:
int|NoneType, optionalargument path:run_jdata[mlp_engine=dp]/training_reuse_iterThe minimal index of iteration that continues training models from old models of last iteration.
- training_reuse_old_ratio:#
- type:
str|float, optional, default:autoargument path:run_jdata[mlp_engine=dp]/training_reuse_old_ratioThe 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:run_jdata[mlp_engine=dp]/training_reuse_numb_stepsNumber 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:Noneargument path:run_jdata[mlp_engine=dp]/training_reuse_start_lrThe 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:Noneargument path:run_jdata[mlp_engine=dp]/training_reuse_start_pref_eThe 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:Noneargument path:run_jdata[mlp_engine=dp]/training_reuse_start_pref_fThe 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:run_jdata[mlp_engine=dp]/model_devi_activation_funcThe 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:run_jdata[mlp_engine=dp]/srtab_file_pathThe path of the table for the short-range pairwise interaction which is needed when using DP-ZBL potential
- one_h5:#
- type:
bool, optional, default:Falseargument path:run_jdata[mlp_engine=dp]/one_h5When using DeePMD-kit, all of the input data will be merged into one HDF5 file.
- training_init_frozen_model:#
- type:
list[str], optionalargument path:run_jdata[mlp_engine=dp]/training_init_frozen_modelAt 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:run_jdata[mlp_engine=dp]/training_finetune_modelAt interation 0, finetune the model parameters from the given frozen models. Number of element should be equal to numb_models.
Depending on the value of model_devi_engine, different sub args are accepted.
- model_devi_engine:#
- type:
str(flag key), default:lammpsargument path:run_jdata/model_devi_engineEngine for the model deviation task.
When model_devi_engine is set to
lammps:LAMMPS
- model_devi_jobs:#
- type:
listargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobsSettings 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, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/templateGive 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, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/template/lmpThe path to input.lammps template. Instructions can be found in LAMMPS documentation.
- plm:#
- type:
str, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/template/plmThe path to input.plumed template. Instructions can be found in PLUMED documentation.
- rev_mat:#
- type:
dict, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/rev_matrevise 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, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/rev_mat/lmprevise matrix for revising variable(s) defined in the lammps template into the specific values (iteration-resolved).
- plm:#
- type:
dict, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/rev_mat/plmrevise matrix for revising variable(s) defined in the plumed template into specific values(iteration-resolved)
- sys_rev_mat:#
- type:
dict, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/sys_rev_matsystem-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_idxSystems to be selected as the initial structure of MD and be explored. The index corresponds exactly to the sys_configs.
- temps:#
- type:
list[float], optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/tempsTemperature (K) in MD.
- press:#
- type:
list[float], optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/pressPressure (Bar) in MD. Required when ensemble is npt.
- trj_freq:#
- type:
intargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/trj_freqFrequecy of trajectory saved in MD.
- nsteps:#
- type:
int, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/nstepsRunning steps of MD. It is not optional when not using a template.
- nbeads:#
- type:
int, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/nbeadsNumber of beads in PIMD. If not given, classical MD will be performed. Only supported for LAMMPS version >= 20230615.
- ensemble:#
- type:
str, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/ensembleDetermining which ensemble used in MD, options include “npt” and “nvt”. It is not optional when not using a template.
- neidelay:#
- type:
int, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/neidelaydelay building until this many steps since last build.
- taut:#
- type:
float, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/tautCoupling time of thermostat (ps).
- taup:#
- type:
float, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/taupCoupling time of barostat (ps).
- model_devi_f_trust_lo:#
- type:
dict|float, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/model_devi_f_trust_loLower 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, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/model_devi_f_trust_hiUpper 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, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/model_devi_v_trust_loLower 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 or above.
- model_devi_v_trust_hi:#
- type:
dict|float, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_jobs/model_devi_v_trust_hiUpper 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 or above.
- model_devi_dt:#
- type:
floatargument path:run_jdata[model_devi_engine=lammps]/model_devi_dtTimestep for MD. 0.002 is recommend.
- model_devi_skip:#
- type:
intargument path:run_jdata[model_devi_engine=lammps]/model_devi_skipNumber of structures skipped for fp in each MD.
- model_devi_f_trust_lo:#
- type:
dict|list[float]|floatargument path:run_jdata[model_devi_engine=lammps]/model_devi_f_trust_loLower 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]|floatargument path:run_jdata[model_devi_engine=lammps]/model_devi_f_trust_hiUpper 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.0argument path:run_jdata[model_devi_engine=lammps]/model_devi_v_trust_loLower 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 or above.
- model_devi_v_trust_hi:#
- type:
dict|list[float]|float, optional, default:10000000000.0argument path:run_jdata[model_devi_engine=lammps]/model_devi_v_trust_hiUpper 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 or above.
- model_devi_adapt_trust_lo:#
- type:
bool, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_adapt_trust_loAdaptively 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:
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.
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, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_numb_candi_fSee model_devi_adapt_trust_lo.
- model_devi_numb_candi_v:#
- type:
int, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_numb_candi_vSee model_devi_adapt_trust_lo.
- model_devi_perc_candi_f:#
- type:
float, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_perc_candi_fSee model_devi_adapt_trust_lo.
- model_devi_perc_candi_v:#
- type:
float, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_perc_candi_vSee model_devi_adapt_trust_lo.
- model_devi_f_avg_relative:#
- type:
bool, optionalargument path:run_jdata[model_devi_engine=lammps]/model_devi_f_avg_relativeNormalized 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:Trueargument path:run_jdata[model_devi_engine=lammps]/model_devi_clean_trajIf 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:Falseargument path:run_jdata[model_devi_engine=lammps]/model_devi_merge_trajIf 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:Falseargument path:run_jdata[model_devi_engine=lammps]/model_devi_nopbcAssume open boundary condition in MD simulations.
- model_devi_plumed:#
- type:
bool, optional, default:Falseargument path:run_jdata[model_devi_engine=lammps]/model_devi_plumed
- model_devi_plumed_path:#
- type:
bool, optional, default:Falseargument path:run_jdata[model_devi_engine=lammps]/model_devi_plumed_path
- shuffle_poscar:#
- type:
bool, optional, default:Falseargument path:run_jdata[model_devi_engine=lammps]/shuffle_poscarShuffle atoms of each frame before running simulations. The purpose is to sample the element occupation of alloys.
- use_relative:#
- type:
bool, optional, default:Falseargument path:run_jdata[model_devi_engine=lammps]/use_relativeCalculate relative force model deviation.
- epsilon:#
- type:
float, optionalargument path:run_jdata[model_devi_engine=lammps]/epsilonThe level parameter for computing the relative force model deviation.
- use_relative_v:#
- type:
bool, optional, default:Falseargument path:run_jdata[model_devi_engine=lammps]/use_relative_vCalculate relative virial model deviation.
- epsilon_v:#
- type:
float, optionalargument path:run_jdata[model_devi_engine=lammps]/epsilon_vThe level parameter for computing the relative virial model deviation.
- lmp_d3:#
- type:
dict, optionalargument path:run_jdata[model_devi_engine=lammps]/lmp_d3D3 dispersion configuration for LAMMPS. When present, all sub-parameters are required.
- enable:#
- type:
boolargument path:run_jdata[model_devi_engine=lammps]/lmp_d3/enableEnable D3 dispersion correction. If false, D3 will be disabled even if other parameters are present.
- damping_function:#
- type:
strargument path:run_jdata[model_devi_engine=lammps]/lmp_d3/damping_functionDamping function for D3 dispersion. Options include ‘original’, ‘zerom’, ‘bj’, ‘bjm’.
- functional:#
- type:
strargument path:run_jdata[model_devi_engine=lammps]/lmp_d3/functionalExchange-correlation functional for D3 dispersion. The functional should match that used to train MLPs.
- cutoff:#
- type:
floatargument path:run_jdata[model_devi_engine=lammps]/lmp_d3/cutoffCutoff radius for D3 dispersion (in Angstrom).
- cn_cutoff:#
- type:
floatargument path:run_jdata[model_devi_engine=lammps]/lmp_d3/cn_cutoffCoordination number cutoff for D3 dispersion (in Angstrom).
- lmp_neigh_modify_one:#
- type:
int, optionalargument path:run_jdata[model_devi_engine=lammps]/lmp_neigh_modify_oneMaximum number of neighbors of one atom for ‘neigh_modify one N’ command. Helps with D3 compatibility.
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:
listargument path:run_jdata[model_devi_engine=amber]/model_devi_jobsList 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_idxList of ints. List of systems to run.
- trj_freq:#
- type:
intargument path:run_jdata[model_devi_engine=amber]/model_devi_jobs/trj_freqFrequency to dump trajectory.
- restart_from_iter:#
- type:
int, optionalargument path:run_jdata[model_devi_engine=amber]/model_devi_jobs/restart_from_iterThe iteration index to restart the simulation from. If not given, the simulation is restarted from sys_configs.
- low_level:#
- type:
strargument path:run_jdata[model_devi_engine=amber]/low_levelLow level method. The value will be filled into mdin file as @qm_theory@.
- cutoff:#
- type:
floatargument path:run_jdata[model_devi_engine=amber]/cutoffCutoff radius for the DPRc model.
- parm7_prefix:#
- type:
str, optionalargument path:run_jdata[model_devi_engine=amber]/parm7_prefixThe path prefix to AMBER PARM7 files.
- parm7:#
- type:
list[str]argument path:run_jdata[model_devi_engine=amber]/parm7List of paths to AMBER PARM7 files. Each file maps to a system.
- mdin_prefix:#
- type:
str, optionalargument path:run_jdata[model_devi_engine=amber]/mdin_prefixThe path prefix to AMBER mdin template files.
- mdin:#
- type:
list[str]argument path:run_jdata[model_devi_engine=amber]/mdinList 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_regionList 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_chargeList 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]/nstepsList 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]/r2D 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, optionalargument path:run_jdata[model_devi_engine=amber]/disang_prefixThe path prefix to disang prefix.
- disang:#
- type:
list[str]argument path:run_jdata[model_devi_engine=amber]/disangList 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]|floatargument path:run_jdata[model_devi_engine=amber]/model_devi_f_trust_loLower 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]|floatargument path:run_jdata[model_devi_engine=amber]/model_devi_f_trust_hiUpper 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_styleSoftware for First Principles.
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.pwmat: TODO: add doccustom: 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.
When fp_style is set to
vasp:- fp_pp_path:#
- type:
strargument path:run_jdata[fp_style=vasp]/fp_pp_pathDirectory 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_filesPsuedo-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:
strargument path:run_jdata[fp_style=vasp]/fp_incarInput file for VASP. INCAR must specify KSPACING and KGAMMA.
- fp_aniso_kspacing:#
- type:
list[float], optionalargument path:run_jdata[fp_style=vasp]/fp_aniso_kspacingSet 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:run_jdata[fp_style=vasp]/cvaspIf cvasp is true, DP-GEN will use Custodian to help control VASP calculation.
- fp_skip_bad_box:#
- type:
str, optionalargument path:run_jdata[fp_style=vasp]/fp_skip_bad_boxSkip configurations with unreasonable simulation box geometries before first-principles calculations. This parameter accepts a semicolon-separated string of colon-separated key-value pairs defining geometric criteria. Example: ‘length_ratio:3;height_ratio:3;wrap_ratio:0.5;tilt_ratio:0.5’. Available criteria: (1) ‘length_ratio’: maximum ratio of cell edge lengths (max/min); (2) ‘height_ratio’: ratio of maximum cell edge length to minimum face-to-face distance; (3) ‘wrap_ratio’: maximum absolute ratio of off-diagonal to diagonal cell matrix elements, controlling triclinic wrapping; (4) ‘tilt_ratio’: maximum absolute tilt ratio for triclinic cells. Configurations exceeding any specified threshold are skipped.
When fp_style is set to
gaussian:- use_clusters:#
- type:
bool, optional, default:Falseargument path:run_jdata[fp_style=gaussian]/use_clustersIf set to true, clusters will be taken instead of the whole system.
- cluster_cutoff:#
- type:
float, optionalargument path:run_jdata[fp_style=gaussian]/cluster_cutoffThe 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:run_jdata[fp_style=gaussian]/cluster_cutoff_hardThe 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:Falseargument path:run_jdata[fp_style=gaussian]/cluster_minifyIf 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:
dictargument path:run_jdata[fp_style=gaussian]/fp_paramsParameters for Gaussian calculation.
- keywords:#
- type:
str|list[str]argument path:run_jdata[fp_style=gaussian]/fp_params/keywordsKeywords for Gaussian input, e.g. force b3lyp/6-31g**. If a list, run multiple steps.
- multiplicity:#
- type:
str|int, optional, default:autoargument path:run_jdata[fp_style=gaussian]/fp_params/multiplicitySpin 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:
intargument path:run_jdata[fp_style=gaussian]/fp_params/nprocThe number of processors for Gaussian input.
- charge:#
- type:
int, optional, default:0argument path:run_jdata[fp_style=gaussian]/fp_params/chargeMolecule charge. Only used when charge is not provided by the system.
- fragment_guesses:#
- type:
bool, optional, default:Falseargument path:run_jdata[fp_style=gaussian]/fp_params/fragment_guessesInitial guess generated from fragment guesses. If True, multiplicity should be auto.
- basis_set:#
- type:
str, optionalargument path:run_jdata[fp_style=gaussian]/fp_params/basis_setCustom basis set.
- keywords_high_multiplicity:#
- type:
str|list[str], optionalargument path:run_jdata[fp_style=gaussian]/fp_params/keywords_high_multiplicityKeywords 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:run_jdata[fp_style=siesta]/use_clustersIf 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:run_jdata[fp_style=siesta]/cluster_cutoffThe cutoff radius of clusters if use_clusters is set to true.
- fp_params:#
- type:
dictargument path:run_jdata[fp_style=siesta]/fp_paramsParameters for siesta calculation.
- ecut:#
- type:
intargument path:run_jdata[fp_style=siesta]/fp_params/ecutDefine the plane wave cutoff for grid.
- ediff:#
- type:
floatargument path:run_jdata[fp_style=siesta]/fp_params/ediffTolerance of Density Matrix.
- kspacing:#
- type:
floatargument path:run_jdata[fp_style=siesta]/fp_params/kspacingSample factor in Brillouin zones.
- mixingWeight:#
- type:
floatargument path:run_jdata[fp_style=siesta]/fp_params/mixingWeightProportion a of output Density Matrix to be used for the input Density Matrix of next SCF cycle (linear mixing).
- NumberPulay:#
- type:
intargument path:run_jdata[fp_style=siesta]/fp_params/NumberPulayControls the Pulay convergence accelerator.
- fp_pp_path:#
- type:
strargument path:run_jdata[fp_style=siesta]/fp_pp_pathDirectory 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_filesPsuedo-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:run_jdata[fp_style=cp2k]/user_fp_paramsParameters 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:run_jdata[fp_style=cp2k]/external_input_pathConflict 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:
strargument path:run_jdata[fp_style=abacus]/fp_pp_pathDirectory 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_filesPsuedo-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:run_jdata[fp_style=abacus]/fp_orb_filesnumerical 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:run_jdata[fp_style=abacus]/fp_incarInput 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:run_jdata[fp_style=abacus]/fp_kpt_fileKPT 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:run_jdata[fp_style=abacus]/fp_dpks_descriptorDeePKS descriptor file name. The file should be in pseudopotential directory.
- user_fp_params:#
- type:
dict, optionalargument path:run_jdata[fp_style=abacus]/user_fp_paramsSet the key and value of INPUT.
- k_points:#
- type:
list[int], optionalargument path:run_jdata[fp_style=abacus]/k_pointsMonkhorst-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:
strargument path:run_jdata[fp_style=amber/diff]/high_levelHigh level method. The value will be filled into mdin template as @qm_theory@.
- fp_params:#
- type:
dictargument path:run_jdata[fp_style=amber/diff]/fp_paramsParameters for FP calculation.
- high_level_mdin:#
- type:
strargument path:run_jdata[fp_style=amber/diff]/fp_params/high_level_mdinPath to high-level AMBER mdin template file. %qm_theory%, %qm_region%, and %qm_charge% will be replaced.
- low_level_mdin:#
- type:
strargument path:run_jdata[fp_style=amber/diff]/fp_params/low_level_mdinPath 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:
strargument path:run_jdata[fp_style=pwscf]/fp_pp_pathDirectory 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_filesPsuedo-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, optionalargument path:run_jdata[fp_style=pwscf]/fp_paramsParameters for pwscf calculation. It has lower priority than user_fp_params.
- ecut:#
- type:
floatargument path:run_jdata[fp_style=pwscf]/fp_params/ecutecutwfc in pwscf.
- ediff:#
- type:
floatargument path:run_jdata[fp_style=pwscf]/fp_params/ediffconv_thr and ts_vdw_econv_thr in pwscf.
- smearing:#
- type:
strargument path:run_jdata[fp_style=pwscf]/fp_params/smearingsmearing in pwscf.
- sigma:#
- type:
floatargument path:run_jdata[fp_style=pwscf]/fp_params/sigmadegauss in pwscf.
- kspacing:#
- type:
floatargument path:run_jdata[fp_style=pwscf]/fp_params/kspacingThe spacing between kpoints. Helps to determin KPOINTS in pwscf.
- user_fp_params:#
- type:
dict, optionalargument path:run_jdata[fp_style=pwscf]/user_fp_paramsParameters 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
cpx:- fp_params:#
- type:
dictargument path:run_jdata[fp_style=cpx]/fp_paramsParameters for FP calculation.
- input_fn:#
- type:
strargument path:run_jdata[fp_style=cpx]/fp_params/input_fnInput file name for cp.x without file extension (.in). Essentially must be the same as the prefix in the template.
- template_fn:#
- type:
strargument path:run_jdata[fp_style=cpx]/fp_params/template_fnTemplate file name. Is used for completing the input file. Should contain all necessary FP configurations besides ATOMIC_POSITIONS and CELL_PARAMETERS
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:
dictargument path:run_jdata[fp_style=custom]/fp_paramsParameters for FP calculation.
- input_fmt:#
- type:
strargument path:run_jdata[fp_style=custom]/fp_params/input_fmtInput dpdata format of the custom FP code. Such format should only need the first argument as the file name.
- input_fn:#
- type:
strargument path:run_jdata[fp_style=custom]/fp_params/input_fnInput file name of the custom FP code.
- output_fmt:#
- type:
strargument path:run_jdata[fp_style=custom]/fp_params/output_fmtOutput dpata format of the custom FP code. Such format should only need the first argument as the file name.
- output_fn:#
- type:
strargument path:run_jdata[fp_style=custom]/fp_params/output_fnOutput file name of the custom FP code.