-
Praetorius, Simon authoredPraetorius, Simon authored
To find the state of this project's repository at the time of any of these versions, check out the tags.
CHANGELOG.md 7.21 KiB
Master (will become release v2.11)
Added
- Add
BasisMapping
to map multi-indices between flat and blocked IMS. - Add block preconditioner for the MTL backend
- Add vector space operations
.axpy
,.aypx
,+=
,-=
,*=
, and scalar assignment to theVectorFacade
class.
Fixed
-
Environment
cannot be copied any more, since this could callPETSc::Finalize
too early.
Release 2.10
Added
- Added wrapper
LocalViewPair
that contains a rwo and columnLocalView
. In case the row/column bases are equal, also the local-views are identical and bound only once. - An
OperatorAdapter
is added that transforms a child-node operator into a root-node operator. - Introduce a dedicated
BoundaryOperator
as a combination of an operator and aBoundarySubset
. - Expression
cross(a,b)
representing the cross-product of two vector expressionsa
andb
. - Add
ComposerVectorGridFunction
, a grid function that is a composition of a vector of other grid functions.
Fixed
- The implicit
{...}
construction inFlatPreBasis
is replaced by an explicit type construction. - The
Notifiers
stores now allObservers
in astd::list
instead of astd::set
. This solved a bug in parallel computations when multiple observers of the same type are registered by pointer but the address was not ordered the same way on all processors. - Remove all occurrences of
CollectiveCommunication
since it is removed in dune grid
Changed
- The
TYPEOF
macro now uses GCCs__typeof__
intrinsic if available. - The methods
create()
inside ofISTLPreconCreator
andISTLSolverCreator
are renamed intocreatePrecon
andcreateSolver
. - The
insall_all_dune_modules.sh
script now adds more debug flags to the createddebug.opts
file. - The external dependency
fmtlib
is updated to version 9 and is now provided using cmakesFetchContent
utility. - Do not use the deprecated
sizeInfo
from dune-functions, but pass a basis directly. -
OperatorList
is now calledAssembler
and is simplified. No nestedMatrixTreeContainer
anymore, but all operators are now attached to the root-node.
Removed
- The artificial range
range_t
is removed in favor ofDune::StaticIntegralRange
. - Dependency to
Dune::Std::apply
is removed. Usestd::apply
directly. -
TreeContainer
is removed in favor of theDune::TypeTreeTreeContainer
implementation.
Release 2.9
Added
- Added new implementations of function interpolation:
SimplexInterpolation
,AverageInterpolation
, andLocalAverageInterpolation
. To decide how to interpolate, anInterpolatorFactory
is provided that accepts the interpolation tag liketag::assign
ortag::average
. - Add a free function
interpolate<tag>(basis,coeff,f)
that calls the interpolators based on the giventag
. The default tag istag::assign
. - A new adaptive container and GridFunction is added:
ElementVector
andElementGridFunction
that represent element-wise constant values. - Add helper class
OptionalNoCopy
that represents astd::optional
that does not copy the stored object on copy/move operations. - Add
gradientOf
,divergenceOf
andpartialDerivativeOf
as friend function toDOFVector
. - Provide a function
entitySet(basis)
andbasis.entitySet()
that defines the set of entities the basis can be bound to. This set is typically related to the linear-algebra backend traits'PartitionSet
. - Make the function
ProblemInstat::oldSolutionVector()
also available with mutable access. - A data transfer strategy based on a simple caching and interpolation is added, called
SimpleDataTransfer
. It can be selected with the datatranser tagtag::simple_datatransfer
. Note, this datatransfer is restricted to grids with a single GeometryType. - Add scalar grid operations
tanh(value)
andsignum(value)
- Add
MatrixBackend::zeroRows()
andMatrixBackend::zeroRowsColumns()
to eliminate rows (and columns) in the matrix and optionally set a diagonal element or adapt the passed vectors.
Fixed
- Corrected a bug that emerged in the copy of
LocalView
, by removing the self-defined copy and move operations and instead relying on the rule-of-zero. - Fix issue #14 (closed) with a wrong dimension used in the
checkInside
function inDataTransfer
. - Fix implementation of local operator
SecondOrderDivTestvecDivTrialvec
. - Use
comm()
fromGridView
for domain decomposition, instead of a global communicator.
Changed
- Mark
makeTreePath
andtreePathIndex
asconstexpr
. - Print timings in
ProblemStat
only for log-level >= 2 - The quadrature order of local-functions in the
GridFunctionOperator
is now determined by taking into account the user-specified polynomial order first and second the derived polynomial of the expression. This allows to manually increase the quadrature order of an operator term. - Remove a specialization of
Underlying_t
and only remove top-levelconst
qualifiers instead of allconst
qualifiers. - Change the constructor of
DiscreteFunction
to allow references and smart pointers to be passed for the coefficient vector and global basis. - Make
valueOf
a friend function ofDOFVector
. - Traversal in interpolators and assemblers is replaced by the new introduced
entitySet()
function. - Make the
DataTransfer
a customization point by providing a classDataTransferFactory
that can be specialized with a<tag>
and must implement acreate(basis,coefficients)
static function. - Replace
Communication
byIndexDistribution
in the backends and incorporate theDOFMapping
directly into PETSc's index distribution. TheGlobalBasis
provides the methodindexDistribution()
instead ofcomm()
. - Specialize the
IndexDistribution
over theGridView::CollectiveCommunication
to decide whether to use sequential or parallel index distributions. - Pass the
IndexDistribution
directly to theMatrixBackend
andVectorBackend
. -
DirichletBC
can now be set to different row and column indices (offdiagonal blocks).
Removed
- Specialization of
GlobalIdSet
forDune::Functions::TaylorHoodPreBasis
is removed since this pre-basis is just for illustration. - The helper class
MacroGridFactory
is removed, since a proper specialization for theStructuredGridFactory<AlbertaGrid>
is now available in dune-grid. - Utility
functionFromCallable
is removed. It was used for backward compatibility with older interpolate functions. dune-localfunctions now supports callables. - Backward-compatibility utilities in
Nodes.hpp
are removed now. - Remove
order()
function fromPower
operation. - Constructor of
DiscreteFunction
that takes aDOFVector
is removed. - Function
Constraints::dirichletBC()
anddirichletBC()
function is removed in favor ofMatrixBackend::zeroRows()
andMatrixBackend::zeroRowsColumns()
.
Release 2.8
- Restructuring of local operators. Introduce (global)
Operator
class and use type-erasure for the storage ofLocalOperator
s in the operator list. In theGridFunctionLocalOperator
the local-function is passed to theassemble()
method directly. - Move recursive algorithms to subdirectoy
amdis/algorithm/
- Rename
Recursive::Apply
intoRecursive::Map
Release v0.3
See release notes on https://gitlab.com/amdis/amdis/-/releases/v0.3