diff options
author | Luis Martinez | 2022-03-21 20:32:45 -0500 |
---|---|---|
committer | Luis Martinez | 2022-03-21 20:55:13 -0500 |
commit | f0d94865af36719100de323e7d7a8e9620f20915 (patch) | |
tree | 6d37b4d5e243cd942ec4df953135d19889d88b06 | |
parent | 098606feff49a3128323c5d827ce73e6dcaf7747 (diff) | |
download | aur-f0d94865af36719100de323e7d7a8e9620f20915.tar.gz |
update to 4.4
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | CHANGELOG | 141 | ||||
-rw-r--r-- | PKGBUILD | 18 |
3 files changed, 158 insertions, 11 deletions
@@ -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 ====================================== @@ -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/" } |