DUNE Changelog

What's new in DUNE 2.2.1

Mar 6, 2013
  • Build system:
  • Fixed test for support of __attribute__((unused))
  • Support for automake 1.13 (FS 1243)
  • Made dunecontrol faster
  • dunecontrol can handle multiple installed dune-common modules (FS 1250)
  • dunecontrol has better support for suggestions
  • Build system finds ParMETIS 4.0.2 (FS 1163)
  • Out-of-source builds of the documentation are supported now.
  • dune-common:
  • Fixed warnings about unused typedefs.
  • More standard compliant shared_ptr implementation usable with gcc-4.1.
  • More standard compliant nullptr implementation
  • Fixed illegal forward declaration of std::pair (FS 1121)
  • Fixed infinity norm of NaN matrices (FS 1147)
  • The infinity_norm of a DenseVector returns NaN if one of its entries is NaN (FS 1147)
  • Improved support for clang compiler
  • dune-geometry:
  • Improved support for clang compiler
  • Fixed compilation for zero-dimensional grids
  • dune-grid:
  • Better support for clang
  • Detect and support alberta grid configured with --disable-graphics
  • Fixed compilation of gmsh2dgf FS 929)
  • UGGrid switched to using static_cast from C-style casts.
  • Fixed support of UG with gcc 4.6.3 on OpenSuse 11.3 (FS 1142)
  • Fixed ALUGridFactory on MacOS.
  • Allow compilation of subsequent modules with -D if dune-grid is not used (FS 1203)
  • dune-istl:
  • Reduced warnings when compiling with clang.
  • We now use template to qualify member templates of class templates (FS 1251).
  • We now always initialize data memory in BCRSMatrix (FS 1041)
  • Improved support for std::complex in Krylov solvers.
  • Fixed dbgs implementation (FS 1170)
  • Fixed wrong assertion in matMultTransposeMult (FS 1171)
  • FieldMatrix can now be constructed from a DiagonalMatrix
  • AMG now detects Dirichlet boundary conditions and updates the left hand side x during pre such that A_dd*x_d=b_d holds.
  • Allow setting setSkipIsolated(true) in AMG's coarsening criterion.
  • Fixed call of METIS function.

