Skip to content

Commit

Permalink
Merge branch 'master' into 4G-HDNNP-training
Browse files Browse the repository at this point in the history
Fixed merge conflicts and 'make all' compiles successfully. But there
are almost certainly runtime errors and not all new features of 'master'
are supported yet for 4G, e.g. normalization in 'Training.cpp'.
  • Loading branch information
philippmisof committed Apr 28, 2023
2 parents 5924013 + 539576b commit 7e30bb8
Show file tree
Hide file tree
Showing 174 changed files with 55,937 additions and 1,044 deletions.
107 changes: 107 additions & 0 deletions .github/workflows/n2p2-ci.yaml
@@ -0,0 +1,107 @@
name: n2p2-ci
on:
push:
pull_request:
branches:
- master

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Install required system packages
run: |
# Docs
# API docs with doxygen (built via makefile, needs cmake),
# generating graphs with doxygen requires dot.
sudo apt install cmake graphviz
# Build
# MPI
sudo apt install openmpi-bin libopenmpi-dev
# BLAS
sudo apt install libblas3 libblas-dev
# Eigen library
sudo apt install libeigen3-dev
# GSL library
sudo apt install libgsl-dev
# Tests
# Boost Test for C++ testing
sudo apt install libboost-test-dev libboost-filesystem-dev
# Coverage for C++
sudo apt install lcov
- name: Install required Python packages
run: |
# Docs
pip install sphinx
pip install sphinx_rtd_theme
pip install breathe
# pynnp
pip install cython
# python tests
pip install pytest
pip install pytest-cov
pip install coverage==4.5.4
- name: Build n2p2 libraries and applications
run: make MODE=test -j4
working-directory: ./src

- name: Build documentation
run: |
# Pre-build doxygen only on 4 cores (-j hangs on Github Actions).
cd doc/doxygen/
make CORES=4 doxygen
cd ../..
# Now build the rest of the documentation.
make doc
# Prevent GitHub Jekyll to interfere with Sphinx theme.
touch ../doc/sphinx/html/.nojekyll
working-directory: ./src

- name: Build LAMMPS with n2p2 support
run: make MODE=test lammps-nnp
working-directory: ./src

- name: Run C++ tests and coverage
run: |
make cpp
cd cpp
make coverage
rm *.gcda *.gcno
working-directory: ./test

- name: Build pynnp
run: make pynnp MODE=test
working-directory: ./src

- name: Run python tests
run: make python
working-directory: ./test

- name: Upload C++ coverage to Codecov
uses: codecov/codecov-action@v2
with:
files: test/cpp/tests.info
flags: cpp
verbose: true

- name: Upload Python coverage to Codecov
uses: codecov/codecov-action@v2
with:
directory: test/python
flags: python
verbose: true

- name: Deploy Github pages
if: ${{ github.ref == 'refs/heads/master' }}
uses: JamesIves/github-pages-deploy-action@v4.3.3
with:
branch: gh-pages
folder: doc/sphinx/html
111 changes: 0 additions & 111 deletions .travis.yml

This file was deleted.

142 changes: 125 additions & 17 deletions CHANGELOG.rst
Expand Up @@ -3,39 +3,147 @@ Changelog

All notable changes to this project will be documented in this file.

[2.1.0] - 2020-12-21
--------------------
Version 2.2.0 - 2022-05-23
--------------------------

Added
^^^^^
New features
^^^^^^^^^^^^

* Polynomial symmetry functions (Martin P. Bircher and Andreas Singraber).
* Better symmetry function cache mechanism.
* Documentation updates.
* Normalization procedure on-the-fly via nnp-train, keyword ``normalize_data_set``.
* New normalization scheme based on force predictions.
* New keyword ``force_energy_ratio`` for nnp-train.
* Additional neighbor statistics output from nnp-scaling.
* New tool nnp-checkdw (for testing purposes).

Important changes
^^^^^^^^^^^^^^^^^

