CHANGELOG dune-istl 2.10.0
Download the Dune 2.10.0 module sources
- dune-istl [ tarball: dune-istl-2.10.0.tar.gz , signature: dune-istl-2.10.0.tar.gz.asc ]
Release 2.10
-
Improve testing support on Laplacian matrices with an optional diagonal regularization parameter.
-
Base the implementation of
VariableBlockVector
onstd::vector
as the storage type. Note that this prevents from usingbool
as block type that was possible before. -
A method
BCRSMatrix::setIndicesNoSort()
was added. Similar toBCRSMatrix::setIndices()
this allows to insert all indices of a row at once, but - incontrast to the latter - does not sort them. This allows to speed up insertion if indices are already sorted. -
UMFPACK
is extended to arbitrary blocked matrix structures. This includesMultiTypeBlockMatrix
. The external interface is unchanged. However, internally theBCCSMatrixInitializer
is replaced by direct calls offlatMatrixForEach
similar toCholmod
. This requires a compatible vector field of “ignored” degrees of freedom. The methodsetSubMatrix
with a top-level index set is preserved for compatibility. -
The internal storage in
MatrixIndexSet
was changed fromstd::set
to a sortedstd::vector
(with astd::set
fallback for very dense rows) to improve performance. The stored index type was changed fromstd::size_t
touint32_t
to reduce memory consumption and improve performance. Hence,MatrixIndexSet
can no longer be used for very large matrices with more than 2^32 columns. -
Added flag ‘useFixedOrder’ to the coarsen method of AMGs ParallelIndicesCoarsener. If set to true, during the creation of the coarser matrix (by accumulation and restriction to fewer processes) the coarse matrix rows are ordered in a fixed manner, making parallel runs reproducible; the runtime is possibly not ideal though. If set to false (which is the default), the row order depends on the order of messages received from the processes responsible for the respective parts of the finer grid. Then the indices on the coarser grid may differ from run to run.
-
Define
field_type
andreal_type
inMultiTypeBlock[Matrix|Vector]
only if a common type of these types exist over all blocks in the container. Otherwise it is defined asStd::nonesuch
.
Deprecations and removals
-
The deprecated CMake variables
SUPERLU_INCLUDE_DIRS
,SUPERLU_LIBRARIES
,SUPERLU_DUNE_COMPILE_FLAGS
, andSUPERLU_DUNE_LIBRARIES
are removed, they are replaced by the targetSuperLU::SuperLU
. -
Multiple containers no longer provide the deprecated member function
blocklevel
. Use the free functionblockLevel()
. -
Removed deprecated function
initSolverFactories()
, useinitSolverFactories<O>
instead. -
Removed deprecated
MultyTypeBlockMatrix::size()
, useN()
instead. -
Removed deprecated
MultyTypeBlockVector::count()
, useN()
instead. -
Deprecated
writeSVGMatrix
withstd::stream
as the second argument. Use the method withstd::stream
as the first argument.