My Project
Loading...
Searching...
No Matches
Opm::LinearOperatorExtra< X, Y > Class Template Referenceabstract

Linear operator wrapper for well model. More...

#include <WellOperators.hpp>

Inheritance diagram for Opm::LinearOperatorExtra< X, Y >:
Opm::WellModelAsLinearOperator< WellModel, X, Y > Opm::DomainWellModelAsLinearOperator< WellModel, X, Y >

Public Types

using field_type = typename X::field_type
 
using PressureMatrix = Dune::BCRSMatrix<MatrixBlock<field_type, 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.


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