News on deal.II

2017/06/17: deal.II is now part of the
SPEC CPU 2017 benchmark

A program based on the deal.II library is
part of the new industry
standard SPEC CPU 2017
benchmark testsuite that is used to determine the speed of
computers. It is part of the floating point testsuite as
510.parest.

The inclusion of our software into an industry
standard benchmark testsuite will lead to better support of compilers
and machines for the kind of program we write, in particular for
unstructured hierarchical mesh computations. This will in turn
help make our codes run faster on future systems.

2017/04/06: Version 8.5.0 released

deal.II version 8.5.0 was released today. A full list of changes can be
found here and a long description of changes
is in the manuscript here.
Download links are on the download page, or the release
page on github.

2017/01/17: step-57 - stationary Navier-Stokes equations

The new tutorial program
step-57
(contributed by Liang Zhao and Timo Heister) shows how to solve
the stationary, incompressible Navier-Stokes equations using Newton's
method. The program features block linear solvers for the saddle point
problem and adaptive mesh refinement. The benchmark problem is the famous
lid-driven cavity test.

The new tutorial programs
step-55
(contributed by Timo Heister) and
step-56
(contributed by Ryan Grove) show how the existing
Stokes solver in
step-22
can be extended in parallel and using geometric
multigrid, respectively. step-55 therefore fills a
hole in demonstrating parallel computing at a
complexity level between step-40 (the Laplace
equation) and step-32 (the much more complex
Boussinesq problem). step-56 extends the simple
multigrid solver in step-16 to a vector-valued
problem.

2016/04/14: Results of the deal.II user survey
available

Earlier this year, we asked our users for feedback
about deal.II in a
user
survey. The results of this survey are now available
in
this summary
of responses.

step-54
(developed by Andrea Mola and Luca Heltai) demonstrates how to
use existing IGES CAD files to describe the boundary of your
geometry. This is the first example that uses the new support
for the OpenCASCADE (www.opencascade.org)
library.

2014/10/13: step-52 introduces time steppers

step-52
(developed by Bruno Turcksin and Damien Lebrun-Grandie)
explains how to use deal.II's built-in time stepping methods,
including explicit, implicit, and embedded Runge-Kutta methods.

2014/09/02: step-53 shows complex geometries

step-53
demonstrates how to work with the new framework on
deforming meshes contributed by Luca Heltai earlier
this summer. In particular, it shows how to create a
mesh that corresponds to a realistic topography of
eastern Africa, but the techniques shown there are of
course much more broadly applicable.

2014/07/20: deal.II is now hosted
on github

After having used subversion for more than ten years, deal.II
has now moved to a
github
repository to make it simpler for people to
contribute. Links and a brief description of how to get the
development sources from there can be found at the
download page.

2013/12/24: Version 8.1 released

deal.II version 8.1 was released today. A full list of changes can be
found here.
deal.II can be downloaded at
this site.

2013/12/18: step-26 for the heat equation

step-26 fills a long-standing gap: There was no tutorial
program solving the heat equation. There was also no tutorial
showing in relatively easy terms how to do adaptive meshes
in time dependent problems. This program fills both of these
needs.

2013/11/01: step-42 solves an elasto-plastic contact problem

step-42, written by Jörg Frohne, Timo Heister and Wolfgang
Bangerth, shows how to solve an elasto-plastic contact problem.
The program is an extension of step-41 to a much more complex
equation (nonlinear elasto-plasticity) and also demonstrates
how to compute solutions for such problems in parallel.

2013/10/01: step-51 implements an HDG method

step-51, contributed by Martin Kronbichler and Scott Miller,
implements a hybridized discontinuous Galerkin method for the scalar
convection-diffusion equation. The method uses standard DG terms for
describing the element interior but couples the local sub-problems
using face elements. The local contribution is eliminated from the
global linear system by a static condensation process.

2013/07/24: Version 8.0 released

