My Project
Opm::WellModelAsLinearOperator< WellModel, X, Y > Class Template Reference
Inheritance diagram for Opm::WellModelAsLinearOperator< WellModel, X, Y >:
Opm::LinearOperatorExtra< X, Y >

Public Types

using Base = Opm::LinearOperatorExtra< X, Y >
 
using field_type = typename Base::field_type
 
using PressureMatrix = typename Base::PressureMatrix
 
- Public Types inherited from Opm::LinearOperatorExtra< X, Y >
using PressureMatrix = Dune::BCRSMatrix< Opm::MatrixBlock< double, 1, 1 > >
 

Public Member Functions

 WellModelAsLinearOperator (const WellModel &wm)
 
void apply (const X &x, Y &y) const override
 apply operator to x: $ y = A(x) $ The input vector is consistent and the output must also be consistent on the interior+border partition.
 
virtual void applyscaleadd (field_type alpha, const X &x, Y &y) const override
 apply operator to x, scale and add: $ y = y + \alpha A(x) $
 
Dune::SolverCategory::Category category () const override
 Category for operator. More...
 
void addWellPressureEquations (PressureMatrix &jacobian, const X &weights, const bool use_well_weights) const override
 
void addWellPressureEquationsStruct (PressureMatrix &jacobian) const override
 
int getNumberOfExtraEquations () const override
 

Member Function Documentation

◆ category()

template<class WellModel , class X , class Y >
Dune::SolverCategory::Category Opm::WellModelAsLinearOperator< WellModel, X, Y >::category ( ) const
inlineoverride

Category for operator.

This is somewhat tricky, I consider this operator sequential since (unlike WellModelMatrixAdapter) it does not do any projections etc. but only forwards the calls to the sequential well model.


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