added: MultisegmentWellEquations::extractCPRPressureMatrix()

this adds the cpr pressure matrix to a matrix.
this is the core of MultisegmentWell::addWellPressureEquations
use the new method in the implementation.
This commit is contained in:
Arne Morten Kvarving
2022-11-11 21:41:24 +01:00
parent de8eedb9a6
commit 97e1cdb662
4 changed files with 117 additions and 76 deletions

View File

@@ -38,6 +38,8 @@ namespace Opm
template<class Scalar> class MultisegmentWellGeneric;
class WellContributions;
class WellInterfaceGeneric;
class WellState;
template<class Scalar, int numWellEq, int numEq>
class MultisegmentWellEquations
@@ -98,6 +100,16 @@ public:
template<class SparseMatrixAdapter>
void extract(SparseMatrixAdapter& jacobian) const;
//! \brief Extract CPR pressure matrix.
template<class PressureMatrix>
void extractCPRPressureMatrix(PressureMatrix& jacobian,
const BVector& weights,
const int pressureVarIndex,
const bool /*use_well_weights*/,
const WellInterfaceGeneric& well,
const int seg_pressure_var_ind,
const WellState& well_state) const;
// two off-diagonal matrices
OffDiagMatWell duneB_;
OffDiagMatWell duneC_;