https://github.com/chem-william/nep_cpu

CPU version of NEP

https://github.com/chem-william/nep_cpu

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

CPU version of NEP

Basic Info
  • Host: GitHub
  • Owner: chem-william
  • License: gpl-3.0
  • Default Branch: main
  • Homepage:
  • Size: 451 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Fork of brucefan1983/NEP_CPU
Created over 3 years ago · Last pushed about 3 years ago

https://github.com/chem-william/NEP_CPU/blob/main/

# NEP_CPU

# What does this repository contain?

* A **standalone** C++ implementation (a class called `NEP3`) of the neuroevolution potential (NEP) as introduced in the GPUMD package (https://github.com/brucefan1983/GPUMD). We stress that **there is no external dependence**.

* An interface of the `NEP3` class to the CPU version of LAMMPS (https://github.com/lammps/lammps). **It can be run with MPI**.

# The standalone C++ implementation of NEP

* The `NEP3` C++ class is defined in the following two files:
  * `src/nep.h`
  * `src/nep.cpp`
  
* The following folder contains some testing code and results:
  * `test/`
  
* The `NEP3` C++ class is used as an engine powering the following two Python packages:
  * `PyNEP`: https://github.com/bigd4/PyNEP
  * `calorine`: https://gitlab.com/materials-modeling/calorine
  
# The NEP-LAMMPS interface

## Build the NEP-LAMMPS interface

* step 1: Copy `src/nep.h` and `src/nep.cpp` into `interface/lammps/USER-NEP/` such that you have the following 5 files in `interface/lammps/USER-NEP/`:
  * `nep.h`
  * `nep.cpp`
  * `pair_NEP.h`
  * `pair_NEP.cpp`
  * `install.sh`
  
* Step 2: Now you can copy the `USER-NEP/` folder into `YOUR_LAMMPS_PATH/src/` and start to compile LAMMPS in your favorite way. Good luck!
  
## Use the NEP-LAMMPS interface

* `atom_style` can only be `atomic`
* `units` must be `metal`
* Specify the `pair_style` in the following way:
  ```shell
  pair_style nep YOUR_NEP_MODEL_FILE.txt  # YOUR_NEP_MODEL_FILE.txt is your NEP model file (with path)
  pair_coeff * *                          # This format is fixed
  ```
  
* For multi-element system, the atom types must be carefully set. Take a NEP model `NEP_PdCuNiP.txt` as an example. In this NEP model file, the first line is `nep3 4 Pd Cu Ni P`. Then in your LAMMPS input file, you must set 
  * Pb atoms to type 1
  * Cu atoms to type 2
  * Ni atoms to type 3
  * P atoms to type 4
  
* Some atom types can be missing in the simulated system. For example you can use the above NEP model to simulate a CuNi binary alloy. It is important to make sure to still set Cu atoms to type 2 and Ni atoms to type 3. In this case, atom types 1 and 4 are missing.

* Currently NEP cannot be hybridized with other potentials in LAMMPS.
  
* If you want to calculate the heat current correctly, use the following command to get the 9-component per-atom virial:
  ```shell
  compute 1 all centroid/stress/atom NULL
  ```
  
# Citation

* If you directly or indirectly use the `NEP3` class here, you are suggested to cite the following paper:

  * Zheyong Fan, Yanzhou Wang, Penghua Ying, Keke Song, Junjie Wang, Yong Wang, Zezhu Zeng, Ke Xu, Eric Lindgren, J. Magnus Rahm, Alexander J. Gabourie, Jiahui Liu, Haikuan Dong, Jianyang Wu, Yue Chen, Zheng Zhong, Jian Sun, Paul Erhart, Yanjing Su, Tapio Ala-Nissila,
[GPUMD: A package for constructing accurate machine-learned potentials and performing highly efficient atomistic simulations](https://doi.org/10.1063/5.0106617), The Journal of Chemical Physics **157**, 114801 (2022).

* If you use the LAMMPS interface of the `NEP3` class, a proper citation for LAMMPS is also suggested. 

Owner

  • Name: William Bro-Jørgensen
  • Login: chem-william
  • Kind: user
  • Company: University of Copenhagen

GitHub Events

Total
Last Year