Loading...
Searching...
No Matches
Opm::WellModelMatrixAdapter< M, X, Y > Class Template Reference

Adapter to combine a matrix and another linear operator into a combined linear operator. More...

`#include <WellOperators.hpp>`

Inheritance diagram for Opm::WellModelMatrixAdapter< M, X, Y >:

## 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_

## Detailed Description

template<class M, class X, class Y>
class Opm::WellModelMatrixAdapter< M, X, Y >

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.

The documentation for this class was generated from the following file:

- opm/simulators/linalg/WellOperators.hpp