deal.II version 8.0 was released today. This is a major new
release, featuring the conversion of the configuration and
build system to CMake,
support for parallel computations with more than 4 billion
unknowns, and many more. A full list of changes can be
found here.
deal.II can be downloaded at
this site.

2013/06/05: 64-bit version of deal.II

Because the global dof index variables in deal.II were of type
unsigned int, it was not possible to create a dof_handler with more than
4.3 billions of unknowns. The 64-bit version of deal.II uses unsigned long
long int and thus, allows for 18e18 unknowns.

2013/03/07: Build system switched to CMake

After having used Autoconf as the configuration and build system
since the beginning of deal.II in 1997, we have now switched to
CMake. This implementation,
contributed by Matthias Maier of Heidelberg University, has taken
more than half a year, consists of more than 10,000 lines, and
touches every aspect of the installation process. It provides a more
modern interface to and more reliable way of interacting with other
packages. Furthermore, it no longer relies on shell scripts and
therefore integrates more easily with integrated development
environments as well as Microsoft Windows without Cygwin.

2013/02/27: Version 7.3 released

Version 7.3.0 was released today. This release provides one new
tutorial, work on parallel linear algebra, the new FE_Q_DG0 element,
and a large number of enhancements and bug fixes throughout the
entire library. A complete list of new features is
found here.

2012/09/03: Version 7.2 released

Version 7.2.0 was released today. This release provides four
new tutorial programs, a framework for matrix-free
computations, and a large number of enhancements and bug fixes
throughout the entire library. A complete list of new
features is found here.

2012/06/06: step-43 — an efficient solver for
two-phase flow

The step-21 tutorial program was the first program in the
deal.II tutorial to demonstrate the solution of two-phase flow
problems, but it suffered from the fact that it was very
slow. step-43 demonstrates some of the techniques that can be
used to make solvers for such problems more efficient and
accurate.

2012/06/03: New step-15

Step-15 used to be a program that demonstrated techniques for solving
a rather quirky, nonlinear, 1d problem. It was an interesting problem,
but it served little purpose in teaching deal.II or in demonstrating
nonlinear solution techniques. It has now been replaced by a more
illustrative example, contributed in large part by Sven Wetterauer, in
which we solve the nonlinear elliptic minimal surface equation using a
Newton iteration.

2012/05/05: Matrix-free implementation framework

A matrix-free framework has been contributed by Katharina
Kormann and Martin Kronbichler. The implementation is memory
efficient and includes parallelism via MPI for distributed
meshes, threads for shared-memory computations, and usage of
processors' vector units. The two new tutorial programs step-37
(multigrid solver) and step-48 (nonlinear wave equation with
distributed grid) demonstrate the new features.

2012/04/02: step-44 — a finite strain
elasticity solver

step-44, contributed by Andrew McBride and Jean-Paul
Pelteret, demonstrates one approach to modelling large
deformations of nearly-incompressible elastic solids. The
elastic response is governed by a non-linear, hyperelastic
free-energy function. The geometrical response is also
nonlinear, i.e., the program considers finite deformations.

2012/04/02: step-41 solves the obstacle problem

step-41, a program contributed by Jörg Frohne, shows
how to solve the obstacle problem. This problem describes
the deformation of a body subject to an inequality
constraint that arises from the fact that the deformation is
constrained by contact of the body with some external
obstacle. The program uses the primal-dual active set method
to solve this problem.

2011/10/09: Version 7.1 released

Version 7.1.0 was released today. This release provides two
new tutorial programs and many smaller enhancements
throughout the entire library. A complete list of new
features is found here.

2011/10/06: step-32, a massively parallel thermal
convection solver

Long in the making, the step-32 tutorial program
demonstrates how to solve the Boussinesq equations
describing thermal convection on large numbers of
processors.

2011/04/30: step-46 demonstrates coupling different models
on different parts of the domain

