Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
dune-solvers
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
agnumpde
dune-solvers
Commits
cb29a2fb
Commit
cb29a2fb
authored
13 years ago
by
graeser
Committed by
graeser
13 years ago
Browse files
Options
Downloads
Patches
Plain Diff
More things to be done
[[Imported from SVN: r5917]]
parent
c01388ef
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
TODO
+29
-5
29 additions, 5 deletions
TODO
with
29 additions
and
5 deletions
TODO
+
29
−
5
View file @
cb29a2fb
# Bugs
# ToDo
## Bugs
These issues are not real bugs, but unexpected behaviour that might
lead to serious trouble if you're not aware of.
* ProjectedBlockGSStep does nothing for a whole block if there are
* ProjectedBlockGSStep does nothing for a whole block if there are
zero diagonal entries in the diagonal block.
zero diagonal entries in the diagonal block.
...
@@ -9,7 +14,10 @@
...
@@ -9,7 +14,10 @@
# Performance issues
## Performance issues
While a suboptimal implementation might be OK, if it is cleaner
and more readable these issues may decrease the performance
without any again.
* BlockGSStep and the derived classes loop over each row twice.
* BlockGSStep and the derived classes loop over each row twice.
Once for computing the residual, once for finding the diagonal entry.
Once for computing the residual, once for finding the diagonal entry.
...
@@ -22,7 +30,9 @@
...
@@ -22,7 +30,9 @@
# Design issues
## Design issues
Things that could be improved to make dune-solvers easier to use, understand,
and maintain.
* Implement (P)CG as IterationStep for the LoopSolver
* Implement (P)CG as IterationStep for the LoopSolver
* Make all public member variables protected and introduce public methods for access.
* Make all public member variables protected and introduce public methods for access.
...
@@ -38,19 +48,33 @@
...
@@ -38,19 +48,33 @@
version that is preconfigured with GS smoother and coarse grid solver.
version that is preconfigured with GS smoother and coarse grid solver.
* Remove MultigridStep::setNumberOfLevels(), this number is already
* Remove MultigridStep::setNumberOfLevels(), this number is already
fixed by the size of the transfer operator vector.
fixed by the size of the transfer operator vector.
* MultigridStep hides member names from the base class by reusing
them for different things
* MultigridStep works differently on the finest and the other
levels. On the finest, the smoother is used with the rhs of
the linear system and the current iterate as initial value
to compute the new iterate. On the coarse levels it is used to
solve the defect system approximately, i.e., it computes a
correction with the residual and zero initial value.
This should be unified or at least documented.
Computing corrections also on the finest level might allow
to solve systems really up to machine accuracy sice you
have more digits for the correction.
# Naming of classes and members
#
# Naming of classes and members
* ignoreNodes_ should be called ignore_/ignoreIndices_/ignoreComponents_
* ignoreNodes_ should be called ignore_/ignoreIndices_/ignoreComponents_
# Missing features
## Missing features
A wish list for features that would be very welcome.
* Transfer operator assembler for adaptively refined grids (without refinementtype=copy)
* Transfer operator assembler for adaptively refined grids (without refinementtype=copy)
This is already implemented in dune-fufem. It could be moved here if the
This is already implemented in dune-fufem. It could be moved here if the
dependency on P1NodalBasis is removed.
dependency on P1NodalBasis is removed.
* Nested iteration for ObstacleTNNMGStep.
* Nested iteration for ObstacleTNNMGStep.
* An interface to add custom output and termination criteria to the LoopSolver.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment