DeePMD-kit’s documentation
DeePMD-kit is a package written in Python/C++, designed to minimize the effort required to build deep learning-based models of interatomic potential energy and force field and to perform molecular dynamics (MD). This brings new hopes to addressing the accuracy-versus-efficiency dilemma in molecular simulations. Applications of DeePMD-kit span from finite molecules to extended systems and from metallic systems to chemically bonded systems.
Important
The project DeePMD-kit is licensed under GNU LGPLv3.0. If you use this code in any future publications, please cite this using Han Wang, Linfeng Zhang, Jiequn Han, and Weinan E. “DeePMD-kit: A deep learning package for many-body potential energy representation and molecular dynamics.” Computer Physics Communications 228 (2018): 178-184.
- 1. Installation
- 2. Data
- 3. Model
- 3.1. Overall
- 3.2. Descriptor
"se_e2_a"
- 3.3. Descriptor
"se_e2_r"
- 3.4. Descriptor
"se_e3"
- 3.5. Descriptor
"se_atten"
- 3.6. Descriptor
"hybrid"
- 3.7. Determine
sel
- 3.8. Fit energy
- 3.9. Fit
tensor
likeDipole
andPolarizability
- 3.10. Type embedding approach
- 3.11. Deep potential long-range (DPLR)
- 3.12. Deep Potential - Range Correction (DPRc)
- 4. Training
- 5. Freeze and Compress
- 6. Test
- 7. Inference
- 8. Command line interface
- 9. Integrate with third-party packages
- 10. Use NVNMD
- 11. FAQs
- 11.1. How to tune Fitting/embedding-net size ?
- 11.2. How to control the parallelism of a job?
- 11.3. Do we need to set rcut < half boxsize?
- 11.4. How to set sel?
- 11.5. Installation
- 11.6. The temperature undulates violently during the early stages of MD
- 11.7. MD: cannot run LAMMPS after installing a new version of DeePMD-kit
- 11.8. Model compatibility
- 11.9. Why does a model have low precision?
- Find DeePMD-kit C/C++ library from CMake
- Coding Conventions
- Create a model
- Atom Type Embedding
- Python API
- deepmd package
- Subpackages
- deepmd.cluster package
- deepmd.descriptor package
- Submodules
- deepmd.descriptor.descriptor module
- deepmd.descriptor.hybrid module
- deepmd.descriptor.loc_frame module
- deepmd.descriptor.se module
- deepmd.descriptor.se_a module
- deepmd.descriptor.se_a_ebd module
- deepmd.descriptor.se_a_ef module
- deepmd.descriptor.se_atten module
- deepmd.descriptor.se_r module
- deepmd.descriptor.se_t module
- deepmd.entrypoints package
- Submodules
- deepmd.entrypoints.compress module
- deepmd.entrypoints.config module
- deepmd.entrypoints.convert module
- deepmd.entrypoints.doc module
- deepmd.entrypoints.freeze module
- deepmd.entrypoints.main module
- deepmd.entrypoints.neighbor_stat module
- deepmd.entrypoints.test module
- deepmd.entrypoints.train module
- deepmd.entrypoints.transfer module
- deepmd.fit package
- deepmd.infer package
- deepmd.loggers package
- deepmd.loss package
- deepmd.model package
- deepmd.nvnmd package
- deepmd.op package
- deepmd.train package
- deepmd.utils package
- Submodules
- deepmd.utils.argcheck module
- deepmd.utils.batch_size module
- deepmd.utils.compat module
- deepmd.utils.convert module
- deepmd.utils.data module
- deepmd.utils.data_system module
- deepmd.utils.errors module
- deepmd.utils.finetune module
- deepmd.utils.graph module
- deepmd.utils.learning_rate module
- deepmd.utils.neighbor_stat module
- deepmd.utils.network module
- deepmd.utils.pair_tab module
- deepmd.utils.parallel_op module
- deepmd.utils.path module
- deepmd.utils.plugin module
- deepmd.utils.random module
- deepmd.utils.sess module
- deepmd.utils.tabulate module
- deepmd.utils.type_embed module
- deepmd.utils.weight_avg module
- Submodules
- deepmd.calculator module
- deepmd.common module
- deepmd.env module
- deepmd.lmp module
- Subpackages
- deepmd package
- OP API
- C++ API
- Class Hierarchy
- File Hierarchy
- Full API
- Namespaces
- Classes and Structs
- Functions
- Function deepmd::check_status
- Function deepmd::convert_pbtxt_to_pb
- Function deepmd::get_env_nthreads
- Function deepmd::load_op_library
- Function deepmd::model_compatable
- Function deepmd::name_prefix
- Function deepmd::read_file_to_string
- Template Function deepmd::select_by_type
- Template Function deepmd::select_map(std::vector<VT>&, const std::vector<VT>&, const std::vector<int>&, const int&)
- Template Function deepmd::select_map(typename std::vector<VT>::iterator, const typename std::vector<VT>::const_iterator, const std::vector<int>&, const int&)
- Template Function deepmd::select_map_inv(std::vector<VT>&, const std::vector<VT>&, const std::vector<int>&, const int&)
- Template Function deepmd::select_map_inv(typename std::vector<VT>::iterator, const typename std::vector<VT>::const_iterator, const std::vector<int>&, const int&)
- Template Function deepmd::select_real_atoms
- Function deepmd::session_get_dtype
- Template Function deepmd::session_get_scalar
- Template Function deepmd::session_get_vector
- Template Function deepmd::session_input_tensors(std::vector<std::pair<std::string, tensorflow::Tensor>>&, const std::vector<VALUETYPE>&, const int&, const std::vector<int>&, const std::vector<VALUETYPE>&, const double&, const std::vector<VALUETYPE>&, const std::vector<VALUETYPE>&, const deepmd::AtomMap&, const std::string)
- Template Function deepmd::session_input_tensors(std::vector<std::pair<std::string, tensorflow::Tensor>>&, const std::vector<VALUETYPE>&, const int&, const std::vector<int>&, const std::vector<VALUETYPE>&, InputNlist&, const std::vector<VALUETYPE>&, const std::vector<VALUETYPE>&, const deepmd::AtomMap&, const int, const int, const std::string)
- Typedefs
- C API
- Class Hierarchy
- File Hierarchy
- Full API
- Namespaces
- Classes and Structs
- Functions
- Template Function _DP_DeepPotCompute
- Specialized Template Function _DP_DeepPotCompute< double >
- Specialized Template Function _DP_DeepPotCompute< float >
- Template Function _DP_DeepPotComputeNList
- Specialized Template Function _DP_DeepPotComputeNList< double >
- Specialized Template Function _DP_DeepPotComputeNList< float >
- Template Function _DP_DeepPotModelDeviComputeNList
- Specialized Template Function _DP_DeepPotModelDeviComputeNList< double >
- Specialized Template Function _DP_DeepPotModelDeviComputeNList< float >
- Template Function _DP_DeepTensorCompute
- Specialized Template Function _DP_DeepTensorCompute< double >
- Specialized Template Function _DP_DeepTensorCompute< float >
- Template Function _DP_DeepTensorComputeNList
- Specialized Template Function _DP_DeepTensorComputeNList< double >
- Specialized Template Function _DP_DeepTensorComputeNList< float >
- Template Function _DP_DeepTensorComputeTensor
- Specialized Template Function _DP_DeepTensorComputeTensor< double >
- Specialized Template Function _DP_DeepTensorComputeTensor< float >
- Template Function _DP_DeepTensorComputeTensorNList
- Specialized Template Function _DP_DeepTensorComputeTensorNList< double >
- Specialized Template Function _DP_DeepTensorComputeTensorNList< float >
- Function deepmd::hpp::convert_nlist
- Function deepmd::hpp::convert_pbtxt_to_pb
- Function DP_ConvertPbtxtToPb
- Function DP_DeepPotCompute
- Function DP_DeepPotComputef
- Function DP_DeepPotComputeNList
- Function DP_DeepPotComputeNListf
- Function DP_DeepPotGetCutoff
- Function DP_DeepPotGetNumbTypes
- Function DP_DeepPotGetTypeMap
- Function DP_DeepPotModelDeviComputeNList
- Function DP_DeepPotModelDeviComputeNListf
- Function DP_DeepPotModelDeviGetCutoff
- Function DP_DeepPotModelDeviGetNumbTypes
- Function DP_DeepTensorCompute
- Function DP_DeepTensorComputef
- Function DP_DeepTensorComputeNList
- Function DP_DeepTensorComputeNListf
- Function DP_DeepTensorComputeTensor
- Function DP_DeepTensorComputeTensorf
- Function DP_DeepTensorComputeTensorNList
- Function DP_DeepTensorComputeTensorNListf
- Function DP_DeepTensorGetCutoff
- Function DP_DeepTensorGetNumbSelTypes
- Function DP_DeepTensorGetNumbTypes
- Function DP_DeepTensorGetOutputDim
- Function DP_DeepTensorGetSelTypes
- Function DP_NewDeepPot
- Function DP_NewDeepPotModelDevi
- Function DP_NewDeepTensor
- Function DP_NewNlist
- Typedefs
- Core API
- Class Hierarchy
- File Hierarchy
- Full API
- Namespaces
- Classes and Structs
- Struct deepmd_exception
- Struct deepmd_exception_oom
- Template Struct EwaldParameters
- Struct InputNlist
- Template Struct Region
- Template Struct DescrptSeRGPUExecuteFunctor
- Template Struct GeluGPUExecuteFunctor
- Template Struct GeluGradGPUExecuteFunctor
- Template Struct GeluGradGradGPUExecuteFunctor
- Template Struct ProdForceSeAGPUExecuteFunctor
- Template Struct ProdForceSeRGPUExecuteFunctor
- Template Struct ProdVirialSeAGPUExecuteFunctor
- Template Struct ProdVirialSeRGPUExecuteFunctor
- Template Struct TabulateCheckerGPUExecuteFunctor
- Template Struct TabulateFusionGPUExecuteFunctor
- Template Struct TabulateFusionGradGPUExecuteFunctor
- Template Class SimulationRegion
- Functions
- Function build_nlist(std::vector<std::vector<int>>&, std::vector<std::vector<int>>&, const std::vector<double>&, const int&, const double&, const double&, const std::vector<int>&, const std::vector<int>&, const std::vector<int>&, const std::vector<int>&, const SimulationRegion<double>&, const std::vector<int>&)
- Function build_nlist(std::vector<std::vector<int>>&, std::vector<std::vector<int>>&, const std::vector<double>&, const double&, const double&, const std::vector<int>&, const SimulationRegion<double>&)
- Function build_nlist(std::vector<std::vector<int>>&, std::vector<std::vector<int>>&, const std::vector<double>&, const std::vector<int>&, const std::vector<int>&, const double&, const double&, const std::vector<int>&, const SimulationRegion<double>&)
- Function build_nlist(std::vector<std::vector<int>>&, std::vector<std::vector<int>>&, const std::vector<double>&, const double&, const double&, const SimulationRegion<double> *)
- Function compute_descriptor(std::vector<double>&, std::vector<double>&, std::vector<double>&, const std::vector<double>&, const int&, const std::vector<int>&, const SimulationRegion<double>&, const bool&, const int&, const std::vector<int>&, const std::vector<int>&, const std::vector<int>&, const std::vector<int>&, const int, const int, const int, const int)
- Function compute_descriptor(std::vector<double>&, std::vector<double>&, std::vector<double>&, std::vector<double>&, std::vector<double>&, std::vector<double>&, std::vector<double>&, const std::vector<double>&, const int&, const std::vector<int>&, const SimulationRegion<double>&, const bool&, const int&, const std::vector<int>&, const std::vector<int>&, const std::vector<int>&, const std::vector<int>&, const int, const int, const int, const int)
- Function compute_descriptor_se_a_ef_para
- Function compute_descriptor_se_a_ef_vert
- Function compute_descriptor_se_a_extf
- Function compute_dRdT
- Function compute_dRdT_1
- Function compute_dRdT_2
- Function copy_coord
- Template Function deepmd::build_nlist_cpu
- Template Function deepmd::build_nlist_gpu
- Template Function deepmd::compute_cell_info
- Function deepmd::convert_nlist
- Function deepmd::convert_nlist_gpu_device
- Template Function deepmd::convert_to_inter_cpu
- Template Function deepmd::convert_to_inter_gpu
- Template Function deepmd::convert_to_phys_cpu
- Template Function deepmd::convert_to_phys_gpu
- Template Function deepmd::copy_coord_cpu
- Template Function deepmd::copy_coord_gpu
- Function deepmd::cos_switch(const double&, const double&, const double&)
- Function deepmd::cos_switch(double&, double&, const double&, const double&, const double&)
- Template Function deepmd::cprod
- Function deepmd::cum_sum
- Template Function deepmd::delete_device_memory
- Template Function deepmd::dot1
- Template Function deepmd::dot2
- Template Function deepmd::dot3
- Template Function deepmd::dot4
- Template Function deepmd::dotmv3
- Function deepmd::DPGetDeviceCount
- Function deepmd::DPSetDevice
- Template Function deepmd::env_mat_a_cpu
- Template Function deepmd::env_mat_a_nvnmd_quantize_cpu
- Function deepmd::env_mat_nbor_update
- Template Function deepmd::env_mat_r_cpu
- Template Function deepmd::ewald_recp
- Template Function deepmd::format_nbor_list_gpu_cuda
- Template Function deepmd::format_nlist_cpu
- Function deepmd::free_nlist_gpu_device
- Template Function deepmd::gelu_cpu
- Template Function deepmd::gelu_gpu_cuda
- Template Function deepmd::gelu_grad_cpu
- Template Function deepmd::gelu_grad_gpu_cuda
- Template Function deepmd::gelu_grad_grad_cpu
- Template Function deepmd::gelu_grad_grad_gpu_cuda
- Template Function deepmd::init_region_cpu
- Template Function deepmd::invsqrt
- Specialized Template Function deepmd::invsqrt< double >
- Specialized Template Function deepmd::invsqrt< float >
- Template Function deepmd::malloc_device_memory(FPTYPE *&, const std::vector<FPTYPE>&)
- Template Function deepmd::malloc_device_memory(FPTYPE *&, const int)
- Template Function deepmd::malloc_device_memory(FPTYPE *&, std::vector<FPTYPE>&)
- Template Function deepmd::malloc_device_memory_sync(FPTYPE *&, const std::vector<FPTYPE>&)
- Template Function deepmd::malloc_device_memory_sync(FPTYPE *&, const FPTYPE *, const int)
- Template Function deepmd::malloc_device_memory_sync(FPTYPE *&, std::vector<FPTYPE>&)
- Template Function deepmd::map_aparam_cpu
- Function deepmd::max_numneigh
- Template Function deepmd::memcpy_device_to_host(const FPTYPE *, std::vector<FPTYPE>&)
- Template Function deepmd::memcpy_device_to_host(const FPTYPE *, FPTYPE *, const int)
- Template Function deepmd::memcpy_device_to_host(FPTYPE *, std::vector<FPTYPE>&)
- Template Function deepmd::memcpy_host_to_device(FPTYPE *, const std::vector<FPTYPE>&)
- Template Function deepmd::memcpy_host_to_device(FPTYPE *, const FPTYPE *, const int)
- Template Function deepmd::memcpy_host_to_device(FPTYPE *, std::vector<FPTYPE>&)
- Template Function deepmd::memset_device_memory
- Template Function deepmd::normalize_coord_cpu
- Template Function deepmd::normalize_coord_gpu
- Template Function deepmd::pair_tab_cpu
- Template Function deepmd::prod_env_mat_a_cpu
- Template Function deepmd::prod_env_mat_a_gpu_cuda
- Template Function deepmd::prod_env_mat_a_nvnmd_quantize_cpu
- Template Function deepmd::prod_env_mat_r_cpu
- Template Function deepmd::prod_env_mat_r_gpu_cuda
- Template Function deepmd::prod_force_a_cpu
- Template Function deepmd::prod_force_a_gpu_cuda
- Template Function deepmd::prod_force_grad_a_cpu
- Template Function deepmd::prod_force_grad_a_gpu_cuda
- Template Function deepmd::prod_force_grad_r_cpu
- Template Function deepmd::prod_force_grad_r_gpu_cuda
- Template Function deepmd::prod_force_r_cpu
- Template Function deepmd::prod_force_r_gpu_cuda
- Template Function deepmd::prod_virial_a_cpu
- Template Function deepmd::prod_virial_a_gpu_cuda
- Template Function deepmd::prod_virial_grad_a_cpu
- Template Function deepmd::prod_virial_grad_a_gpu_cuda
- Template Function deepmd::prod_virial_grad_r_cpu
- Template Function deepmd::prod_virial_grad_r_gpu_cuda
- Template Function deepmd::prod_virial_r_cpu
- Template Function deepmd::prod_virial_r_gpu_cuda
- Template Function deepmd::soft_min_switch_cpu
- Template Function deepmd::soft_min_switch_force_cpu
- Template Function deepmd::soft_min_switch_force_grad_cpu
- Template Function deepmd::soft_min_switch_virial_cpu
- Template Function deepmd::soft_min_switch_virial_grad_cpu
- Function deepmd::spline3_switch
- Template Function deepmd::spline5_switch
- Template Function deepmd::tabulate_fusion_se_a_cpu
- Template Function deepmd::tabulate_fusion_se_a_gpu_cuda
- Template Function deepmd::tabulate_fusion_se_a_grad_cpu
- Template Function deepmd::tabulate_fusion_se_a_grad_gpu_cuda
- Template Function deepmd::tabulate_fusion_se_a_grad_grad_cpu
- Template Function deepmd::tabulate_fusion_se_a_grad_grad_gpu_cuda
- Template Function deepmd::tabulate_fusion_se_r_cpu
- Template Function deepmd::tabulate_fusion_se_r_gpu_cuda
- Template Function deepmd::tabulate_fusion_se_r_grad_cpu
- Template Function deepmd::tabulate_fusion_se_r_grad_gpu_cuda
- Template Function deepmd::tabulate_fusion_se_r_grad_grad_cpu
- Template Function deepmd::tabulate_fusion_se_r_grad_grad_gpu_cuda
- Template Function deepmd::tabulate_fusion_se_t_cpu
- Template Function deepmd::tabulate_fusion_se_t_gpu_cuda
- Template Function deepmd::tabulate_fusion_se_t_grad_cpu
- Template Function deepmd::tabulate_fusion_se_t_grad_gpu_cuda
- Template Function deepmd::tabulate_fusion_se_t_grad_grad_cpu
- Template Function deepmd::tabulate_fusion_se_t_grad_grad_gpu_cuda
- Template Function deepmd::test_encoding_decoding_nbor_info_gpu_cuda
- Function deepmd::use_nei_info_cpu
- Function deepmd::use_nei_info_gpu
- Function deepmd::use_nlist_map
- Template Function deepmd::volume_cpu
- Template Function deepmd::volume_gpu
- Function DPAssert(cudaError_t, const char *, int, bool)
- Function DPAssert(hipError_t, const char *, int, bool)
- Function env_mat_a
- Function env_mat_r
- Template Function format_nlist_i_cpu
- Function format_nlist_i_fill_a
- Function nborAssert(cudaError_t, const char *, int, bool)
- Function nborAssert(hipError_t, const char *, int, bool)
- Function omp_get_num_threads
- Function omp_get_thread_num
- Variables
- Defines
- Typedefs