From fc115dcb99d2ce1a54fa6fbe9eb1993eae59a76e Mon Sep 17 00:00:00 2001 From: hnil Date: Sun, 26 Feb 2023 16:28:11 +0100 Subject: [PATCH] - changes to be able to override methods in blacoilmodel - chaches to update full intensive quantities including extxrution factor without elementctx --- opm/models/blackoil/blackoilmodel.hh | 24 +++++++++---------- .../common/fvbaseintensivequantities.hh | 5 ++-- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/opm/models/blackoil/blackoilmodel.hh b/opm/models/blackoil/blackoilmodel.hh index 0fcdf0285..bc8c048e3 100644 --- a/opm/models/blackoil/blackoilmodel.hh +++ b/opm/models/blackoil/blackoilmodel.hh @@ -483,10 +483,10 @@ public: outstream << priVars.pvtRegionIndex() << " "; - SolventModule::serializeEntity(*this, outstream, dof); - ExtboModule::serializeEntity(*this, outstream, dof); - PolymerModule::serializeEntity(*this, outstream, dof); - EnergyModule::serializeEntity(*this, outstream, dof); + SolventModule::serializeEntity(asImp_(), outstream, dof); + ExtboModule::serializeEntity(asImp_(), outstream, dof); + PolymerModule::serializeEntity(asImp_(), outstream, dof); + EnergyModule::serializeEntity(asImp_(), outstream, dof); } /*! @@ -527,10 +527,10 @@ public: if (!instream.good()) throw std::runtime_error("Could not deserialize degree of freedom "+std::to_string(dofIdx)); - SolventModule::deserializeEntity(*this, instream, dof); - ExtboModule::deserializeEntity(*this, instream, dof); - PolymerModule::deserializeEntity(*this, instream, dof); - EnergyModule::deserializeEntity(*this, instream, dof); + SolventModule::deserializeEntity(asImp_(), instream, dof); + ExtboModule::deserializeEntity(asImp_(), instream, dof); + PolymerModule::deserializeEntity(asImp_(), instream, dof); + EnergyModule::deserializeEntity(asImp_(), instream, dof); using PVM_G = typename PrimaryVariables::GasMeaning; using PVM_W = typename PrimaryVariables::WaterMeaning; @@ -591,10 +591,10 @@ protected: ParentType::registerOutputModules_(); // add the VTK output modules which make sense for the blackoil model - SolventModule::registerOutputModules(*this, this->simulator_); - PolymerModule::registerOutputModules(*this, this->simulator_); - EnergyModule::registerOutputModules(*this, this->simulator_); - MICPModule::registerOutputModules(*this, this->simulator_); + SolventModule::registerOutputModules(asImp_(), this->simulator_); + PolymerModule::registerOutputModules(asImp_(), this->simulator_); + EnergyModule::registerOutputModules(asImp_(), this->simulator_); + MICPModule::registerOutputModules(asImp_(), this->simulator_); this->addOutputModule(new VtkBlackOilModule(this->simulator_)); this->addOutputModule(new VtkCompositionModule(this->simulator_)); diff --git a/opm/models/discretization/common/fvbaseintensivequantities.hh b/opm/models/discretization/common/fvbaseintensivequantities.hh index ffb15d040..802c21c07 100644 --- a/opm/models/discretization/common/fvbaseintensivequantities.hh +++ b/opm/models/discretization/common/fvbaseintensivequantities.hh @@ -80,14 +80,15 @@ public: */ void checkDefined() const { } - +protected: + Scalar extrusionFactor_; private: const Implementation& asImp_() const { return *static_cast(this); } Implementation& asImp_() { return *static_cast(this); } - Scalar extrusionFactor_; + }; } // namespace Opm