step-46 shows how to couple different models defined on subsets of
the domain, in this case Stokes flow around an elastic solid. The
trick here is that variables (here the flow velocity and pressure,
and the solid displacement) do not live on the entire domain, but
only on a part. The point of the program is how to represent this in
source code.

2011/01/09: Version 7.0 released

Version 7.0.0 was released today. This release is a huge step
forward, with several significant new features such as support for
thousands or tens of thousands of processors. A complete list of new
features is found here.

The new step-38 program, contributed by Andrea Bonito and M. Sebastian
Pauletti, shows how to discretize and solve partial differential
equations posed on curved manifolds embedded in higher dimensional
spaces.

2010/12/20: Graphical frontend to edit parameter files

Contributed by Martin Steigemann, deal.II now has Qt based graphical
user interface to edit input parameter files for
the ParameterHandler class. The executable is located in
lib/bin/dealii_parameter_gui.

2010/10/25: New directory and library structure

deal.II has had a somewhat quirky directory and library structure for
historical reasons, but this has now changed: All include and source
files are now under the top-level include/
and source directories. Furthermore, we no longer build a
plethora of libraries but only libdeal_II.g.so (debug
version) and libdeal_II.so (optimized version). In
particular, we no longer build different versions of the library for
different space dimensions.

2010/10/23: Distributed mesh functionality available

After more than 2 years of work by Timo Heister, Martin Kronbichler,
and Wolfgang Bangerth, and with help by Carsten Burstedde, we have
merged a branch on which we have implemented the functionality
necessary to distribute meshes on hundreds, thousands, or more
processors. An overview of the framework
in which this is implemented is presented in a documentation module,
an accompanying paper, as well as in the new step-40 tutorial program.

2010/07/18: Version 6.3.1 released

Version 6.3.1 was released today. This release addresses a number of
problems in release 6.3.0 related to compatibility with certain
compilers, operating systems, and versions of external libraries.
A list of changes between
versions 6.3.0 and 6.3.1 can be found here.

2010/06/25: deal.II on Facebook

We built a facebook page titled deal.II today. Please, feel free
to join us there!

2010/06/25: Version 6.3 released

Version 6.3.0 was released today, containing several new
tutorial programs, a new threading framework and a framework
for assembling linear systems by just providing the local integrals.
A complete list of changes between
versions 6.2.0 and 6.3.0 can be found here.

Using the MeshWorker framework, this program highlights the
fact that loops over meshes are very generic and that
building matrices and level matrices and evaluating error
estimates are really the same task.

2010/06/24: The Meshworker framework has been released

Using its generic loop and the provided auxiliary classes,
this framework relieves the application programmer from coding
loops over cells, faces, and subfaces, such that focus can remain
on implementation of the local integrals.

2010/06/23: step-45 shows periodic boundary
conditions

Contributed by Markus Bürg, the new tutorial program step-45
demonstrates an often requested feature: periodic boundary
conditions.

2010/02/13: New multigrid, new step-16

Over the last few months, the multigrid implementation has seen
significant rewrites, with much of the work done by Bärbel
Janssen. The goal — now achieved — was to finally fully
support multigrid also for continuous finite elements on adaptively
refined meshes (uniformly refined meshes and discontinuous elements
have worked for a long time). As part of this process, step-16 has
been rewritten and now solves the same problem step-6 solves, just
with a multigrid solver.

2009/10/07: step-35 shows the solution of the
Navier-Stokes equations

Step-35, a tutorial program contributed by Abner
Salgado-Gonzalez, shows an implementation of a projection
scheme for the numerical solution of the Navier-Stokes
equations.

2009/07/30: New tutorial program step-36

The new step-36 tutorial program, contributed by Toby D. Young and
Wolfgang Bangerth, shows how to solve eigenvalue problems, using the
Schrödinger equation as an example.

2009/06/05: Version 6.2.1 released

