DUNE PDELab (unstable)
Solve linear problems using a residual formulation. More...
#include <dune/pdelab/stationary/linearproblem.hh>
Public Member Functions | |
| StationaryLinearProblemSolver (const GO &go, LS &ls, V &x, const ParameterTree ¶ms) | |
| Construct a StationaryLinearProblemSolver for the given objects and read parameters from a ParameterTree. More... | |
| StationaryLinearProblemSolver (const GO &go, LS &ls, const ParameterTree ¶ms) | |
| Construct a StationaryLinearProblemSolver for the given objects and read parameters from a ParameterTree. More... | |
| void | setHangingNodeModifications (bool b) |
| Set whether the solver should apply the necessary transformations for calculations on hanging nodes. | |
| bool | hangingNodeModifications () const |
| Return whether the solver performs the necessary transformations for calculations on hanging nodes. | |
| void | setKeepMatrix (bool b) |
| Set whether the jacobian matrix should be kept across calls to apply(). | |
| bool | keepMatrix () const |
| Return whether the jacobian matrix is kept across calls to apply(). | |
| const Result & | result () const |
| Return result object. | |
| void | apply (V &x, bool reuse_matrix=false) |
| Solve linear problem with the provided initial guess. | |
| void | apply (bool reuse_matrix=false) |
| Solve linear problem (use initial guess that was passed at construction) | |
| void | discardMatrix () |
| Discard the stored Jacobian matrix. | |
Detailed Description
class Dune::PDELab::StationaryLinearProblemSolver< GO, LS, V >
Solve linear problems using a residual formulation.
This work for matrix based and matrix free solvers. It uses a residual formulation solving \(r(u,v)=0\) instead of solving \(a(u,v)=l(v)\). In the matrix based case this means doing the following:
- Calculate residual: r = A z_0-b
- Solve: A z_u = r
- Update: z = z_0 - z_u
Constructor & Destructor Documentation
◆ StationaryLinearProblemSolver() [1/2]
|
inline |
Construct a StationaryLinearProblemSolver for the given objects and read parameters from a ParameterTree.
This constructor reads the parameter controlling its operation from a passed-in ParameterTree instead of requiring the user to specify all of them as individual constructor parameters. Currently the following parameters are read:
| Name | Default Value | Explanation |
|---|---|---|
| reduction | Required relative defect reduction | |
| min_defect | 1e-99 | minimum absolute defect at which to stop |
| hanging_node_modifications | false | perform required transformations for hanging nodes |
| keep_matrix | true | keep matrix between calls to apply() (but reassemble values every time) |
| verbosity | 1 | control amount of debug output |
Apart from reduction, all parameters have a default value and are optional. The actual reduction for a call to apply() is calculated as r = max(reduction,min_defect/start_defect), where start defect is the norm of the residual of x.
◆ StationaryLinearProblemSolver() [2/2]
|
inline |
Construct a StationaryLinearProblemSolver for the given objects and read parameters from a ParameterTree.
This constructor reads the parameter controlling its operation from a passed-in ParameterTree instead of requiring the user to specify all of them as individual constructor parameters. Currently the following parameters are read:
| Name | Default Value | Explanation |
|---|---|---|
| reduction | Required relative defect reduction | |
| min_defect | 1e-99 | minimum absolute defect at which to stop |
| hanging_node_modifications | false | perform required transformations for hanging nodes |
| keep_matrix | true | keep matrix between calls to apply() (but reassemble values every time) |
| verbosity | 1 | control amount of debug output |
Apart from reduction, all parameters have a default value and are optional. The actual reduction for a call to apply() is calculated as r = max(reduction,min_defect/start_defect), where start defect is the norm of the residual of x.
The documentation for this class was generated from the following file:
- dune/pdelab/stationary/linearproblem.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden & Uni Heidelberg |
generated with Hugo v0.111.3
(Oct 19, 22:34, 2025)