22 #ifndef OPM_STANDARDWELL_EVAL_HEADER_INCLUDED 23 #define OPM_STANDARDWELL_EVAL_HEADER_INCLUDED 25 #include <opm/simulators/wells/StandardWellConnections.hpp> 26 #include <opm/simulators/wells/StandardWellEquations.hpp> 27 #include <opm/simulators/wells/StandardWellPrimaryVariables.hpp> 29 #include <opm/grid/utility/SparseTable.hpp> 31 #include <opm/material/densead/Evaluation.hpp> 38 class ConvergenceReport;
42 template<
class Scalar>
class WellContributions;
43 template<
class Flu
idSystem,
class Indices>
class WellInterfaceIndices;
44 template<
typename Flu
idSystem,
typename Indices>
class WellState;
46 template<
class Flu
idSystem,
class Indices>
50 using Scalar =
typename FluidSystem::Scalar;
53 using IndexTraits =
typename FluidSystem::IndexTraitsType;
60 static constexpr
bool has_wfrac_variable = PrimaryVariables::has_wfrac_variable;
61 static constexpr
bool has_gfrac_variable = PrimaryVariables::has_gfrac_variable;
62 static constexpr
int WFrac = PrimaryVariables::WFrac;
63 static constexpr
int GFrac = PrimaryVariables::GFrac;
64 static constexpr
int SFrac = PrimaryVariables::SFrac;
67 using Eval = DenseAd::Evaluation<Scalar, Indices::numDerivatives>;
74 static constexpr
int numResDofs = Indices::numEq;
75 static constexpr
int numWellDofs = numResDofs + 1;
76 using BMatrix = Dune::BCRSMatrix<Dune::FieldMatrix<Scalar, numWellDofs, numResDofs>>;
77 using CMatrix = Dune::BCRSMatrix<Dune::FieldMatrix<Scalar, numResDofs, numWellDofs>>;
78 using DMatrix = Dune::BCRSMatrix<Dune::FieldMatrix<Scalar, numWellDofs, numWellDofs>>;
79 using WVector = Dune::BlockVector<Dune::FieldVector<Scalar, numWellDofs>>;
81 void addBCDMatrix(std::vector<BMatrix>& b_matrices,
82 std::vector<CMatrix>& c_matrices,
83 std::vector<DMatrix>& d_matrices,
90 EvalWell extendEval(
const Eval& in)
const;
93 void computeAccumWell();
96 const std::vector<Scalar>& B_avg,
97 const Scalar maxResidualAllowed,
98 const Scalar tol_wells,
99 const Scalar relaxed_tolerance_flow,
100 const bool relax_tolerance,
101 const bool well_is_stopped,
102 std::vector<Scalar>& res,
105 void init(std::vector<Scalar>& perf_depth,
106 const std::vector<Scalar>& depth_arg,
107 const bool has_polymermw);
112 std::vector<Scalar> F0_;
120 #endif // OPM_STANDARDWELL_EVAL_HEADER_INCLUDED Definition: StandardWellEval.hpp:47
const StandardWellEquations< Scalar, IndexTraits, Indices::numEq > & linSys() const
Returns a const reference to equation system.
Definition: StandardWellEval.hpp:71
Class holding primary variables for StandardWell.
Definition: StandardWellAssemble.hpp:35
PrimaryVariables primary_variables_
Primary variables for well.
Definition: StandardWellEval.hpp:109
Definition: StandardWellConnections.hpp:45
Structs needed for tpfalinearizer and its gpuparams struct extracted to be defined in one place that ...
Definition: blackoilbioeffectsmodules.hh:45
Definition: StandardWellAssemble.hpp:34
Definition: MultisegmentWellAssemble.hpp:38
Definition: DeferredLogger.hpp:56
static constexpr int numWellConservationEq
Number of the conservation equations.
Definition: StandardWellPrimaryVariables.hpp:67
DenseAd::DynamicEvaluation< Scalar, numStaticWellEq+Indices::numEq+1 > EvalWell
Evaluation for the well equations.
Definition: StandardWellPrimaryVariables.hpp:89
static constexpr int WQTotal
The index for the weighted total rate.
Definition: StandardWellPrimaryVariables.hpp:73
static constexpr int Bhp
The index for Bhp in primary variables and the index of well control equation.
Definition: StandardWellPrimaryVariables.hpp:78
Represents the convergence status of the whole simulator, to make it possible to query and store the ...
Definition: ConvergenceReport.hpp:37
StdWellConnections connections_
Connection level values.
Definition: StandardWellEval.hpp:115
StandardWellEquations< Scalar, IndexTraits, Indices::numEq > linSys_
Linear equation system.
Definition: StandardWellEval.hpp:114
The state of a set of wells, tailored for use by the fully implicit blackoil simulator.
Definition: TemperatureModel.hpp:65