mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Make BlackoilMultisegmentModel constructured from MultisegmentWells
Instead of being coustructed based StandardWells and having a MultisegmentWells member.
This commit is contained in:
@@ -79,7 +79,7 @@ namespace Opm {
|
||||
const DerivedGeology& geo,
|
||||
const RockCompressibility* rock_comp_props,
|
||||
const PolymerPropsAd& polymer_props_ad,
|
||||
const Wells* wells,
|
||||
const StandardWells& well_model,
|
||||
const NewtonIterationBlackoilInterface& linsolver,
|
||||
EclipseStateConstPtr eclipse_state,
|
||||
const bool has_disgas,
|
||||
|
||||
@@ -80,7 +80,7 @@ namespace Opm {
|
||||
const DerivedGeology& geo,
|
||||
const RockCompressibility* rock_comp_props,
|
||||
const PolymerPropsAd& polymer_props_ad,
|
||||
const Wells* wells_arg,
|
||||
const StandardWells& well_model,
|
||||
const NewtonIterationBlackoilInterface& linsolver,
|
||||
EclipseStateConstPtr eclipse_state,
|
||||
const bool has_disgas,
|
||||
@@ -92,7 +92,7 @@ namespace Opm {
|
||||
const std::vector<double>& wells_perf_length,
|
||||
const std::vector<double>& wells_bore_diameter,
|
||||
const bool terminal_output)
|
||||
: Base(param, grid, fluid, geo, rock_comp_props, wells_arg, linsolver, eclipse_state,
|
||||
: Base(param, grid, fluid, geo, rock_comp_props, well_model, linsolver, eclipse_state,
|
||||
has_disgas, has_vapoil, terminal_output),
|
||||
polymer_props_ad_(polymer_props_ad),
|
||||
has_polymer_(has_polymer),
|
||||
|
||||
@@ -81,6 +81,8 @@ namespace Opm
|
||||
template <class GridT>
|
||||
class SimulatorFullyImplicitBlackoilPolymer;
|
||||
|
||||
class StandardWells;
|
||||
|
||||
template<class GridT>
|
||||
struct SimulatorTraits<SimulatorFullyImplicitBlackoilPolymer<GridT> >
|
||||
{
|
||||
@@ -90,6 +92,7 @@ namespace Opm
|
||||
typedef GridT Grid;
|
||||
typedef BlackoilPolymerModel<Grid> Model;
|
||||
typedef NonlinearSolver<Model> Solver;
|
||||
typedef StandardWells WellModel;
|
||||
};
|
||||
|
||||
/// Class collecting all necessary components for a blackoil simulation with polymer
|
||||
@@ -103,6 +106,7 @@ namespace Opm
|
||||
|
||||
typedef SimulatorTraits<ThisType> Traits;
|
||||
typedef typename Traits::Solver Solver;
|
||||
typedef typename Traits::WellModel WellModel;
|
||||
|
||||
public:
|
||||
SimulatorFullyImplicitBlackoilPolymer(const parameter::ParameterGroup& param,
|
||||
@@ -123,7 +127,7 @@ namespace Opm
|
||||
Opm::DeckConstPtr& deck,
|
||||
const std::vector<double>& threshold_pressures_by_face);
|
||||
|
||||
std::unique_ptr<Solver> createSolver(const Wells* wells);
|
||||
std::unique_ptr<Solver> createSolver(const WellModel& well_model);
|
||||
|
||||
|
||||
void handleAdditionalWellInflow(SimulatorTimer& timer,
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace Opm
|
||||
|
||||
template <class GridT>
|
||||
auto SimulatorFullyImplicitBlackoilPolymer<GridT>::
|
||||
createSolver(const Wells* wells)
|
||||
createSolver(const WellModel& well_model)
|
||||
-> std::unique_ptr<Solver>
|
||||
{
|
||||
typedef typename Traits::Model Model;
|
||||
@@ -74,7 +74,7 @@ namespace Opm
|
||||
BaseType::geo_,
|
||||
BaseType::rock_comp_props_,
|
||||
polymer_props_,
|
||||
wells,
|
||||
well_model,
|
||||
BaseType::solver_,
|
||||
BaseType::eclipse_state_,
|
||||
BaseType::has_disgas_,
|
||||
|
||||
Reference in New Issue
Block a user