My Project
Loading...
Searching...
No Matches
Opm::WellModelAsLinearOperator< WellModel, X, Y > Class Template Reference
Inheritance diagram for Opm::WellModelAsLinearOperator< WellModel, X, Y >:
Opm::LinearOperatorExtra< X, Y > Opm::DomainWellModelAsLinearOperator< WellModel, X, Y >

Public Types

using Base = LinearOperatorExtra<X, Y>
 
using field_type = typename Base::field_type
 
using PressureMatrix = typename Base::PressureMatrix
 
- Public Types inherited from Opm::LinearOperatorExtra< X, Y >
using field_type = typename X::field_type
 
using PressureMatrix = Dune::BCRSMatrix<MatrixBlock<field_type, 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.
 
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.
 
void addWellPressureEquations (PressureMatrix &jacobian, const X &weights, const bool use_well_weights) const override
 
void addWellPressureEquationsStruct (PressureMatrix &jacobian) const override
 
int getNumberOfExtraEquations () const override
 
- Public Member Functions inherited from Opm::LinearOperatorExtra< X, Y >

Protected Attributes

const WellModel & wellMod_
 

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: