Version 9.1.0 of deal.II, the object-oriented finite element library awarded the J. H. Wilkinson Prize for Numerical Software, has been released. It is available for free under an Open Source license from the deal.II homepage at
https://www.dealii.org/ The major changes of this release are: - The support for automatic and symbolic differentiation within deal.II has been completely overhauled and significantly extended. The automatic differentiation facilities integrate a broad spectrum of functionality, including support in the evaluation of finite element shape functions (FEValues) and associated point and tensor data structures. Functionality from both the ADOL-C as well as Sacado library in various modes is included. For symbolic differentiation, new wrappers to the high-performance SymEngine library allow an alternative approach addressing the syntax levels of expressions to compute derivatives, rather than the algorithmic approach underlying automatic differentiations. - Full support for hp adaptivity in parallel computations. deal.II has had support for hp-adaptive methods since around 2005, but not yet in combination with MPI. In order to gain support for parallel hp adaptivity a number of algorithmic issues were addressed in this release. Details can be found in the release paper. - A new HDF5 interface has been added in order to leverage its capabilities in terms of high-performance I/O for large amount of data. The HDF5 interfaces in deal.II support read and write operations both in serial and with MPI. - GPU support was significantly extended for the current release: Added features include preconditioners for CUDAWrappers::SparseMatrix objects, support for MPI-parallel CUDA data structures, and support for constraints in the matrix-free framework (and thus also support for adaptively refined meshes). - Four new tutorial programs have been added, step-61 demonstrating an implementation of the so-called weak Galerkin method, step-62 solving the elastic wave equation with perfectly matched layers to calculate the resonance frequency and bandgap of photonic crystals, step-63 on block and point smoothers for geometric multigrid in the context of convection-diffusion problems, and step-64 implementing a Helmholtz solver with matrix-free methods running on GPUs. Furthermore, a new code gallery program solving a Bayesian inverse problem has been added. - The release contains performance improvements and bug fixes of the matrix-free framework and related geometric multigrid solvers. In particular, the implementation of the Chebyshev iteration, an often used smoother in the matrix-free context, has been revised to reduce vector accesses. Altogether, matrix-free multigrid solvers run up to 15% faster than in the previous version. - Various variants of geometric multigrid solvers and matrix-free implementations were run on up to 304,128 MPI ranks during the acceptance phase of the SuperMUC-NG supercomputer, verifying the scalability of our implementations to this scale. Some geometric multigrid data structures were revised to avoid bottlenecks showing up with more than 100k ranks. - The FE_BernardiRaugel class implements the non-standard Bernardi-Raugel element that can be used to construct a stable velocity-pressure pair for the Stokes equation. The Bernardi-Raugel element is an enriched version of the Q_1^d element with added bubble functions on each edge (in 2d) or face (in 3d). It addresses the fact that the Q_1^d - Q_0 combination is not inf-sup stable (requiring a larger velocity space), and that the Q_2^d - Q_1 combination is stable but sub-optimal since the velocity space is too large relative to the pressure space to provide additional accuracy commensurate with the cost of the large number of velocity unknowns. The Bernardi-Raugel space is intermediate to the Q_1^d and Q_2^d spaces. - The FE_NedelecSZ class is a new implementation of the Nédélec element on quadrilaterals and hexahedra. It overcomes the sign conflict issues present in traditional Nédélec elements that arise from the edge and face parameterizations used in the basis functions. Therefore, this element should provide consistent results for general quadrilateral and hexahedral elements for which the relative orientations of edges and faces (as seen from all adjacent cells) are often difficult to establish. - A new class ParsedConvergenceTable has been introduced. The class simplifies the construction of convergence tables, reading the options for the generation of the table from a parameter file. It provides a series of methods that can be used to compute the error given a reference exact solution, or the difference between two numerical solutions, or any other custom computation of the error, given via std::function objects. - A new interface to boost::geometry::index::rtree has been added. The rtree provides a data structure for handling bounding boxes that cover the whole triangulation, and allow to identify e.g. the cell a certain point is located in logarithmic time, or queries regarding the cell owners of far-field cells in a distributed setup. - More than 200 other features and bugfixes. For more information see - the preprint at https://www.dealii.org/deal91-preprint.pdf - the list of changes at https://www.dealii.org/developer/doxygen/deal.II/changes_between_9_0_1_and_9_1_0.html The main features of deal.II are: - Extensive documentation and 63 fully-functional example programs - Support for dimension-independent programming - Locally refined adaptive meshes - Multigrid support - A zoo of different finite elements - Fast linear algebra - Built-in support for shared memory and distributed parallel computing, scaling from laptops to clusters with 100,000+ processor cores - Interfaces to Trilinos, PETSc, METIS, UMFPACK and other external software - Output for a wide variety of visualization platforms. Martin Kronblicher and Matthias Maier, on behalf of the deal.II developer team and many contributors. -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/83c8c696-dec7-8bf2-98ec-c205392b049b%40gmail.com. For more options, visit https://groups.google.com/d/optout.
