Finalize integration of foam module.

This commit is contained in:
Atgeirr Flø Rasmussen
2019-07-04 09:50:08 +02:00
parent 7fb90bff47
commit b9e7881878
7 changed files with 78 additions and 16 deletions

View File

@@ -47,10 +47,6 @@
#include <opm/simulators/timestepping/ConvergenceReport.hpp>
#include <opm/simulators/utils/DeferredLogger.hpp>
#include <ewoms/models/blackoil/blackoilpolymermodules.hh>
#include <ewoms/models/blackoil/blackoilsolventmodules.hh>
#include <ewoms/models/blackoil/blackoilfoammodules.hh>
#include<dune/common/fmatrix.hh>
#include<dune/istl/bcrsmatrix.hh>
#include<dune/istl/matrixmatrix.hh>
@@ -98,22 +94,19 @@ namespace Opm
typedef Dune::BlockVector<VectorBlockType> BVector;
typedef DenseAd::Evaluation<double, /*size=*/numEq> Eval;
typedef Ewoms::BlackOilPolymerModule<TypeTag> PolymerModule;
typedef Ewoms::BlackOilFoamModule<TypeTag> FoamModule;
static const bool has_solvent = GET_PROP_VALUE(TypeTag, EnableSolvent);
static const bool has_polymer = GET_PROP_VALUE(TypeTag, EnablePolymer);
static const bool has_energy = GET_PROP_VALUE(TypeTag, EnableEnergy);
// flag for polymer molecular weight related
static const bool has_polymermw = GET_PROP_VALUE(TypeTag, EnablePolymerMW);
static const bool has_foam = GET_PROP_VALUE(TypeTag, EnableFoam);
static const int contiSolventEqIdx = Indices::contiSolventEqIdx;
static const int contiPolymerEqIdx = Indices::contiPolymerEqIdx;
// index for the polymer molecular weight continuity equation
static const int contiPolymerMWEqIdx = Indices::contiPolymerMWEqIdx;
static const int contiFoamEqIdx = Indices::contiFoamEqIdx;
static const bool has_foam = GET_PROP_VALUE(TypeTag, EnableFoam);
// For the conversion between the surface volume rate and resrevoir voidage rate
// For the conversion between the surface volume rate and reservoir voidage rate
using RateConverterType = RateConverter::
SurfaceToReservoirVoidage<FluidSystem, std::vector<int> >;
@@ -370,6 +363,8 @@ namespace Opm
double wpolymer() const;
double wfoam() const;
bool checkRateEconLimits(const WellEconProductionLimits& econ_production_limits,
const WellState& well_state,
Opm::DeferredLogger& deferred_logger) const;