23#ifndef OPM_WELLHELPERS_HEADER_INCLUDED
24#define OPM_WELLHELPERS_HEADER_INCLUDED
26#include <dune/istl/bcrsmatrix.hh>
27#include <dune/common/dynmatrix.hh>
33class ParallelWellInfo;
35namespace wellhelpers {
47template<
typename Scalar>
51 using Block = Dune::DynamicMatrix<Scalar>;
52 using Matrix = Dune::BCRSMatrix<Block>;
57 template<
class X,
class Y>
58 void mv (
const X& x, Y& y)
const;
61 template<
class X,
class Y>
62 void mmv (
const X& x, Y& y)
const;
69double computeHydrostaticCorrection(
const double well_ref_depth,
70 const double vfp_ref_depth,
71 const double rho,
const double gravity);
75template<
typename Scalar,
typename Comm>
76void sumDistributedWellEntries(Dune::DynamicMatrix<Scalar>& mat,
77 Dune::DynamicVector<Scalar>& vec,
83template <
class DenseMatrix>
84DenseMatrix transposeDenseDynMatrix(
const DenseMatrix& M);
Class encapsulating some information about parallel wells.
Definition: ParallelWellInfo.hpp:243
A wrapper around the B matrix for distributed wells.
Definition: WellHelpers.hpp:49
void mv(const X &x, Y &y) const
y = A x
Definition: WellHelpers.cpp:45
void mmv(const X &x, Y &y) const
y = A x
Definition: WellHelpers.cpp:102
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: BlackoilPhases.hpp:27