diff options
author | Pierre-Antoine Bouttier <pierre-antoine.bouttier@univ-grenoble-alpes.fr> | 2021-12-06 16:24:22 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-05-05 23:56:58 +0200 |
commit | 6829d61bc5d784a3d8f4d5bd6d5ad183b1aebaa8 (patch) | |
tree | f04ec27ee4e4c9112ac3f36e451d37f57ca1847c | |
parent | 34dbbb917251be0adf40bd9db2a8651779eace0e (diff) | |
download | guix-6829d61bc5d784a3d8f4d5bd6d5ad183b1aebaa8.tar.gz |
gnu: Add n2p2.
* gnu/packages/maths.scm (n2p2): New variable. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/packages/maths.scm | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index cc89ef75f3..98e239d5bd 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -49,6 +49,7 @@ ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> ;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2021 Pierre-Antoine Bouttier <pierre-antoine.bouttier@univ-grenoble-alpes.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1852,6 +1853,65 @@ sharing of scientific data.") (home-page (package-home-page netcdf)) (license (package-license netcdf)))) +(define-public n2p2 + (package + (name "n2p2") + (version "2.1.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/CompPhysVienna/n2p2") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lw195ihpxwh08387i4gamk1glhalpq888q6nj8l5vswbgnrv1pq")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags '("MODE=shared" "-C" "src") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'post-unpack + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/makefile.gnu" + (("PROJECT_EIGEN=/usr/include/eigen3") + (string-append "PROJECT_EIGEN=" + (assoc-ref inputs "eigen") "/include/eigen3"))) + (substitute* "src/makefile.gnu" + (("-lblas") + (string-append "-L" (assoc-ref inputs "openblas") + "/lib -lopenblas")) + (("-march=native") + "")) + (substitute* "src/application/makefile" + (("LDFLAGS=") + "LDFLAGS=-Wl,-rpath='$$ORIGIN/../lib' ")))) + (delete 'configure) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bindir (string-append out "/bin")) + (libdir (string-append out "/lib")) + (incdir (string-append out "/include"))) + (for-each (lambda (f) (install-file f bindir)) + (find-files "bin" "^nnp-")) + (for-each (lambda (f) (install-file f libdir)) + (find-files "lib" "\\.so$")) + (for-each (lambda (f) (install-file f incdir)) + (find-files "include" "\\.h$")))))))) + (inputs + (list openmpi gsl openblas eigen)) + (synopsis "Neural network potentials for chemistry and physics") + (description "This package contains software that will allow you to use +existing neural network potential parameterizations to predict energies and +forces (with standalone tools but also in conjunction with the MD software +LAMMPS). In addition it is possible to train new neural network potentials +with the provided training tools.") + (home-page "https://compphysvienna.github.io/n2p2/") + (properties '((tunable? . #t))) ;to benefit from SIMD code in Eigen + (license license:gpl3+))) + (define-public nlopt (package (name "nlopt") |