[2.0.0] - 2020-10-05
--------------------
* New CI via Github Actions.
* Use self-compiled doxygen for API docs, use version 1.9.4.

Added
^^^^^
Bugfixes
^^^^^^^^

* Fixed missing atomic energy offsets for LAMMPS interface.
* Fixed NaNs from nnp-dist when running mixed data sets.
* Fixed bugs in pynnp examples.

Version 2.1.4 - 2021-05-11
--------------------------

New features
^^^^^^^^^^^^

* Changed build behavior for LAMMPS interface to conform with PR (lammps/lammps#2626)


Version 2.1.3 - 2021-04-26
--------------------------

Bugfixes
^^^^^^^^

* Fixed bug in nnp-scaling which could cause segfaults (MPI only).


Version 2.1.2 - 2021-04-12
--------------------------

New features
^^^^^^^^^^^^

* New tool to check numeric vs. analytic forces

Bugfixes
^^^^^^^^

* Fixed critical bug for large cutoff values (large compared to lattice vectors)


Version 2.1.1 - 2021-01-15
--------------------------

New features
^^^^^^^^^^^^

* Now compatible with latest LAMMPS stable release 29Oct2020
* Improved EW warnings in LAMMPS
* Citation header in screen output
* Restructured training to prepare for multi-network HDNNPs (e.g. 4G-HDNNP)
* New training "properties" can be added more easily now

Bugfixes
^^^^^^^^

* Fixed bugs in makefiles
* Fixed bug when creating scaling data


Version 2.1.0 - 2020-12-21
--------------------------

New features
^^^^^^^^^^^^

* Polynomial symmetry functions (Martin P. Bircher and Andreas Singraber)
* Better symmetry function cache mechanism

Important changes
^^^^^^^^^^^^^^^^^

* Documentation updates (API docs in Sphinx via Breathe)


Version 2.0.3 - 2020-11-30
--------------------------

New features
^^^^^^^^^^^^

* Tool nnp-scaling puts out rejected configurations into a separate file.


Version 2.0.2 - 2020-11-25
--------------------------

Bugfixes
^^^^^^^^

* Bugfix in CabanaMD interface: SF group initialization


Version 2.0.1 - 2020-10-05
--------------------------

Bugfixes
^^^^^^^^

* Fix bug in makefile which sometimes causes a failed build due to parallel execution


Version 2.0.0 - 2020-10-05
--------------------------

New features
^^^^^^^^^^^^

* Training library (Multi-stream Kalman filter training).
* Tools for HDNNP data set handling, etc.
* Python interface (basic functionality).
* Sphinx documentation (+ Doxygen API reference).
* CabanaMD interface (by Saaketh Desai and Sam Reeve)

Changed
^^^^^^^
Important changes
^^^^^^^^^^^^^^^^^

* License change from MPL 2.0 to GPL v3 or later.

[1.0.0] - 2018-08-13
--------------------

Added
^^^^^
Version 1.0.0 - 2018-08-13
--------------------------

New features
^^^^^^^^^^^^

* Core library (NN, symmetry functions, ...).
* LAMMPS interface.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -3,7 +3,7 @@ n2p2 - A neural network potential package

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1344446.svg)](https://doi.org/10.5281/zenodo.1344446)
[![GitHub release](https://img.shields.io/github/release/CompPhysVienna/n2p2.svg)](https://GitHub.com/CompPhysVienna/n2p2/releases/)
[![Build Status](https://travis-ci.org/CompPhysVienna/n2p2.svg?branch=master)](https://travis-ci.org/CompPhysVienna/n2p2)
[![Build Status](https://app.travis-ci.com/CompPhysVienna/n2p2.svg?branch=master)](https://app.travis-ci.com/CompPhysVienna/n2p2)
[![Coverage](https://codecov.io/gh/CompPhysVienna/n2p2/branch/master/graph/badge.svg)](https://codecov.io/gh/CompPhysVienna/n2p2)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)

Expand Down

0 comments on commit 7e30bb8

Please sign in to comment.