|
opm-simulators
|
ISTLSolverRuntimeOptionProxy selects the appropriate ISTLSolver runtime based on CLI options. More...
#include <ISTLSolverRuntimeOptionProxy.hpp>
Public Types | |
| using | SparseMatrixAdapter = GetPropType<TypeTag, Properties::SparseMatrixAdapter> |
| using | Vector = GetPropType<TypeTag, Properties::GlobalEqVector> |
| using | Simulator = GetPropType<TypeTag, Properties::Simulator> |
| using | Matrix = typename SparseMatrixAdapter::IstlMatrix |
| using | CommunicationType = Dune::Communication<int> |
| Public Types inherited from Opm::AbstractISTLSolver< GetPropType< TypeTag, Properties::SparseMatrixAdapter >, GetPropType< TypeTag, Properties::GlobalEqVector > > | |
| using | CommunicationType |
| using | Matrix |
Public Member Functions | |
| ISTLSolverRuntimeOptionProxy (const Simulator &simulator, const FlowLinearSolverParameters ¶meters, bool forceSerial=false) | |
| Construct a system solver. | |
| ISTLSolverRuntimeOptionProxy (const Simulator &simulator) | |
| Construct a system solver. | |
| void | eraseMatrix () override |
| Signals that the memory for the matrix internally in the solver could be erased. | |
| void | setActiveSolver (int num) override |
| Set the active solver by its index. | |
| int | numAvailableSolvers () const override |
| Get the number of available solvers. | |
| void | prepare (const SparseMatrixAdapter &M, Vector &b) override |
| void | prepare (const Matrix &M, Vector &b) override |
| void | setResidual (Vector &b) override |
| void | getResidual (Vector &b) const override |
| void | setMatrix (const SparseMatrixAdapter &M) override |
| bool | solve (Vector &x) override |
| int | iterations () const override |
| Get the number of iterations used in the last solve. | |
| const CommunicationType * | comm () const override |
| Get the communication object used by the solver. | |
| int | getSolveCount () const override |
| Get the count of how many times the solver has been called. | |
| Public Member Functions inherited from Opm::AbstractISTLSolver< GetPropType< TypeTag, Properties::SparseMatrixAdapter >, GetPropType< TypeTag, Properties::GlobalEqVector > > | |
| virtual void | prepare (const Matrix &M, GetPropType< TypeTag, Properties::GlobalEqVector > &b)=0 |
| Prepare the solver with the given matrix and right-hand side vector. | |
| virtual void | setResidual (GetPropType< TypeTag, Properties::GlobalEqVector > &b)=0 |
| Set the residual vector. | |
| virtual void | getResidual (GetPropType< TypeTag, Properties::GlobalEqVector > &b) const=0 |
| Get the residual vector. | |
| virtual void | setMatrix (const SparseMatrixAdapter &M)=0 |
| Set the matrix for the solver. | |
| virtual bool | solve (GetPropType< TypeTag, Properties::GlobalEqVector > &x)=0 |
| Solve the system of equations Ax = b. | |
Static Public Member Functions | |
| static void | registerParameters () |
Additional Inherited Members | |
| Static Protected Member Functions inherited from Opm::AbstractISTLSolver< GetPropType< TypeTag, Properties::SparseMatrixAdapter >, GetPropType< TypeTag, Properties::GlobalEqVector > > | |
| static bool | checkConvergence (const Dune::InverseOperatorResult &result, const FlowLinearSolverParameters ¶meters) |
| Check the convergence of the linear solver. | |
ISTLSolverRuntimeOptionProxy selects the appropriate ISTLSolver runtime based on CLI options.
|
inline |
Construct a system solver.
| [in] | simulator | The opm-models simulator object |
| [in] | parameters | Explicit parameters for solver setup, do not read them from command line parameters. |
| [in] | forceSerial | If true, will set up a serial linear solver only, local to the current rank, instead of creating a parallel (MPI distributed) linear solver. |
|
inlineexplicit |
Construct a system solver.
| [in] | simulator | The opm-models simulator object |
|
inlineoverridevirtual |
Get the communication object used by the solver.
This method returns a pointer to the communication object used by the solver.
|
inlineoverridevirtual |
Signals that the memory for the matrix internally in the solver could be erased.
|
inlineoverridevirtual |
Get the count of how many times the solver has been called.
This method returns the number of times the solve() method has been called.
|
inlineoverridevirtual |
Get the number of iterations used in the last solve.
This method returns the number of iterations that the solver performed during the last call to solve().
|
inlineoverridevirtual |
Get the number of available solvers.
|
inlineoverridevirtual |
Set the active solver by its index.
| num | The index of the solver to set as active. |