mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
adding a few fluid related members to StandardWells
to reduce the number of the public function arguments.
This commit is contained in:
parent
d1da78b5b2
commit
22b5157bf2
@ -276,7 +276,6 @@ namespace Opm {
|
||||
const BlackoilPropsAdInterface& fluid_;
|
||||
const DerivedGeology& geo_;
|
||||
const RockCompressibility* rock_comp_props_;
|
||||
WellModel std_wells_;
|
||||
VFPProperties vfp_properties_;
|
||||
const NewtonIterationBlackoilInterface& linsolver_;
|
||||
// For each canonical phase -> true if active
|
||||
@ -294,6 +293,10 @@ namespace Opm {
|
||||
|
||||
std::vector<ReservoirResidualQuant> rq_;
|
||||
std::vector<PhasePresence> phaseCondition_;
|
||||
|
||||
// Well Model
|
||||
WellModel std_wells_;
|
||||
|
||||
V isRs_;
|
||||
V isRv_;
|
||||
V isSg_;
|
||||
|
@ -162,7 +162,6 @@ namespace detail {
|
||||
, fluid_ (fluid)
|
||||
, geo_ (geo)
|
||||
, rock_comp_props_(rock_comp_props)
|
||||
, std_wells_ (wells_arg)
|
||||
, vfp_properties_(
|
||||
eclState->getTableManager().getVFPInjTables(),
|
||||
eclState->getTableManager().getVFPProdTables())
|
||||
@ -177,6 +176,7 @@ namespace detail {
|
||||
, use_threshold_pressure_(false)
|
||||
, rq_ (fluid.numPhases())
|
||||
, phaseCondition_(AutoDiffGrid::numCells(grid))
|
||||
, std_wells_ (wells_arg, fluid_, active_, phaseCondition_)
|
||||
, isRs_(V::Zero(AutoDiffGrid::numCells(grid)))
|
||||
, isRv_(V::Zero(AutoDiffGrid::numCells(grid)))
|
||||
, isSg_(V::Zero(AutoDiffGrid::numCells(grid)))
|
||||
|
@ -60,7 +60,14 @@ namespace Opm {
|
||||
Eigen::Dynamic,
|
||||
Eigen::RowMajor>;
|
||||
// --------- Public methods ---------
|
||||
explicit StandardWells(const Wells* wells);
|
||||
StandardWells(const Wells* wells_arg,
|
||||
const BlackoilPropsAdInterface& fluid_arg,
|
||||
const std::vector<bool>& active_arg,
|
||||
const std::vector<PhasePresence>& pc_arg);
|
||||
|
||||
const WellOps& wellOps() const;
|
||||
|
||||
int numPhases() const { return num_phases_; };
|
||||
|
||||
const Wells& wells() const;
|
||||
|
||||
@ -70,7 +77,6 @@ namespace Opm {
|
||||
/// return true if wells are available on this process
|
||||
bool localWellsActive() const;
|
||||
|
||||
const WellOps& wellOps() const;
|
||||
|
||||
/// Density of each well perforation
|
||||
Vector& wellPerforationDensities(); // mutable version kept for BlackoilMultisegmentModel
|
||||
@ -197,6 +203,10 @@ namespace Opm {
|
||||
bool wells_active_;
|
||||
const Wells* wells_;
|
||||
const WellOps wops_;
|
||||
const int num_phases_;
|
||||
const BlackoilPropsAdInterface& fluid_;
|
||||
const std::vector<bool>& active_;
|
||||
const std::vector<PhasePresence>& phase_condition_;
|
||||
Vector well_perforation_densities_;
|
||||
Vector well_perforation_pressure_diffs_;
|
||||
};
|
||||
|
@ -37,7 +37,10 @@ namespace Opm {
|
||||
using Base::computeWellConnectionDensitesPressures;
|
||||
|
||||
// --------- Public methods ---------
|
||||
explicit StandardWellsSolvent(const Wells* wells);
|
||||
StandardWellsSolvent(const Wells* wells_arg,
|
||||
const BlackoilPropsAdInterface& fluid_arg,
|
||||
const std::vector<bool>& active_arg,
|
||||
const std::vector<PhasePresence>& pc_arg);
|
||||
|
||||
// added the Solvent related
|
||||
void initSolvent(const SolventPropsAdFromDeck* solvent_props,
|
||||
|
@ -32,8 +32,11 @@ namespace Opm
|
||||
|
||||
|
||||
|
||||
StandardWellsSolvent::StandardWellsSolvent(const Wells* wells_arg)
|
||||
: Base(wells_arg)
|
||||
StandardWellsSolvent::StandardWellsSolvent(const Wells* wells_arg,
|
||||
const BlackoilPropsAdInterface& fluid_arg,
|
||||
const std::vector<bool>& active_arg,
|
||||
const std::vector<PhasePresence>& pc_arg)
|
||||
: Base(wells_arg, fluid_arg, active_arg, pc_arg)
|
||||
, solvent_props_(nullptr)
|
||||
, solvent_pos_(-1)
|
||||
, has_solvent_(false)
|
||||
|
@ -71,9 +71,16 @@ namespace Opm
|
||||
|
||||
|
||||
|
||||
StandardWells::StandardWells(const Wells* wells_arg)
|
||||
StandardWells::StandardWells(const Wells* wells_arg,
|
||||
const BlackoilPropsAdInterface& fluid_arg,
|
||||
const std::vector<bool>& active_arg,
|
||||
const std::vector<PhasePresence>& pc_arg)
|
||||
: wells_(wells_arg)
|
||||
, wops_(wells_arg)
|
||||
, num_phases_(wells_arg->number_of_phases)
|
||||
, fluid_(fluid_arg)
|
||||
, active_(active_arg)
|
||||
, phase_condition_(pc_arg)
|
||||
, well_perforation_densities_(Vector())
|
||||
, well_perforation_pressure_diffs_(Vector())
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user