[aspect-devel] deal.II version 9.0 released
Wolfgang Bangerth
bangerth at colostate.edu
Mon May 14 16:57:56 PDT 2018
[Sending this on behalf of the deal.II team. We will require this version of
deal.II for the next release of ASPECT, but it is not necessary for the 2.0
release that was put out last week.]
Version 9.0.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:
- deal.II now requires C++11.
- Support for curved geometries has been improved. Manifold descriptions
are now exclusively handled via manifold_ids and all compatibility code
that used boundary indicators has been removed. In addition, every
function in the GridGenerator namespace now attaches a default manifold
to the curved parts of the domain described by the generated mesh.
- deal.II now has a dedicated particles module. The module provides a base
class Particle that represents a particle with position, an ID number and
a variable number of properties. They are jointly represented by a
ParticleHandler class that manages the storage and handling of all
particles.
- deal.II gained dedicated, first-class support for automatic
differentiation libraries and various capabilities (taped and tapeless
ADOL-C, Sacado with dynamic forward, reverse, nested dynamic forward, and
nested reverse support for first and second derivatives).
- Interfaces to a number of additional external libraries has been added.
deal.II can now be configured with optional support for Assimp, Gmsh,
nanoflann, ROL, ScaLAPACK and Sundials.
- This release adds support for computations on GPUs, both, for matrix-based
and for matrix-free applications. For matrix-based applications, cuSPARSE
and cuSOLVER are used. Support for matrix-free computation on GPUs is
preliminary. For now, the evaluation of the operator is limited to meshes
without hanging-nodes.
- The matrix-free infrastructure in deal.II was significantly overhauled for
the current release. The major new contribution is the support of face
integrals through a new class FEFaceEvaluation.
- deal.II has made extensive use of both the Clang-Tidy and Coverity Scan
static analysis tools for detecting bugs and other issues in the code.
For example, around 260 issues were detected and fixed using the latter
tool.
- LinearOperator, a flexible template class that implements the action of a
linear operator, now supports computations with Trilinos, Schur
complements, and linear constraints. This class is, as of this release,
the official replacement for about half a dozen similar (but less
general) classes, such as FilteredMatrix, IterativeInverse, and
PointerMatrix.
- A number of non-standard, special-purpose quadrature rules have been
implemented. Among these are ones for truncating standard formulas to
simplical domains (QSimplex), singular transformations of the unit cell
to the unit simplex (QDuffy), composition of simplical quadrature rules
to a combined rule on the unit cell (QSplit), and transformation of the
unit square to polar coordinates (QTrianglePolar).
- Support for complex-valued vectors at the same level as real-valued
vectors.
- A new python tutorial program tutorial-1; as well as updates to step-37.
In addition, the separate code gallery of deal.II has gained a number of
new entries.
- Improved support for user-defined run-time parameters: a new
ParameterAcceptor class has been added to the library. The class is
intended to be used as a base for any class that wants to handle
parameters using the ParameterHandler class.
- New caching mechanism for expensive grid computations: we introduced a
new class GridTools::Cache that caches computationally intensive
information about a Triangulation. This class allows the user to query
some of the data structures constructed using functions in the GridTools
namespace.
- More than 330 other features and bugfixes.
For more information see
- the preprint at https://www.dealii.org/deal90-preprint.pdf
- the list of changes at
https://www.dealii.org/developer/doxygen/deal.II/changes_between_8_5_0_and_9_0_0.html
The main features of deal.II are:
- Extensive documentation and 57 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.
Matthias, on behalf of the deal.II developer team and many contributors.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth at colostate.edu
www: http://www.math.colostate.edu/~bangerth/
More information about the Aspect-devel
mailing list