New in DUNE 2.0 (Apr 26, 2010)

  • A new module dune-localfunctions was introduced. This package brings a new interface for finite element shape functions to DUNE and it will in the future become a DUNE core module.
  • buildsystem:
  • The Doxygen style files are now automatically generated from the sources in dune-common/dune-web. If present, you should remove the following files from your repository: doc/doxygen/doxy-footer.* doc/doxygen/doxy-header.* doc/doxygen/dune-doxy.css
  • The wml based html generation does now use the layout files from dune-common. If present, you should remove the following files from your module: doc/.wmlrc doc/layout/* If you remove the layout directory remember to update the configure.ac and doc/Makefile.am accordingly.
  • It is now possible to do out-of-source builds. For this, pass the option --build-dir to the configure command.
  • dune-common:
  • The dunecontrol program now has an option --resume which allows to continue an interupted build run in the first unbuild module. During debugging, this can decrease your build time considerably. Nice!
  • Deprecated or removed features:
  • The file bitfield.hh, already deprecated in 1.2, has been removed. Use bitsetvector.hh or std::vector instead.
  • The file stack.hh and class Stack, already deprecated in 1.2, have been removed. Please use std::stack instead.
  • The class DoubleLinkedList, already deprecated in 1.2, has been removed. Please use std::list instead.
  • The file fixedarray.hh has been renamed to array.hh. That way the file has the same name as the class it contains. The old file is still there for backward compatibility.
  • The type trait EnableIf has been removed. Please use enable_if instead.
  • A new smart pointer implementation shared_ptr (in shared_ptr.hh) has been added, which will replace SmartPointer. The new class reimplements the stl shared_ptr. Beware of the following differences when transitioning from SmartPointer to shared_ptr: o the type SmartPointer::MemberType becomes shared_ptr::element_type, o the method SmartPointer::count() becomes shared_ptr::use_count(), o The default constructor of SmartPointer allocates an element, and hence returns a dereferenceable pointer. Default-constructing a shared_ptr instead creates a pointer pointing to NULL. Hence, if you rely on the SmartPointer default constructor allocating memory, THIS CHANGE WILL BREAK YOUR CODE!
  • The class CompileTimeChecker, already deprecated in 1.2, has been removed. Please use dune_static_assert instead.
  • The header dune/common/helpertemplates.hh and with it the classes Derived_from, Can_copy, Can_compare, Can_multiply are deprecated and will be removed in one of the following releases
  • dune-grid:
  • You can now import grids and boundary description from gmsh. Gmsh is an open source grid generator and CAD engine. Gmsh reading is supported for all grid that implement the GridFactory.
  • Considerable progress has been made on the parallel features of UGGrid. Special thanks go to Andreas Lauser for this. The following things should be working now. o Static load balancing o Level iterators for all partition types o Communication for vertex data with constant and variable data size per vertex (for the interfaces InteriorBorder_All and InteriorBorder_InteriorBorder) o CollectiveCommunication o The GlobalIdSet
  • The IndexSet classes now have a method subIndex where the codimension of the subentity can be given at run-time. Previously the codimension had to be a static parameter. The same holds for the subId method in IdSet, and the map methods in the various mapper classes.
  • The geometry class now has a method jacobianTransposed that returns the transposed of the Jacobian (i.e., tangential vectors are in the matrix rows).
  • The methods intersectionGlobal, intersectionSelfLocal and intersectionNeighborLocal on the intersection have been renamed to geometry, geometryInInside and geometryInOutside.
  • We introduced a new numbering of the subentities of the reference elements. The reason is that the new numbering is more consistent and generalizes more easily to higher dimensions. Warning: This change may affect your code in subtle ways if you depend on a particular numbering! We have assembled a transition page with the technical details.
  • The methods numberInSelf and numberInNeighbor have been renamed to indexInInside and indexInOutside, respectively. The meaning of the return value has changed; now it returns the index with respect to the generic reference element.
  • The methods overlapSize and ghostSize are now available on grid views.
  • A new grid implementation, the GeometryGrid, has been added. It wraps any other DUNE grid and replaces the geometry by a generic one. It can, for example, be used to transform a 2d Cartesian grid into a helix. Have a look a the documentation for more information.
  • Intersections with the domain boundary now provide a boundary segment index, which is unique within the macro grid. Children of boundary segments inherit this index from their father. The index starts at zero is consecutive and the maximum number is returned by the method numBoundarySegments on the grid.
  • A few new methods have been added to the interface (see the documentation for details): o Entity::hasFather() o Geometry::center() o Intersection::centerUnitOuterNormal()
  • The GridFactory class has been extended to include methods which map a given entity (codimension equal to zero or dimension) to the order in which it was inserted. This makes it possible to easily attach data to a dune grid after creation through the grid factory.
  • The --with-grid-type, --with-grid-dim, and --with-world-dim flags have been removed from the dunecontrol process. The required CXXFLAGS for using gridtype.hh are now always available. The consequence is that no default can be prescibed during the build process and also no default is set in the gridtype.hh header. Thus the GRIDTYPE and GRIDDIM variables have to be set either in Makefile.am or during the call to make. For programms using gridtype.hh, which are made during the build process, these variables have to be set in Makefile.am. As before WORLDDIM defaults to GRIDDIM.
  • Objects of type OneDGrid can now be created using the GridFactory.
  • Deprecated or removed features:
  • The method Geometry::checkInside has been deprecated. The same functionality is now available from the GenericReferenceElements.
  • The dimworld template parameter has been removed from YaspGrid. It was there for historical reasons only and had already been deprecated in the 1.2 release.
  • The class IntersectionGetter has been removed. With the new GridView mechanism it is not necessary anymore.
  • The IndexSet classes do not provide iterators over the grid any more. This feature had been deprecated in 1.2. Now it is gone for good.
  • In 1.2, several methods and exported types of the IntersectionIterator class have been deprecated there and moved to the Intersection class. These methods have now been removed from IntersectionIterator.
  • The method Grid::name has been deprecated.
  • dune-istl:
  • A new matrix class BTDMatrix has been added. It allows to store tridiagonal matrices and solve tridiagonal linear problems in linear time.
  • dune-grid-howto:
  • A new example of a Finite-Element code for the Poisson equation was added.

New in DUNE 1.2.2 (Jan 18, 2010)

  • dune-common
  • Set dimension to 3 in GeometryType::makePyramid and GeometryType::makePrism.
  • Add method mtv to FieldMatrix.
  • Fix FieldMatrix::determinant.
  • Make duneproject query dependencies on second try.
  • Add support for headercheck_IGNORE.
  • dune-grid
  • Add a configure-switch to enable iterators on index sets (by default, they are now disabled).
  • Fix typedef for Entity in iterators of higher codmension.
  • Correctly store codimension information in GenericReferenceElement.
  • Relax comparisons in DGFParser when removing duplicate vertices introduced by interval blocks. This allows to read finer meshes.
  • Fixed several problems in SubSamplingVTKWriter including triangulation of hypercubes and connectivity information in appended data sections.
  • Make default implementation of IndexSet::contains compile when iterators are absent from index set and implement the method for all grid implementations in dune-grid.
  • Fixed higher codimension and Ghost_Partition iterators for AlbertaGrid.
  • Corrected return type of AlbertaGrid::globalRefine to void.
  • Remove some warnings from OneDGrid.
  • dune-istl
  • Fix MPITraits for bigunsignedint.

New in DUNE 1.1.1 (Nov 27, 2008)

  • dune-common:
  • make the code compile with g++-4.3.x
  • the files lapack.m4 and pardiso.m4 were missing
  • small documentation bug fixes
  • dune-grid:
  • make the code compile with g++-4.3.x
  • bug fixes in VTKWriter
  • bug fix in Grape visualisation
  • small bug fixes in ALUGrid (inside asserts)
  • dune-istl:
  • make the code compile with g++-4.3.x