deal.II version 6.2.0 contained a couple of minor but
annoying bugs in its interaction with PETSc. The
documentation package also did not include any typeset
formulas. Release 6.2.1 corrects these mistakes.
A complete list of changes between
versions 6.2.0 and 6.2.1 can be found here.

2009/04/27: Version 6.2 released

Version 6.2.0 was released today!
A complete list of changes between
versions 6.1.0 and 6.2.0 can be found here.

2009/04/14: New tutorial program step-34

step-34, written by Luca Heltai, demonstrates the ability of
deal.II to discretize and solve boundary integral equations
on curved manifolds.

2008/12/05: Support for meshes embedded in
higher dimensions

Based on work by Cataldo Manigrasso and Luca Heltai
developed over the last few months on a branch, deal.II now
supports meshes that are embedded in higher space
dimensions. This allows, for example, to solve equations on
the surface of a sphere (e.g. to use boundary element
methods for exterior problems).

2008/11/14: New tutorial program step-31

The latest tutorial program, step-31, is contributed by
Martin Kronbichler and Wolfgang Bangerth and shows the
solution of the Boussinesq approximation to thermally driven
convection in an incompressible fluid.

2008/09/10: New tutorial program step-28

step-28, contributed by Yaqi Wang, illustrates the solution
of a coupled system of diffusion equations relevant to
nuclear reactor physics where we use different meshes for
different components of a vector-valued solution.

2008/08/21: deal.II now exceeds
of 400,000 lines of code

Since today, deal.II has more than 400,000
lines of code. The rate of growth continues to be close on
par with the 3000 lines of code per month that we have had
over many years already, with no signs of abating activity!

2008/07/08: Support for anisotropic mesh refinement

Contributed by Tobias Leicht as well as Ralf Hartmann, deal.II
now supports anisotropic refinement of meshes. This functionality
is explained in the step-30 tutorial program.

2008/05/28: Version 6.1 released

Version 6.1.0 was released today!
A complete list of changes between
versions 6.0.0 and 6.1.0 can be found here.

2008/05/23: step-33 illustrates the Euler equations

step-33,
a tutorial program written mostly by David Neckels, illustrates how
the Euler equations of compressible inviscid gas dynamics can be
solved. More generally, the program also provides a framework for
the solution of arbitrary hyperbolic, nonlinear conservation laws.

2008/03/28: step-22 demonstrates solving the Stokes
equations

The new step-22
tutorial program, written by Martin Kronbichler and Wolfgang
Bangerth, shows how to solve, and in particular how to solve
efficiently, the Stokes equations that describe viscous
incompressible fluid flow.

2007/10/31: step-29 tutorial program added

Contributed by Moritz Allmaras, the step-29 tutorial program
explains how problems involving complex numbers can be treated in
deal.II. In the example,
the complex-valued solution to a Helmholtz equation is split into
real and imaginary parts and a vector-valued finite element field
is used to discretize them seperately. The program also demonstrates
how quantities derived from the finite element solution can be directly
included in the output by using the new DataPostprocessor
class.

2007/09/07: Version 6.0 released

Version 6.0.0 was released today!
A complete and long list of changes between
versions 5.2.0 and 6.0.0 can be found here.

2007/08/09: step-27 demonstrates hp technology

The new step-27
tutorial program finally demonstrates how to use the
hp finite element technology that has been part of deal.II for some
18 months now. It solves a Laplace equation with hp finite elements
and shows how to set finite element degrees, assemble matrices on
cells with varying polynomial degrees, and how to compute a simple
criterion for estimating the local Sobolev smoothness of a function.

2007/07/16: Wilkinson Prize

The principal authors of deal.II—Wolfgang
Bangerth, Ralf Hartmann and Guido Kanscht—have received the J. H. Wilkinson
Prize for Numerical Software for their creation of and work on
the deal.II library. The prize committee particularly noted the
reliability and usability of the software and the quality of the
documentation.

