mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Use unique_ptr instead of shared_ptr.
This commit is contained in:
parent
9c78d5ef00
commit
a1709aad94
@ -121,7 +121,7 @@ namespace Opm
|
|||||||
Opm::DeckConstPtr& deck,
|
Opm::DeckConstPtr& deck,
|
||||||
const std::vector<double>& threshold_pressures_by_face);
|
const std::vector<double>& threshold_pressures_by_face);
|
||||||
|
|
||||||
std::shared_ptr<Solver> createSolver(const Wells* wells);
|
std::unique_ptr<Solver> createSolver(const Wells* wells);
|
||||||
|
|
||||||
void handleAdditionalWellInflow(SimulatorTimer& timer,
|
void handleAdditionalWellInflow(SimulatorTimer& timer,
|
||||||
WellsManager& wells_manager,
|
WellsManager& wells_manager,
|
||||||
|
@ -59,25 +59,25 @@ namespace Opm
|
|||||||
template <class GridT>
|
template <class GridT>
|
||||||
auto SimulatorFullyImplicitBlackoilPolymer<GridT>::
|
auto SimulatorFullyImplicitBlackoilPolymer<GridT>::
|
||||||
createSolver(const Wells* wells)
|
createSolver(const Wells* wells)
|
||||||
-> std::shared_ptr<Solver>
|
-> std::unique_ptr<Solver>
|
||||||
{
|
{
|
||||||
typedef typename Traits::Model Model;
|
typedef typename Traits::Model Model;
|
||||||
typedef typename Model::ModelParameters ModelParams;
|
typedef typename Model::ModelParameters ModelParams;
|
||||||
ModelParams modelParams( BaseType::param_ );
|
ModelParams modelParams( BaseType::param_ );
|
||||||
typedef NewtonSolver<Model> Solver;
|
typedef NewtonSolver<Model> Solver;
|
||||||
|
|
||||||
auto model = std::make_shared<Model>(modelParams,
|
auto model = std::unique_ptr<Model>(new Model(modelParams,
|
||||||
BaseType::grid_,
|
BaseType::grid_,
|
||||||
BaseType::props_,
|
BaseType::props_,
|
||||||
BaseType::geo_,
|
BaseType::geo_,
|
||||||
BaseType::rock_comp_props_,
|
BaseType::rock_comp_props_,
|
||||||
polymer_props_,
|
polymer_props_,
|
||||||
wells,
|
wells,
|
||||||
BaseType::solver_,
|
BaseType::solver_,
|
||||||
BaseType::has_disgas_,
|
BaseType::has_disgas_,
|
||||||
BaseType::has_vapoil_,
|
BaseType::has_vapoil_,
|
||||||
has_polymer_,
|
has_polymer_,
|
||||||
BaseType::terminal_output_);
|
BaseType::terminal_output_));
|
||||||
|
|
||||||
if (!BaseType::threshold_pressures_by_face_.empty()) {
|
if (!BaseType::threshold_pressures_by_face_.empty()) {
|
||||||
model->setThresholdPressures(BaseType::threshold_pressures_by_face_);
|
model->setThresholdPressures(BaseType::threshold_pressures_by_face_);
|
||||||
@ -85,7 +85,7 @@ namespace Opm
|
|||||||
|
|
||||||
typedef typename Solver::SolverParameters SolverParams;
|
typedef typename Solver::SolverParameters SolverParams;
|
||||||
SolverParams solverParams( BaseType::param_ );
|
SolverParams solverParams( BaseType::param_ );
|
||||||
return std::make_shared<Solver>(solverParams, model);
|
return std::unique_ptr<Solver>(new Solver(solverParams, std::move(model)));
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class GridT>
|
template <class GridT>
|
||||||
|
Loading…
Reference in New Issue
Block a user