Dune 2.1.1
Download the Dune 2.1.1 module sources
- dune-common [ tarball: dune-common-2.1.1.tar.gz ]
- dune-grid [ tarball: dune-grid-2.1.1.tar.gz ]
- dune-grid-dev-howto [ tarball: dune-grid-dev-howto-2.1.1.tar.gz ]
- dune-grid-howto [ tarball: dune-grid-howto-2.1.1.tar.gz ]
- dune-istl [ tarball: dune-istl-2.1.1.tar.gz ]
- dune-localfunctions [ tarball: dune-localfunctions-2.1.1.tar.gz ]
DUNE 2.1.1 - Release Notes
- All modules compile with g++ 4.6, improved Clang support.
buildsystem
- dunecontrol improves handling of locally installed modules and modules from SVN.
dune-common
- Fixed nullptr with g++ 4.6.
- Fixed memory leaks in nullptr and className.
dune-grid
Deprecated or removed features
- The methods GmshReader::read(GridType &grid, const std::string &fileName, *) which take a grid object as an argument are deprecated in Dune 2.1.1. These methods are UGGrid-specific quirks.
dune-istl
dune-localfunctions
- Add missing parts of the 3d specialization of RefinedP0LocalFiniteElement. (Thanks to Uli Sack for the patch)
dune-grid-howto
dune-grid-dev-howto
DUNE 2.1 - Release Notes
buildsystem
- The name of dunecontrol’s “resume” file, i.e., the file containing the modules that have not yet been successfully built, can now be specified in the options file (
RESUME_FILE=
filename). - When resuming a previous dunecontrol run, it is now possible to skip the first module (the one that caused the error) by passing
--skipfirst
on the command line. - The configure option
--enable-dunedevel
to activate the Dune-Developer-mode got removed. Additional checks are now enabled whenever compiling without NDEBUG.
dune-common
- The
ConfigParser
code has been split into two parts. The new classParameterTree
handles hierarchies of string parameters. TheParameterTreeParser
class only handles the actual parsing. It behaves similarly to the oldConfigParser
, but with a few additions:- It interprets the string values
yes
andtrue
(case insensitive) as the bool valuetrue
. Before, any non-number was interpreted asfalse
. - It can now read array-valued arguments.The old
ConfigParser
class is deprecated
- It interprets the string values
Deprecated or removed features
- The file
utility.hh
has been renamed totupleutility.hh
. The old file is still there for backward compatibility, but it issues a compile-time warning. - The method
nSetBits
of the classBitSetVector
has been removed. It was already deprecated in Dune 2.0. Please use the methodcount
instead. - The file
smartpointer.hh
, already deprecated in Dune 2.0, has been removed. - The file
helpertemplates.hh
, already deprecated in Dune 2.0, has been removed. - The file
fixedarray.hh
, already deprecated in Dune 2.0, has been removed. - The class
IsTrue
, already deprecated in Dune 2.0, has been removed. - The class
ConfigParser
is deprecated (see above).
dune-grid
- The GridViews now have a method
contains
that tells you whether a given entity of the grid is part of the grid view. This information was previously only available from the index sets. - There is a new helper class
StructuredGridFactory
, which allows to initialize unstructured grids with structured cube and simplex grids. - The gmsh reader can now also handle quadrilaterals, hexahedra, prisms, and pyramids.
- The gmsh reader can now read one-dimensional grids.
- The
subIndex
method in IndexSets is now also available forEntity<cc>
with higher codimensions usingint cc
as template parameter. This implies that grid implementations must also providesubIndex
as a template method instead of the previously possible non-template. - The nonstandard allocator used in the implementation of the generic geometries has been removed. All memory used internally is now allocated on the stack. This should fix a few issues that people have had with multi-threaded programs. It also means that a generic geometry is no longer a reference counting pointer. This might affect performance in a subtle way.
Deprecated or removed features
- The method
Intersection::boundaryId()
has been deprecated. Assignment of data to coarse grid boundary segments should now be done using the boundary index. - All code that still implemented the old (== pre-2.0) numbering of subentities has been removed. This includes the
ReferenceElement
class and related classes and the methodssubIndex<>
,Geometry::operator[]
and a few others. - The methods
intersectionSelfLocal()
,intersectionNeighborLocal()
, andintersectionGlobal()
have been removed from theIntersection
. UsegeometryInInside()
,geometryInOutside()
andgeometry()
instead. - The capabilities
hasHangingNodes
andIsUnstructured
have been removed. - Casting an iterator reference into an EntityPointer reference has been deprecated. An EntityPointer can still be copy constructed from an iterator, though.
- The method
Grid::name()
, already deprecated in Dune 2.0, has been removed. - Copy constructor and assignment operator on the interface class
Intersection
are now protected, as they were never part of the official interface. To copy anIntersection
, theIntersectionIterator
should be copied instead. - Those
read
methods of theGmshReader
that took a grid argument have been marked as deprecated. Reading grid files into existing grid objects was a UGGrid-specific quirk, which has become obsolete. - The
EntityPointer::compactify
method has been deprecated. The idea was stillborn and has been superseded by theEntitySeed
concept.
dune-istl
Deprecated or removed features
- The
ISTLAllocator
class has been deprecated. Default allocator for all ISTL classes is nowstd::allocator
. This does not change the memory allocation behavior. However, allocators are now expected to conform to thestl
interface. - The
BTDMatrix
class can now solve tridiagonal systems with non-scalar matrix blocks.
dune-grid-howto
dune-grid-dev-howto
dune-localfunctions
Known Bugs
- Our drop-in replacement of
std::shared_ptr
differs slightly from the official implementation. WithDune::shared_ptr
only the destructor of the base class A will be called in the following example:
struct A{...};
struct B:public A{...};
void voo()
{
shared_ptr<A> p = shared_ptr<A>(new B);
}
In contrast the shared_ptr
in (std|std::tr1|boost) will call the destructor of B
even if it is not virtual. We intend to resolve this issue only implicitly by eventually discarding our own reimplemention of shared_ptr
:
- The pseudo inverse used in the generic geometries might fail for nearly singular matrices. This is not really a problem unless the grid is nearly degenerate.
A list of all bugs can be found online in our bug-tracker http://www.dune-project.org/flyspray/.
