Opm::LinearOperatorExtra< X, Y > Class Template Referenceabstract

#include <WellOperators.hpp>

Inheritance diagram for Opm::LinearOperatorExtra< X, Y >:
Inheritance graph

Public Types

using PressureMatrix = Dune::BCRSMatrix< Opm::MatrixBlock< double, 1, 1 > >
 

Public Member Functions

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
 

Detailed Description

template<class X, class Y>
class Opm::LinearOperatorExtra< X, Y >

Linear operator wrapper for well model.

This class is intended to hide the actual type of the well model (which depends on a TypeTag) by making a simple linear operator wrapper. That way the WellModelMatrixAdapter template does not need the concrete WellModel type, and we can avoid instantiating WellModelMatrixAdapter separately for each TypeTag, as it will only depend on the matrix and vector types involved, which typically are just one for each block size with block sizes 1-4.

Member Typedef Documentation

◆ PressureMatrix

template<class X , class Y >
using Opm::LinearOperatorExtra< X, Y >::PressureMatrix = Dune::BCRSMatrix<Opm::MatrixBlock<double, 1, 1> >

Member Function Documentation

◆ addWellPressureEquations()

template<class X , class Y >
virtual void Opm::LinearOperatorExtra< X, Y >::addWellPressureEquations ( PressureMatrix jacobian,
const X &  weights,
const bool  use_well_weights 
) const
pure virtual

◆ addWellPressureEquationsStruct()

template<class X , class Y >
virtual void Opm::LinearOperatorExtra< X, Y >::addWellPressureEquationsStruct ( PressureMatrix jacobian) const
pure virtual

◆ getNumberOfExtraEquations()

template<class X , class Y >
virtual int Opm::LinearOperatorExtra< X, Y >::getNumberOfExtraEquations ( ) const
pure virtual

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