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
 
virtual void addWellPressureEquations (PressureMatrix &jacobian, const X &weights, const bool use_well_weights) const =0
 
virtual void addWellPressureEquationsStruct (PressureMatrix &jacobian) const =0
 
virtual int getNumberOfExtraEquations () const =0
 

Member Function Documentation

◆ addWellPressureEquations()

template<class WellModel , class X , class Y >
void Opm::WellModelAsLinearOperator< WellModel, X, Y >::addWellPressureEquations ( PressureMatrix &  jacobian,
const X &  weights,
const bool  use_well_weights 
) const
inlineoverridevirtual

◆ addWellPressureEquationsStruct()

template<class WellModel , class X , class Y >
void Opm::WellModelAsLinearOperator< WellModel, X, Y >::addWellPressureEquationsStruct ( PressureMatrix &  jacobian) const
inlineoverridevirtual

◆ 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.

◆ getNumberOfExtraEquations()

template<class WellModel , class X , class Y >
int Opm::WellModelAsLinearOperator< WellModel, X, Y >::getNumberOfExtraEquations ( ) const
inlineoverridevirtual

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