Dune 1.2.0

Download the Dune 1.2.0 module sources

DUNE 1.2 - Release Notes

Warning: Many things have been marked deprecated. However note that class deprecation is buggy in all versions of gcc prior to 4.3.

dune-common

buildsystem

  • Module name, version and dependencies are automatically extracted from the dune.module file. Please remove the AC_INIT(...) entry from configure.ac of your modules and use DUNE_AC_INIT instead.
  • The update-libs mechanism is removed from dune-common, as its use was really limited and it introduced certain problems. Please update your Makefile.am files if you were using this make trick. All foo_DEPENDENCIES = $(LOCAL_LIBS) entries must be removed.
  • All modules should specify a version. The version is of the form M.m.r, with major version M, minor version m and revision r. In common/version.hh macros are provided to test on a certain version version of a module during the preprocessor run.
  • The is now a document describing the build system. It is distributed as part of dune-common.

application programming interface

  • The class FixedArray, deprecated in DUNE 1.1, has been removed. Please use array instead.
  • The class Array, deprecated in DUNE 1.1, has been removed.
  • The class RemoveConst, deprecated in DUNE 1.1, has been removed. Please use remove_const instead, which conforms with the STL implementation.
  • The class SameType, deprecated in DUNE 1.1, has been removed. Please use same_type instead, which conforms with the STL implementation.
  • The classes CompileTimeChecker and IsTrue are deprecated. For static assertions use the new macro dune_static_assert which mimics the upcoming new static_assert language feature.
  • The class Stack has been deprecated. Please use std::stack instead.
  • The class FiniteStack has been moved to its own header finitestack.hh.
  • A new class BitSetVector has been added to dune-common. It provides an efficient implementation of a dynamic array of static arrays of booleans. It supersedes BitField, which has been deprecated.

dune-grid

  • Support for isoparametric elements has been removed from UGGrid. The feature will reappear eventually in form of a meta grid.
  • The constructor of UGGrid taking two integer arguments (heapSize and envHeapSize) had been deprecated in Dune 1.1, as the environment heap size is now handled automatically by UG. It is now entirely removed.
  • UGGrid now numbers its level 0 vertices in the order they were inserted into the grid factory. This allows to import vertex data from files.
  • The dimworld template parameter has been removed from YaspGrid. It was there for historical reasons only. For a transition period the second parameter is still there, but with a default value. That way old code still compiles.
  • AlbertaGrid now supports ALBERTA 2.0.
  • Since ALBERTA supports only a fixed dimension of world (which can be changed by a preprocessor macro), the dimworld template parameter is being removed from AlbertaGrid, too. For compatibility, the template parameter still exists and defaults to the only correct value.
  • IndexSets now use unsigned int instead of int to return indices. The type is exported as IndexType and may become grid-implementation-specific in the future.
  • GridParts have been deprecated. They are replaced by grid dependent GridViews providing basically the same functionality. As a consequence, IndexSets do not provide iterators anymore (though this can be re-enabled for a transition phase).
  • The methods wasRefined() and mightBeCoarsened() have been renamed to isNew() and mightVanish(), respectively. We think that the new names capture the semantics of the methods better. The old methods are still there, but they are deprecated.
  • A generic implementation for geometries and reference elements has been added. Sadly though, the generic reference elements do not match the current reference elements and renumbering is required for now.
  • The method operator[] of the class Geometry has been marked deprecated. It is replaced by the method corner. Note that corner returns a copy of the corner coordinates instead of a reference to them. Moreover, corner numbers the corners in the same way as the generic reference element. This numbering differs for pyramids and prisms.
  • The class Intersection also received a method type, returning the GeometryType of the intersection.

dune-istl

  • Finally dune-istl has an implementation of the restarted GMRES.
  • AMG works for sparse block matrices with an unsymmetric sparsity pattern.
  • New Constructor for RemoteIndices which takes a set of prospective ids of processors we might need to exchange information with. If specified this will prevent exchanging information with all processors in a ring (O(P) complexity in RemoteIdices::rebuild) and therefore speedup the rebuild for large processor numbers.
  • Parallel solvers tested on IBMs Blue Gene / P with up to 4096 processors.
  • A block diagonal matrix (DiagonalMatrix) was added.

dune-grid-dev-howto

This new module has been added to the list of core modules. It is intended to contain a tutorial on how to implement grid implementations. No text exists yet, however, there is an example grid implementation. It is called IdentityGrid and wraps a given DUNE grid. It hence does not have any functionality itself but it contains all the boilerplate code you need for a grid implementation.

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Mar 28, 23:25, 2024)