From 5502527b39a57087bfee3207dbafb198ba518d45 Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Mon, 23 May 2022 01:18:35 +0200 Subject: [PATCH] Prepare v2.2.0 release. --- .github/workflows/n2p2-ci.yaml | 5 ++ .travis.yml | 110 ------------------------- CHANGELOG.rst | 142 +++++++++++++++++++++++++++++---- src/doc/doxygen/makefile | 2 +- src/doc/sphinx/source/conf.py | 2 +- 5 files changed, 132 insertions(+), 129 deletions(-) delete mode 100644 .travis.yml diff --git a/.github/workflows/n2p2-ci.yaml b/.github/workflows/n2p2-ci.yaml index 04b76eb3b..ee660b188 100644 --- a/.github/workflows/n2p2-ci.yaml +++ b/.github/workflows/n2p2-ci.yaml @@ -55,6 +55,11 @@ jobs: - 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 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d6b285a40..000000000 --- a/.travis.yml +++ /dev/null @@ -1,110 +0,0 @@ -dist: bionic - -sudo: false - -language: python - -python: - - "3.6" - -branches: - only: - # Build all branches (but not gh-pages) - - /.*/ - #- master - -addons: - apt: - packages: - ######## - # DOCS # - ######## - # Use default doxygen (1.8.11) on "xenial" (The doxygen version on "trusty" was too old (1.8.6)). - - doxygen - # Generating graphs with doxygen requires dot. - - graphviz - # Generating formulae with doxygen requires latex and dvips. - - texlive-latex-base - # Generating formulae with doxygen requires gs. - - ghostscript - ######### - # BUILD # - ######### - # MPI - - openmpi-bin - - libopenmpi-dev - # BLAS - - libblas3 - - libblas-dev - # Eigen library - - libeigen3-dev - # GSL library - - libgsl-dev - ######### - # TESTS # - ######### - # Boost Test for C++ testing - - libboost-test-dev - # Boost Filesytem for C++ testing - - libboost-filesystem-dev - # Coverage for C++ - - lcov - -before_install: - # Set doxygen environment variables. - #- export DOXYGEN_VER=1_8_14 - #- export DOXYGEN_TAR=https://github.com/doxygen/doxygen/archive/Release_${DOXYGEN_VER}.tar.gz - #- export DOXYGEN_DIR=doxygen-Release_${DOXYGEN_VER} - -install: - - pip install sphinx - - pip install sphinx_rtd_theme - - pip install breathe - #- pip install exhale - - pip install cython - - pip install pytest - - pip install pytest-cov - - pip install coverage==4.5.4 - -before_script: - # Remember directory. - - export REPO_DIR=$(pwd) - # Need to manually compile doxygen. - #- wget -O - ${DOXYGEN_TAR} | tar -xz -C ${TMPDIR-/tmp} - #- cd ${TMPDIR-/tmp}/${DOXYGEN_DIR} && mkdir build && cd build && cmake -G "Unix Makefiles" .. && make - #- export PATH="${TMPDIR-/tmp}/${DOXYGEN_DIR}/build/bin:$PATH" - -script: - - cd ${REPO_DIR} - - cd src - # C++ build and tests - - make MODE=test -j - - make doc - - make MODE=test lammps-nnp - # Prevent GitHub Jekyll to interfere with Sphinx theme. - - touch ../doc/sphinx/html/.nojekyll - - cd ../test/ - - make cpp - - cd cpp - - make coverage - # Python build and tests - - cd ../../src/ - - make pynnp MODE=test - - cd ../test/ - - make python - -after_success: - - cd ${REPO_DIR}/test/cpp/ && rm *.gcda *.gcno - - cd ${REPO_DIR} - - bash <(curl -s https://codecov.io/bash) -f ${REPO_DIR}/test/cpp/tests.info -F cpp -c || echo "Codecov did not collect coverage reports" - - cd ${REPO_DIR}/test/python/ - - bash <(curl -s https://codecov.io/bash) -F python -c || echo "Codecov did not collect coverage reports" - -deploy: - provider: pages - skip_cleanup: true - local_dir: doc/sphinx/html - github_token: $GH_REPO_TOKEN - on: - branch: master - #all_branches: true diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 59d4e849d..372c8c9d6 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,22 +3,129 @@ 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. @@ -26,16 +133,17 @@ Added * 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. diff --git a/src/doc/doxygen/makefile b/src/doc/doxygen/makefile index 484cfd0cb..45e68a8b4 100644 --- a/src/doc/doxygen/makefile +++ b/src/doc/doxygen/makefile @@ -17,7 +17,7 @@ doxygen: mkdir build && \ cd build && \ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release .. && \ - $(MAKE) -j4 && \ + $(MAKE) -j $(CORES) && \ cp bin/doxygen ../.. clean-doxygen: diff --git a/src/doc/sphinx/source/conf.py b/src/doc/sphinx/source/conf.py index adfecc99c..1bacc4875 100644 --- a/src/doc/sphinx/source/conf.py +++ b/src/doc/sphinx/source/conf.py @@ -111,7 +111,7 @@ # General information about the project. project = u'n2p2 - A neural network potential package' -copyright = u'2021, Andreas Singraber' +copyright = u'2022, Andreas Singraber' author = u'Andreas Singraber' # The version info for the project you're documenting, acts as replacement for