We want to take the opportunity to thank our user community for their
support over the years that kept us working on this software. We
consider this award motivation to continue this work!

2007/02/09: Support for previously unorientable meshes

Up to now, in 3D only 'orientable' meshes could be used in
deal.II, where all lines are in standard orientation and the
faces can be either in standard orientation or with a
reversed normal. This has been generalized such that now all
hexahedral meshes can be used.

2006/10/30: step-21 is finished

Step-21 demonstrates the time dependent flow of a multiphase fluid
through a porous medium. It is an extension of step-20, using a mixed
formulation and block solvers.

2006/10/03: step-23/24/25 are finished

The step-23, step-24 and step-25 tutorial programs have been added,
demonstrating how to solve the time dependent wave equation
and a nonlinear variant of it, the sine-Gordon equation.

2006/08/24: deal.II is now part of the
SPEC CPU 2006 benchmark

A modified version of the deal.II library and the
step-14 tutorial program has been incorporated into the industry
standard SPEC CPU 2006
benchmark testsuite that is used to determine the speed of
computers. It is part of the floating point testsuite CFP2006 as benchmark
447.dealII.

The inclusion of our software into an industry
standard benchmark testsuite will lead to better support of compilers
and machines for the kind of program we write, in particular for
unstructured hierarchical mesh computations. This will in turn
help make our codes run faster on future systems.

2006/2/12: step-20 is finished

The new step-20 tutorial program shows how to use Raviart-Thomas
elements to solve a mixed formulation of the Laplace equation. It
also demonstrates the use of block matrices and vectors, and how they
can be used to define more complex solvers and preconditioners
working on the Schur complement.

2006/1/3-5: First User Workshop

After 8 years of existence, it was time to have the first user
meeting. During a 3-day workshop held in Heidelberg, topics of
software development, use of deal.II for applications, and future
directions were discussed by about a dozen developers and users.

2005/12/20: hp functionality merged

After the code had been developed and maintained on a branch for 3
years by Oliver Kayser-Herold and Wolfgang Bangerth, it has now been
merged into the main development, and will be available for the next
release.

2005/09/17: Version 5.2 released

Version 5.2.0 was released today!
A complete and long list of changes between
versions 5.1.0 and 5.2.0 can be found here.

2005/09/09: Two more tutorial programs

Two more tutorial programs, step-18 and step-19, are now
available. step-18 shows how to solve time-dependent but quasi-static
elasticity programs in parallel. step-19 demonstrates some data
handling and parameter file techniques.

2005/03/29: deal.II now has a Wiki

Hosted by Luca Heltai, there is now a wiki. See the link from the
deal.II front page. Users of
deal.II are encouraged to visit it, and,
as is usual with wikis, edit pages freely and post their
experiences and code snippets they want others to know about.

2005/03/07: Function parser library integrated

Luca Heltai has contributed code that integrates a third
party function
parser library) that takes a string describing a
mathematical function, and returns an object that can be used in
all places where function objects are used in deal.II.

2004/12/24: Version 5.1 released

Version 5.1.0 was released today!
A complete and long list of changes between
versions 5.0.0 and 5.1.0 can be found here.

2004/10/21: Qr elements of arbitrary order now
support hanging node constraints also in 3d

Lagrange elements previously had hanging node constraint matrices
hard coded in 3d, which were only available for r=1,2. Thanks to
code written by Oliver Kayser-Herold, this information is now
computed on-the-fly, which allows the use of Lagrange elements of
arbitrary order also in 3d on meshes with hanging nodes.

2004/05/25: Version 5.0 released

Version 5.0.0 was released today!
A complete and long list of changes between
versions 4.0.0 and 5.0.0 can be found here.

2004/03/08: Interfaces to PETSc and METIS

In order to support parallel computations, we now have interfaces to
both the PETSc library for sequential and parallel linear algebra,
as well as to the METIS library for domain partitioning.

