This class solves the fully implicit black-oil system by solving the reduced system (after eliminating well variables) as a block-structured matrix (one block for all cell variables) for a fixed number of cell variables np .
More...
|
| | ISTLSolverGpuBridge (const Simulator &simulator, const FlowLinearSolverParameters ¶meters) |
| | Construct a system solver. More...
|
| |
| | ISTLSolverGpuBridge (const Simulator &simulator) |
| | Construct a system solver. More...
|
| |
|
void | initializeGpu () |
| |
|
void | prepare (const Matrix &M, Vector &b) |
| |
|
void | setResidual (Vector &) |
| |
|
void | getResidual (Vector &b) const |
| |
|
void | setMatrix (const SparseMatrixAdapter &) |
| |
|
bool | solve (Vector &x) |
| |
| | ISTLSolver (const Simulator &simulator, const FlowLinearSolverParameters ¶meters, bool forceSerial=false) |
| | Construct a system solver. More...
|
| |
| | ISTLSolver (const Simulator &simulator) |
| | Construct a system solver. More...
|
| |
|
void | initialize () |
| |
| void | eraseMatrix () override |
| | Signals that the memory for the matrix internally in the solver could be erased. More...
|
| |
| void | setActiveSolver (const int num) override |
| | Set the active solver by its index. More...
|
| |
| int | numAvailableSolvers () const override |
| | Get the number of available solvers. More...
|
| |
|
void | initPrepare (const Matrix &M, Vector &b) |
| |
|
void | prepare (const SparseMatrixAdapter &M, Vector &b) override |
| |
|
void | prepare (const Matrix &M, Vector &b) override |
| |
|
void | setResidual (Vector &) override |
| |
|
void | getResidual (Vector &b) const override |
| |
|
void | setMatrix (const SparseMatrixAdapter &) override |
| |
| int | getSolveCount () const override |
| | Get the count of how many times the solver has been called. More...
|
| |
|
void | resetSolveCount () |
| |
|
bool | solve (Vector &x) override |
| |
| int | iterations () const override |
| | Solve the system of linear equations Ax = b, with A being the combined derivative matrix of the residual and b being the residual itself. More...
|
| |
| const std::any & | parallelInformation () const |
| |
| const CommunicationType * | comm () const override |
| | Get the communication object used by the solver. More...
|
| |
|
void | setDomainIndex (const int index) |
| |
|
bool | isNlddLocalSolver () const |
| |
| virtual void | prepare (const Matrix &M, GetPropType< TypeTag, Properties::GlobalEqVector > &b)=0 |
| | Prepare the solver with the given matrix and right-hand side vector. More...
|
| |
| virtual void | prepare (const GetPropType< TypeTag, Properties::SparseMatrixAdapter > &M, GetPropType< TypeTag, Properties::GlobalEqVector > &b)=0 |
| | Prepare the solver with the given sparse matrix and right-hand side vector. More...
|
| |
| virtual void | setResidual (GetPropType< TypeTag, Properties::GlobalEqVector > &b)=0 |
| | Set the residual vector. More...
|
| |
| virtual void | getResidual (GetPropType< TypeTag, Properties::GlobalEqVector > &b) const=0 |
| | Get the residual vector. More...
|
| |
| virtual void | setMatrix (const GetPropType< TypeTag, Properties::SparseMatrixAdapter > &M)=0 |
| | Set the matrix for the solver. More...
|
| |
| virtual bool | solve (GetPropType< TypeTag, Properties::GlobalEqVector > &x)=0 |
| | Solve the system of equations Ax = b. More...
|
| |
|
|
using | ParentType = ISTLSolver< TypeTag > |
| |
|
using | GridView = GetPropType< TypeTag, Properties::GridView > |
| |
|
using | Scalar = GetPropType< TypeTag, Properties::Scalar > |
| |
|
using | SparseMatrixAdapter = GetPropType< TypeTag, Properties::SparseMatrixAdapter > |
| |
|
using | Vector = GetPropType< TypeTag, Properties::GlobalEqVector > |
| |
|
using | Indices = GetPropType< TypeTag, Properties::Indices > |
| |
|
using | WellModel = GetPropType< TypeTag, Properties::WellModel > |
| |
|
using | Simulator = GetPropType< TypeTag, Properties::Simulator > |
| |
|
using | Matrix = typename SparseMatrixAdapter::IstlMatrix |
| |
|
using | ThreadManager = GetPropType< TypeTag, Properties::ThreadManager > |
| |
|
using | ElementContext = GetPropType< TypeTag, Properties::ElementContext > |
| |
|
using | AbstractSolverType = Dune::InverseOperator< Vector, Vector > |
| |
|
using | AbstractOperatorType = Dune::AssembledLinearOperator< Matrix, Vector, Vector > |
| |
|
using | AbstractPreconditionerType = Dune::PreconditionerWithUpdate< Vector, Vector > |
| |
|
using | WellModelOperator = WellModelAsLinearOperator< WellModel, Vector, Vector > |
| |
|
using | ElementMapper = GetPropType< TypeTag, Properties::ElementMapper > |
| |
|
using | CommunicationType = Dune::Communication< int > |
| |
| enum | { enablePolymerMolarWeight = getPropValue<TypeTag, Properties::EnablePolymerMW>()
} |
| |
|
using | GridView = GetPropType< TypeTag, Properties::GridView > |
| |
|
using | Scalar = GetPropType< TypeTag, Properties::Scalar > |
| |
|
using | SparseMatrixAdapter = GetPropType< TypeTag, Properties::SparseMatrixAdapter > |
| |
|
using | Vector = GetPropType< TypeTag, Properties::GlobalEqVector > |
| |
|
using | Indices = GetPropType< TypeTag, Properties::Indices > |
| |
|
using | WellModel = GetPropType< TypeTag, Properties::WellModel > |
| |
|
using | Simulator = GetPropType< TypeTag, Properties::Simulator > |
| |
|
using | Matrix = typename SparseMatrixAdapter::IstlMatrix |
| |
|
using | ThreadManager = GetPropType< TypeTag, Properties::ThreadManager > |
| |
|
using | ElementContext = GetPropType< TypeTag, Properties::ElementContext > |
| |
|
using | AbstractSolverType = Dune::InverseOperator< Vector, Vector > |
| |
|
using | AbstractOperatorType = Dune::AssembledLinearOperator< Matrix, Vector, Vector > |
| |
|
using | AbstractPreconditionerType = Dune::PreconditionerWithUpdate< Vector, Vector > |
| |
|
using | WellModelOperator = WellModelAsLinearOperator< WellModel, Vector, Vector > |
| |
|
using | ElementMapper = GetPropType< TypeTag, Properties::ElementMapper > |
| |
|
using | ElementChunksType = ElementChunks< GridView, Dune::Partitions::All > |
| |
|
using | CommunicationType = Dune::Communication< int > |
| |
template<class TypeTag>
class Opm::ISTLSolverGpuBridge< TypeTag >
This class solves the fully implicit black-oil system by solving the reduced system (after eliminating well variables) as a block-structured matrix (one block for all cell variables) for a fixed number of cell variables np .