From 325963fb6315403d2d8880721d021055be63a0c9 Mon Sep 17 00:00:00 2001 From: Arne Morten Kvarving Date: Tue, 10 Jan 2023 12:37:34 +0100 Subject: [PATCH 1/2] add missing WellTracerProperties.hpp includes --- ebos/ecltracermodel.hh | 2 ++ opm/simulators/utils/ParallelSerialization.cpp | 1 + 2 files changed, 3 insertions(+) diff --git a/ebos/ecltracermodel.hh b/ebos/ecltracermodel.hh index deb68887f..5bfdec71b 100644 --- a/ebos/ecltracermodel.hh +++ b/ebos/ecltracermodel.hh @@ -30,6 +30,8 @@ #include +#include + #include #include diff --git a/opm/simulators/utils/ParallelSerialization.cpp b/opm/simulators/utils/ParallelSerialization.cpp index 2c89dc1db..f7a03f348 100644 --- a/opm/simulators/utils/ParallelSerialization.cpp +++ b/opm/simulators/utils/ParallelSerialization.cpp @@ -51,6 +51,7 @@ #include #include #include +#include #include From 188d19fcf0695a552c0120fe04a983b3e0ed0e70 Mon Sep 17 00:00:00 2001 From: Arne Morten Kvarving Date: Fri, 13 Jan 2023 11:52:04 +0100 Subject: [PATCH 2/2] EclTracerModel: move code using WellTracerProperties to compile unit --- ebos/eclgenerictracermodel.cc | 13 ++++++++++--- ebos/eclgenerictracermodel.hh | 3 +++ ebos/ecltracermodel.hh | 4 +--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/ebos/eclgenerictracermodel.cc b/ebos/eclgenerictracermodel.cc index bdda9711f..72d1bf9c7 100644 --- a/ebos/eclgenerictracermodel.cc +++ b/ebos/eclgenerictracermodel.cc @@ -34,6 +34,8 @@ #include #include +#include + #include #include #include @@ -70,6 +72,7 @@ struct TracerSolverSelector using TracerOperator = Dune::OverlappingSchwarzOperator; using type = Dune::FlexibleSolver; }; + template std::tuple>>, @@ -111,7 +114,6 @@ EclGenericTracerModel(const GridView& gridView, { } - template Scalar EclGenericTracerModel:: tracerConcentration(int tracerIdx, int globalDofIdx) const @@ -122,7 +124,6 @@ tracerConcentration(int tracerIdx, int globalDofIdx) const return tracerConcentration_[tracerIdx][globalDofIdx]; } - template void EclGenericTracerModel:: setTracerConcentration(int tracerIdx, int globalDofIdx, Scalar value) @@ -144,6 +145,13 @@ fname(int tracerIdx) const return this->eclState_.tracer()[tracerIdx].fname(); } +template +double EclGenericTracerModel:: +currentConcentration_(const Well& eclWell, const std::string& name) const +{ + return eclWell.getTracerProperties().getConcentration(name); +} + template const std::string& EclGenericTracerModel:: name(int tracerIdx) const @@ -151,7 +159,6 @@ name(int tracerIdx) const return this->eclState_.tracer()[tracerIdx].name; } - template void EclGenericTracerModel:: doInit(bool rst, size_t numGridDof, diff --git a/ebos/eclgenerictracermodel.hh b/ebos/eclgenerictracermodel.hh index 147423d2e..50851f5af 100644 --- a/ebos/eclgenerictracermodel.hh +++ b/ebos/eclgenerictracermodel.hh @@ -44,6 +44,7 @@ namespace Opm { class EclipseState; +class Well; template class EclGenericTracerModel { @@ -96,6 +97,8 @@ protected: bool linearSolveBatchwise_(const TracerMatrix& M, std::vector& x, std::vector& b); + double currentConcentration_(const Well& eclWell, const std::string& name) const; + const GridView& gridView_; const EclipseState& eclState_; const CartesianIndexMapper& cartMapper_; diff --git a/ebos/ecltracermodel.hh b/ebos/ecltracermodel.hh index 5bfdec71b..3418b136b 100644 --- a/ebos/ecltracermodel.hh +++ b/ebos/ecltracermodel.hh @@ -30,8 +30,6 @@ #include -#include - #include #include @@ -341,7 +339,7 @@ protected: std::vector wtracer(tr.numTracer()); for (int tIdx = 0; tIdx < tr.numTracer(); ++tIdx) { - wtracer[tIdx] = eclWell.getTracerProperties().getConcentration(this->name(tr.idx_[tIdx])); + wtracer[tIdx] = this->currentConcentration_(eclWell, this->name(tr.idx_[tIdx])); } for (auto& perfData : well.perforationData()) {