2004/03/08: MIPSpro compiler version 7.41 supported

deal.II now also supports compilation on SGIs by the MIPSpro
compiler version 7.41.

2003/06/06: Version 4.0 released

After one year, we made it and released Version 4.0.0 today!
A complete list of changes between
versions 3.4.0 and 4.0.0 can be found here.

2003/04/27: deal.II now exceeds
of 200,000 lines of code

Since today, deal.II has now more than 200,000
lines of code. The rate of growth continues to be close to
3000 lines of code per month.

2003/01/24: deal.II runs on AIX 5.1

Using gcc3.2, deal.II can now also be compiled on AIX systems
with the PowerPC chip.

2002/12/18: deal.II runs on Mac OS X 10.2

Some changes have been made to allow compiling and running deal.II on
Mac OS X 10.2 systems.

2002/12/05: Intel ICC 7.0 compiler supported

deal.II now also supports compilation by the recently released
Intel icc 7.0 compiler.

2002/06/28: deal.II 64-bit ready

deal.II also runs on 64-bit systems without changes, as
tests on a Sparc machine with Solaris 9 in 64-bit mode have
shown. We also have reports of people running deal.II on
IA64 systems.

2002/06/06: Version 3.4 released

Today, version 3.4 of the deal.II library
has been released. A complete list of changes between
versions 3.3.0 and 3.4.0 can be found here.

2002/05/22: Intel ECC Itanium compiler now supported

aclocal.m4 has been changed to detect the Intel ECC
compiler for Itanium systems. The ECC compiler can produce
optimized code for Intel's new IA-64 architecture.

2002/03/07: New web home www.dealii.org and new
email addresses

The deal.II homepage has been moved to www.dealii.org. Also the email addresses have been
changed. Though the old web home and the old addresses will
be supported for some time we recommend to adjust the
bookmarks and mail addresses accordingly.

2002/02/01: Version 3.3 released

Today, version 3.3 of the deal.II library
has been released. A complete list of changes between
versions 3.2.0 and 3.3.0 can be found here.

2002/01/31: deal.II now consists
of 160,000 lines of code

All .cc and .h files of
deal.II now sum up to more than 160,000(!)
lines of code. deal.II continues to grow
with a rate almost constant at 3000 lines of code per month.

2001/09/28: Version 3.2 released

After a long phase of implementation and testing, we today
released version 3.2 of the deal.II
library. There are many changes between version 3.1 and
release 3.2. A complete list of these changes can be found
here.

2001/07/06: Compaq's cxx compiler supported

The present development version now also supports
compilation by Compaq's cxx compiler. See the ReadMe
file for more information on using this compiler.

2001/06/28: deal.II 3.1.2 released

Version 3.1.2 is a bug-fix release based on 3.1. A list of
changes between the two versions can be found on
this
page.

2001/05/23: Intel ICC compiler supported

The present development version of the library is now fixed
so that it can also be compiled by
Intel's ICC C++ compiler for Linux.

2001/05/17: deal.II 3.1.1 released

Version 3.1.1 is a bug-fix release based on 3.1. A list of
changes between the two versions can be found on
this
page.

2001/02/26: Support for Subroutines from the Harwell Subroutine
Library (HSL)

The Harwell Subroutine Library (HSL) is a
library that, among much other functionality, offers some
sparse direct solvers. We have added support for an
interface to these solvers to the library.

2001/02/20: Version 3.1 released

After a long testing phase, we today released version 3.1 of
the deal.II library.
There are many changes between version 3.0 and release
3.1. A complete list of these changes can be found
here.

2000/08/07: deal.II 3.0.1

Version 3.0.1 is a bug-fix release based on 3.0. A list of
changes between the two versions can be found on
this
page.
(Announcement)

2000/04/13: deal.II 3.0 announced

Today, after 2½ years of development and testing, the
first public release of the deal.II
library was announced (full text).