|
opm-simulators
|
Adapter to combine a matrix and another linear operator into a combined linear operator. More...
#include <WellOperators.hpp>
Public Types | |
| using | matrix_type = M |
| using | domain_type = X |
| using | range_type = Y |
| using | field_type = typename X::field_type |
| using | PressureMatrix = Dune::BCRSMatrix<MatrixBlock<field_type, 1, 1>> |
Public Member Functions | |
| Dune::SolverCategory::Category | category () const override |
| WellModelMatrixAdapter (const M &A, const LinearOperatorExtra< X, Y > &wellOper) | |
| constructor: just store a reference to a matrix | |
| void | apply (const X &x, Y &y) const override |
| void | applyscaleadd (field_type alpha, const X &x, Y &y) const override |
| const matrix_type & | getmat () const override |
| void | addWellPressureEquations (PressureMatrix &jacobian, const X &weights, const bool use_well_weights) const |
| void | addWellPressureEquationsStruct (PressureMatrix &jacobian) const |
| int | getNumberOfExtraEquations () const |
Protected Attributes | |
| const matrix_type & | A_ |
| const LinearOperatorExtra< X, Y > & | wellOper_ |
Adapter to combine a matrix and another linear operator into a combined linear operator.
Adapts a matrix A plus another linear operator W (typically from wells) to the assembled linear operator interface by returning S from getmat() and making apply() and applyscaleadd() apply both A and W to the input vector. The adapter is for serial use only as the current parallel version in use is WellModelGhostLastMatrixAdapter.