Skip to content
Snippets Groups Projects
Commit c01388ef authored by graeser's avatar graeser Committed by graeser
Browse files

Add todo list

[[Imported from SVN: r5909]]
parent 4998d932
No related branches found
No related tags found
No related merge requests found
TODO 0 → 100644
# Bugs
* ProjectedBlockGSStep does nothing for a whole block if there are
zero diagonal entries in the diagonal block.
One would expect that it solves the system for the reduced
block containing the block rows with nonzero diagonal entry
in this case.
* MultigridStep is not robust wrt setup order.
# Performance issues
* BlockGSStep and the derived classes loop over each row twice.
Once for computing the residual, once for finding the diagonal entry.
This could be done in one loop.
* The ProjectedBlockGSStep 'solves' the local obstacle problems
by a local projected GS with a fixed number of 20 iteration steps.
For scalar valued problems one would be enough. Even for vector valued
problems one might still be OK but much cheaper. (Does this have any
performance impact on linear elasticity problems?)
# Design issues
* Implement (P)CG as IterationStep for the LoopSolver
* Make all public member variables protected and introduce public methods for access.
* Use references instead of pointers as member function arguments.
* Move stuff done in MultigridStep::setNumberOfLevels() into preprocess().
* Make handling solution vector in IterationStep consistent:
Either provide a const reference, store a copy and give (reference)
access to this copy using getSol() or provide a (nonsonst) reference,
store the solution there and make getSol() return this reference
and no copy.
(C: I'd prefer the latter to reduce the number of vector copies).
* Make setting up a MultigridStep easier. E.g. by providing a default
version that is preconfigured with GS smoother and coarse grid solver.
* Remove MultigridStep::setNumberOfLevels(), this number is already
fixed by the size of the transfer operator vector.
# Naming of classes and members
* ignoreNodes_ should be called ignore_/ignoreIndices_/ignoreComponents_
# Missing features
* Transfer operator assembler for adaptively refined grids (without refinementtype=copy)
This is already implemented in dune-fufem. It could be moved here if the
dependency on P1NodalBasis is removed.
* Nested iteration for ObstacleTNNMGStep.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment