My Project
|
Linear operator wrapper for well model. More...
#include <WellOperators.hpp>
Public Types | |
using | Base = Dune::LinearOperator< X, Y > |
using | field_type = typename Base::field_type |
Public Member Functions | |
WellModelAsLinearOperator (const WellModel &wm) | |
void | apply (const X &x, Y &y) const override |
apply operator to x: ![]() | |
virtual void | applyscaleadd (field_type alpha, const X &x, Y &y) const override |
apply operator to x, scale and add: ![]() | |
Dune::SolverCategory::Category | category () const override |
Category for operator. More... | |
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.
|
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.