From ccd0da2e4ce4799433a9786533d7d0cefe80e34a Mon Sep 17 00:00:00 2001 From: Andreas Lauser Date: Mon, 9 Jul 2018 12:14:43 +0200 Subject: [PATCH] use a raw pointer to specify the auxiliary module for wells this is necessiated by the replacement of `std::shared_ptr` by raw pointers for the eWoms auxiliary equation infrastructure. Note that by default `flow` will *not* create an auxiliary equation module because it modifies the operator that is used by the linear solver instead. --- opm/autodiff/SimulatorFullyImplicitBlackoilEbos.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/opm/autodiff/SimulatorFullyImplicitBlackoilEbos.hpp b/opm/autodiff/SimulatorFullyImplicitBlackoilEbos.hpp index 55974b111..e9f5c52ed 100644 --- a/opm/autodiff/SimulatorFullyImplicitBlackoilEbos.hpp +++ b/opm/autodiff/SimulatorFullyImplicitBlackoilEbos.hpp @@ -180,8 +180,8 @@ public: modelParam_.preconditioner_add_well_contributions_) { ebosSimulator_.model().clearAuxiliaryModules(); - auto auxMod = std::make_shared >(schedule(), grid()); - ebosSimulator_.model().addAuxiliaryModule(auxMod); + wellAuxMod_.reset(new WellConnectionAuxiliaryModule(schedule(), grid())); + ebosSimulator_.model().addAuxiliaryModule(wellAuxMod_.get()); } AquiferModel aquifer_model(ebosSimulator_); @@ -368,6 +368,7 @@ protected: // Data. Simulator& ebosSimulator_; + std::unique_ptr> wellAuxMod_; typedef typename Solver::SolverParametersEbos SolverParametersEbos; SimulatorReport failureReport_;