An implementation of a linear PDE solver. More...
#include <dumux/linear/pdesolver.hh>
An implementation of a linear PDE solver.
| Assembler | the assembler |
| LinearSolver | the linear solver |
| Comm | the communication object used to communicate with all processes |
Public Types | |
| using | Assembler |
| export the assembler and linear solver types | |
| using | LinearSolver |
| using | Variables |
| export the type of variables that represent a numerical solution | |
Public Member Functions | |
| LinearPDESolver (std::shared_ptr< Assembler > assembler, std::shared_ptr< LinearSolver > linearSolver, const std::string ¶mGroup="") | |
| The Constructor. | |
| void | solve (SolutionVector &uCurrentIter) override |
| Solve a linear PDE system. | |
| void | report (std::ostream &sout=std::cout) const |
| output statistics / report | |
| Scalar | suggestTimeStepSize (Scalar oldTimeStep) const |
| Suggest a new time-step size based on the old time-step size. | |
| void | setVerbose (bool val) |
| Specifies if the solver ought to be chatty. | |
| bool | verbose () const |
| Returns true if the solver ought to be chatty. | |
| const std::string & | paramGroup () const |
| Returns the parameter group. | |
| void | reuseMatrix (bool reuse=true) |
| Set whether the matrix should be reused. | |
| virtual void | solve (Variables &vars)=0 |
| Solve the given PDE system (usually assemble + solve linear system + update). | |
| virtual void | solve (Variables &vars, TimeLoop &timeLoop) |
| Solve the given PDE system with time step control. | |
| const Assembler & | assembler () const |
| Access the assembler. | |
| Assembler & | assembler () |
| Access the assembler. | |
| const LinearSolver & | linearSolver () const |
| Access the linear solver. | |
Protected Member Functions | |
| LinearSolver & | linearSolver () |
| Access the linear solver. | |
| bool | checkSizesOfSubMatrices (const Dune::MultiTypeBlockMatrix< FirstRow, Args... > &matrix) const |
| Helper function to assure the MultiTypeBlockMatrix's sub-blocks have the correct sizes. | |
|
inherited |
export the assembler and linear solver types
|
inherited |
|
inherited |
export the type of variables that represent a numerical solution
|
inline |
The Constructor.
|
inlineinherited |
Access the assembler.
|
inlineinherited |
Access the assembler.
|
inlineprotectedinherited |
Helper function to assure the MultiTypeBlockMatrix's sub-blocks have the correct sizes.
|
inlineprotectedinherited |
Access the linear solver.
|
inlineinherited |
Access the linear solver.
|
inline |
Returns the parameter group.
|
inline |
output statistics / report
|
inline |
Set whether the matrix should be reused.
|
inline |
Specifies if the solver ought to be chatty.
|
inlineoverride |
Solve a linear PDE system.
|
pure virtualinherited |
Solve the given PDE system (usually assemble + solve linear system + update).
| vars | instance of the Variables class representing a numerical solution, defining primary and possibly secondary variables and information on the time level. |
Implemented in Dumux::NewtonSolver< Assembler, LinearSolver, Reassembler, Comm >, and Dumux::NewtonSolver< Assembler, LinearSolver, Reassembler, Comm >.
|
inlinevirtualinherited |
Solve the given PDE system with time step control.
| vars | instance of the Variables class representing a numerical solution |
| timeLoop | a reference to the current time loop |
Reimplemented in Dumux::NewtonSolver< Assembler, LinearSolver, Reassembler, Comm >, Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler, Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >, and Dumux::NewtonSolver< Assembler, LinearSolver, Reassembler, Comm >.
|
inline |
Suggest a new time-step size based on the old time-step size.
|
inline |
Returns true if the solver ought to be chatty.