summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuis Martinez2022-03-21 20:32:45 -0500
committerLuis Martinez2022-03-21 20:55:13 -0500
commitf0d94865af36719100de323e7d7a8e9620f20915 (patch)
tree6d37b4d5e243cd942ec4df953135d19889d88b06
parent098606feff49a3128323c5d827ce73e6dcaf7747 (diff)
downloadaur-f0d94865af36719100de323e7d7a8e9620f20915.tar.gz
update to 4.4
-rw-r--r--.SRCINFO10
-rw-r--r--CHANGELOG141
-rw-r--r--PKGBUILD18
3 files changed, 158 insertions, 11 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 65b326492d30..b1360f0720c9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,13 +1,15 @@
pkgbase = mfem
pkgdesc = Lightweight, general, scalable C++ library for finite element methods
- pkgver = 4.3
+ pkgver = 4.4
pkgrel = 1
- url = https://mfem.org
+ url = https://github.com/mfem/mfem
changelog = CHANGELOG
arch = x86_64
license = BSD
makedepends = cmake
- source = mfem-4.3.tar.gz::https://github.com/mfem/mfem/archive/v4.3.tar.gz
- sha256sums = b5f2b33997caeed653c0fadd353cdce596754f2883b5860ef7e5a370e33eeafd
+ depends = gcc-libs
+ provides = libmfem.so=4.4.0-64
+ source = mfem-4.4.tar.gz::https://github.com/mfem/mfem/archive/v4.4.tar.gz
+ sha256sums = 0325a57854d9268dfe3f8d9b03836eb01b00a966d93162e6249857e9fab9c61f
pkgname = mfem
diff --git a/CHANGELOG b/CHANGELOG
index f1f865fdebc7..12baca1d1fc7 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -8,6 +8,147 @@
https://mfem.org
+Version 4.4, released on March 21, 2022
+=======================================
+
+Linear and nonlinear solvers
+----------------------------
+- Added support for using the hypre library built with HIP support. Similar to
+ the existing hypre + CUDA support, most of the MFEM examples and miniapps work
+ transparently with hypre + HIP builds. This includes the BoomerAMG, AMS, and
+ ADS solvers.
+
+- Added a simple singleton class, Hypre, to automatically set hypre's global
+ parameters, particularly GPU-relevant options. Updated parallel example codes
+ and miniapps to call Hypre::Init() where appropriate.
+
+- Added hipSPARSE support for sparse matrix-vector multiplications.
+
+- More explicit and consistent formatting of the output of iterative solvers
+ with the new IterativeSolver::PrintLevel options. See linalg/solvers.hpp.
+
+Meshing improvements
+--------------------
+- New TMOP-based methods for hr-adaptivity, interface fitting, and tangential
+ relaxation of high-order meshes.
+
+- Added initial support for meshes with pyramidal elements, including several
+ pyramidal meshes in the data/ directory and support for the lowest order H1,
+ Nedelec, Raviart-Thomas, and L2 basis functions on pyramids.
+
+- Added a simpler interface to access mesh face information, see FaceInformation
+ and GetFaceInformation in the Mesh class.
+
+- Gmsh meshes where all elements have zero physical tag (the default Gmsh output
+ format if no physical groups are defined) are now successfully loaded, and
+ elements are reassigned attribute number 1.
+
+- Added ParMesh adjacency set (adjset) creation support to the Conduit Mesh
+ Blueprint MFEM wrapper functions in ConduitDataCollection.
+
+Discretization improvements
+---------------------------
+- Added general dof transformation to support high order Nedelec basis functions
+ on tetrahedral meshes without reordering. The ReorientTetMesh method of the
+ Mesh and ParMesh classes has been deprecated. See the new DofTransformation
+ class in fem/doftrans.hpp.
+
+- GPU-enabled partial (PA) and element (EA) assembly for discontinuous Galerkin
+ methods on nonconforming AMR meshes.
+
+- Support for arbitrary order Nedelec and Raviart-Thomas elements on wedges.
+
+- Added special Nedelec and Raviart-Thomas basis functions for modeling three
+ dimensional vector fields in 1D and 2D domains, see the new Example 31/31p.
+
+- GridFunctionCoefficient (and the related vector, gradient, divergence, and
+ curl classes) now work properly with LORDiscretization and LORSolver.
+
+- Added PA support for the action of MixedScalarCurlIntegrator in 2D and
+ MixedVectorGradientIntegrator in 2D and 3D, as well as their transposes.
+
+- Coefficient::SetTime now propagates the new time into internally stored
+ Coefficient objects.
+
+- Split the fem/fe.?pp files into separate files in the new fem/fe/ directory to
+ simplify and clarify the organization of FiniteElement classes.
+
+New and updated examples and miniapps
+-------------------------------------
+- Added two new miniapps with initial support for automatic differentiation (AD)
+ in the miniapps/autodiff/ directory. Users can select between external library
+ and native implementation during configuration. The support for AD will be
+ extended in future releases of MFEM.
+
+- Added Binder (mybinder.org) configuration files for C++ MFEM Jupyter Notebooks
+ with inline GLVis visualization in the new examples/jupyter/ directory with a
+ sample notebook based on Example 1. The implementation is based on xeus-cling,
+ see github.com/jupyter-xeus/xeus-cling and github.com/GLVis/xeus-glvis.
+
+- Added a new miniapp (Extrapolation) for PDE-based extrapolation of finite
+ element functions from known values in a set of elements to the rest of the
+ computational domain. See miniapps/shifted/extrapolate.cpp.
+
+- Added new miniapp that uses the ParELAG library, its hybrid smoothers, and the
+ hierarchy of spaces created by the element-based AMG (AMGe) methodology in
+ ParELAG to build multigrid solvers for H(curl) and H(div) forms. See the
+ miniapps/parelag directory for more details.
+
+- Added a new Example 30/30p demonstrating support for mesh preprocessing to
+ resolve fine scale problem data before simulation. This feature uses adaptive
+ mesh refinement to control the associated data oscillation error.
+
+- Added new Examples 31, 31p and 32p showing anisotropic definite Maxwell
+ serial/parallel solver and parallel eigensolver 1D, 2D, or 3D.
+
+- Updated the mesh-optimizer and pmesh-optimizer miniapps to demonstrate the
+ hr-adaptivity and interface fitting capability.
+
+- The HPC versions of ex1 and ex1p (in miniapps/performance) now support runtime
+ selection of either 2D or 3D meshes.
+
+Integrations, testing and documentation
+---------------------------------------
+- Doxygen documentation for all releases is now available at docs.mfem.org.
+
+- The following integrations have updated minimum version requirements:
+ * HIOP >= 0.4.6
+ * HYPRE >= 2.23.0 for HIP support
+ * libCEED >= 0.10
+ * PUMI >= 2.2.6
+ * RAJA >= 0.14.0
+ * Umpire >= 3.0.0
+ see INSTALL for more details.
+
+- Added new optional integrations with ParELAG and CoDiPack (version >= 1.9.3+).
+
+- Added initial support for Google Benchmark (version >= 1.5.6) in the
+ tests/benchmarks directory. It can be enabled with MFEM_USE_BENCHMARK=YES.
+
+- Switched from Artistic Style (astyle) version 2.05.1 to version 3.1 for code
+ formatting. See the "make style" target.
+
+Miscellaneous
+-------------
+- Added a simple singleton class, Mpi, as a replacement for MPI_Session. New
+ code should use Mpi::Init() and other Mpi methods instead of MPI_Session.
+
+- Added ParaView visualization of QuadratureFunction fields, through both
+ QuadratureFunction::SaveVTU and ParaViewDataCollection::RegisterQField.
+
+- Fixed several MinGW build issues on Windows.
+
+- Added 'double' atomicAdd implementation for previous versions of CUDA.
+
+- HypreParVector and Vector now support C++ move semantics, and the copy
+ constructor for HypreParVector now copies the local vector data.
+
+- Removed the 'u' flag in the ar command, to update all files in the archive,
+ avoiding file name collisions from different subdirectories.
+
+- Various other simplifications, extensions, and bugfixes in the code.
+
+
Version 4.3, released on July 29, 2021
======================================
diff --git a/PKGBUILD b/PKGBUILD
index 3596dcb21aa6..6044282d5128 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,20 +1,24 @@
# Maintainer: Luis Martinez <luis dot martinez at disroot dot org>
pkgname=mfem
-pkgver=4.3
+pkgver=4.4
pkgrel=1
pkgdesc="Lightweight, general, scalable C++ library for finite element methods"
arch=('x86_64')
-url="https://mfem.org"
+url='https://github.com/mfem/mfem'
license=('BSD')
+depends=('gcc-libs')
makedepends=('cmake')
+provides=('libmfem.so=4.4.0-64')
changelog=CHANGELOG
-source=("$pkgname-$pkgver.tar.gz::https://github.com/mfem/mfem/archive/v$pkgver.tar.gz")
-sha256sums=('b5f2b33997caeed653c0fadd353cdce596754f2883b5860ef7e5a370e33eeafd')
+source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
+sha256sums=('0325a57854d9268dfe3f8d9b03836eb01b00a966d93162e6249857e9fab9c61f')
build() {
cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE='None' \
+ -DCMAKE_INSTALL_PREFIX='/usr' \
+ -DBUILD_SHARED_LIBS=true \
-Wno-dev \
-B build \
-S "$pkgname-$pkgver"
@@ -24,6 +28,6 @@ build() {
package() {
make -C build install DESTDIR="$pkgdir/"
cd "$pkgname-$pkgver"
- install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
- install -Dm 644 README NOTICE -t "$pkgdir/usr/share/doc/$pkgname/"
+ install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
+ install -Dm644 README NOTICE -t "$pkgdir/usr/share/doc/$pkgname/"
}