@@ -151,6 +151,7 @@ (define-module (gnu packages maths)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gl)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages libunwind)
#:use-module (gnu packages m4)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
@@ -6890,6 +6891,53 @@ (define-public dealii-openmpi
(delete 'unset-cpath)))))
(synopsis "Finite element library (with MPI support)")))
+(define-public mfem
+ (package
+ (name "mfem")
+ (version "4.6")
+ (source
+ (origin
+ ;; (method url-fetch)
+ ;; (uri (string-append "https://github.com/mfem/mfem/archive/refs/tags/v"
+ ;; version ".tar.gz"))
+ ;; (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mfem/mfem")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0m57j5kd7glc8lfp5bdmmx4az4fs6lkqjwd970w4fx8gylxff3n9"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ (list graphviz doxygen perl)) ; documentation
+ (inputs
+ (list gfortran
+ gnutls
+ lapack
+ libunwind
+ metis
+ mpfr
+ netcdf
+ suitesparse-amd
+ suitesparse-btf
+ suitesparse-camd
+ suitesparse-ccolamd
+ suitesparse-cholmod
+ suitesparse-colamd
+ suitesparse-config
+ suitesparse-klu
+ suitesparse-umfpack
+ sundials
+ zlib))
+ (home-page "https://mfem.org/")
+ (synopsis "Finite element library")
+ (description "MFEM is a modular parallel C++ library for finite element
+methods. Its goal is to enable high-performance scalable finite element
+discretization research and application development on a wide variety of
+platforms, ranging from laptops to supercomputers.")
+ (license license:bsd-3)))
+
(define-public flann
(package
(name "flann")