DP-GEN (Deep Generator) is a software written in Python, delicately designed to generate a deep learning based model of interatomic potential energy and force field. DP-GEN is dependent on DeepMD-kit, dpdispatcher and dpdata. With highly scalable interface with common softwares for molecular simulation, DP-GEN is capable to automatically prepare scripts and maintain job queues on HPC machines (High Performance Cluster) and analyze results.
If you use this software in any publication, please cite:
Yuzhi Zhang, Haidi Wang, Weijie Chen, Jinzhe Zeng, Linfeng Zhang, Han Wang, and Weinan E, DP-GEN: A concurrent learning platform for the generation of reliable deep learning based potential energy models, Computer Physics Communications, 2020, 107206.
Highlighted features
- Accurate and efficient: DP-GEN is capable to sample more than tens of million structures and select only a few for first principles calculation. DP-GEN will finally obtain a uniformly accurate model.
- User-friendly and automatic: Users may install and run DP-GEN easily. Once successfully running, DP-GEN can dispatch and handle all jobs on HPCs, and thus there's no need for any personal effort.
- Highly scalable: With modularized code structures, users and developers can easily extend DP-GEN for their most relevant needs. DP-GEN currently supports for HPC systems (Slurm, PBS, LSF and cloud machines ), Deep Potential interface with DeePMD-kit, MD interface with LAMMPS, Gromacs and ab-initio calculation interface with VASP, PWSCF, CP2K, SIESTA and Gaussian, Abacus, PWMAT, etc . We're sincerely welcome and embraced to users' contributions, with more possibilities and cases to use DP-GEN.
Code structure and interface
- dpgen:
- data: source codes for preparing initial data of bulk and surf systems.
- generator: source codes for main process of deep generator.
- auto_test : source code for undertaking materials property analysis.
- remote and dispatcher : source code for automatically submitting scripts, maintaining job queues and collecting results. Notice this part has been integrated into dpdispatcher.
- database : source code for collecting data generated by DP-GEN and interface with database.
- examples : providing example JSON files.
- tests : unittest tools for developers.
Command line interface
dpgen is a convenient script that uses DeepGenerator to prepare initial data, drive DeepMD-kit and analyze results. This script works based on several sub-commands with their own options. To see the options for the sub-commands, type “dpgen sub-command -h”.
usage: dpgen [-h]
{init_surf,init_bulk,auto_gen_param,init_reaction,run,run/report,collect,simplify,autotest,db}
...
Sub-commands:
init_bulk
: Generating initial data for bulk systems.
init_surf
: Generating initial data for surface systems.
init_reaction
: Generating initial data for reactive systems.
run
: Main process of Deep Generator.