diff --git a/opm/simulators/wells/StandardWellAssemble.cpp b/opm/simulators/wells/StandardWellAssemble.cpp index 43af362b4..1e06f200e 100644 --- a/opm/simulators/wells/StandardWellAssemble.cpp +++ b/opm/simulators/wells/StandardWellAssemble.cpp @@ -81,9 +81,9 @@ private: StandardWellEquations& eqns_; //!< Reference to equation system }; -template +template void -StandardWellAssemble:: +StandardWellAssemble:: assembleControlEq(const WellState& well_state, const GroupState& group_state, const Schedule& schedule, @@ -180,8 +180,8 @@ assembleControlEq(const WellState& well_state, } } -template -void StandardWellAssemble:: +template +void StandardWellAssemble:: assembleInjectivityEq(const EvalWell& eq_pskin, const EvalWell& eq_wat_vel, const int pskin_index, @@ -204,8 +204,8 @@ assembleInjectivityEq(const EvalWell& eq_pskin, } } -template -void StandardWellAssemble:: +template +void StandardWellAssemble:: assemblePerforationEq(const EvalWell& cq_s_effective, const int componentIdx, const int cell_idx, @@ -229,8 +229,8 @@ assemblePerforationEq(const EvalWell& cq_s_effective, } } -template -void StandardWellAssemble:: +template +void StandardWellAssemble:: assembleSourceEq(const EvalWell& resWell_loc, const int componentIdx, const int numWellEq, @@ -243,8 +243,8 @@ assembleSourceEq(const EvalWell& resWell_loc, eqns.residual()[0][componentIdx] += resWell_loc.value(); } -template -void StandardWellAssemble:: +template +void StandardWellAssemble:: assembleZFracEq(const EvalWell& cq_s_zfrac_effective, const int cell_idx, const int numWellEq, @@ -257,7 +257,7 @@ assembleZFracEq(const EvalWell& cq_s_zfrac_effective, } #define INSTANCE(Dim,...) \ -template class StandardWellAssemble,__VA_ARGS__,double>; +template class StandardWellAssemble,__VA_ARGS__>; // One phase INSTANCE(4u, BlackOilOnePhaseIndices<0u,0u,0u,0u,false,false,0u,1u,0u>) diff --git a/opm/simulators/wells/StandardWellAssemble.hpp b/opm/simulators/wells/StandardWellAssemble.hpp index 97107a50b..f5b6484ae 100644 --- a/opm/simulators/wells/StandardWellAssemble.hpp +++ b/opm/simulators/wells/StandardWellAssemble.hpp @@ -38,10 +38,11 @@ template class WellInterfaceFluidSystem; class WellState; //! \brief Class handling assemble of the equation system for StandardWell. -template +template class StandardWellAssemble { public: + using Scalar = typename FluidSystem::Scalar; using PrimaryVariables = StandardWellPrimaryVariables; using EvalWell = typename PrimaryVariables::EvalWell; diff --git a/opm/simulators/wells/StandardWell_impl.hpp b/opm/simulators/wells/StandardWell_impl.hpp index 45a8482f5..dbe2a61eb 100644 --- a/opm/simulators/wells/StandardWell_impl.hpp +++ b/opm/simulators/wells/StandardWell_impl.hpp @@ -398,7 +398,7 @@ namespace Opm connectionRates[perf][componentIdx] = Base::restrictEval(cq_s_effective); - StandardWellAssemble(*this). + StandardWellAssemble(*this). assemblePerforationEq(cq_s_effective, componentIdx, cell_idx, @@ -415,7 +415,7 @@ namespace Opm } if constexpr (has_zFraction) { - StandardWellAssemble(*this). + StandardWellAssemble(*this). assembleZFracEq(cq_s_zfrac_effective, cell_idx, this->primary_variables_.numWellEq(), @@ -446,7 +446,7 @@ namespace Opm this->F0_[componentIdx]) * volume / dt; } resWell_loc -= this->primary_variables_.getQs(componentIdx) * this->well_efficiency_factor_; - StandardWellAssemble(*this). + StandardWellAssemble(*this). assembleSourceEq(resWell_loc, componentIdx, this->primary_variables_.numWellEq(), @@ -455,7 +455,7 @@ namespace Opm const auto& summaryState = simulator.vanguard().summaryState(); const Schedule& schedule = simulator.vanguard().schedule(); - StandardWellAssemble(*this). + StandardWellAssemble(*this). assembleControlEq(well_state, group_state, schedule, summaryState, inj_controls, prod_controls, @@ -2075,7 +2075,7 @@ namespace Opm const EvalWell eq_pskin = this->primary_variables_.eval(pskin_index) - pskin(throughput, this->primary_variables_.eval(wat_vel_index), poly_conc, deferred_logger); - StandardWellAssemble(*this). + StandardWellAssemble(*this). assembleInjectivityEq(eq_pskin, eq_wat_vel, pskin_index,