Contains the high level supplements required to extend the black oil model by polymer. More...
#include <blackoilpolymermodules.hh>
Public Types | |
enum | AdsorptionBehaviour { Desorption = 1, NoDesorption = 2 } |
Static Public Member Functions | |
static void | setNumSatRegions (unsigned numRegions) |
Specify the number of satuation regions. More... | |
static void | setPlyrock (unsigned satRegionIdx, const Scalar &plyrockDeadPoreVolume, const Scalar &plyrockResidualResistanceFactor, const Scalar &plyrockRockDensityFactor, const Scalar &plyrockAdsorbtionIndex, const Scalar &plyrockMaxAdsorbtion) |
Specify the polymer rock properties a single region. More... | |
static void | setAdsrock (unsigned satRegionIdx, const TabulatedFunction &plyadsAdsorbedPolymer) |
Specify the polymer rock properties a single region. More... | |
static void | setNumPvtRegions (unsigned numRegions) |
Specify the number of pvt regions. More... | |
static void | setPlyvisc (unsigned satRegionIdx, const TabulatedFunction &plyviscViscosityMultiplierTable) |
Specify the polymer viscosity a single region. More... | |
static void | setNumMixRegions (unsigned numRegions) |
Specify the number of mix regions. More... | |
static void | setPlymax (unsigned mixRegionIdx, const Scalar &plymaxMaxConcentration) |
Specify the maximum polymer concentration a single region. More... | |
static void | setPlmixpar (unsigned mixRegionIdx, const Scalar &plymixparToddLongstaff) |
Specify the maximum polymer concentration a single region. More... | |
static void | registerParameters () |
Register all run-time parameters for the black-oil polymer module. | |
static void | registerOutputModules (Model &model, Simulator &simulator) |
Register all polymer specific VTK and ECL output modules. | |
static bool | primaryVarApplies (unsigned pvIdx) |
static std::string | primaryVarName (unsigned pvIdx OPM_OPTIM_UNUSED) |
static Scalar | primaryVarWeight (unsigned pvIdx OPM_OPTIM_UNUSED) |
static bool | eqApplies (unsigned eqIdx) |
static std::string | eqName (unsigned eqIdx OPM_OPTIM_UNUSED) |
static Scalar | eqWeight (unsigned eqIdx OPM_OPTIM_UNUSED) |
template<class LhsEval > | |
static void | addStorage (Dune::FieldVector< LhsEval, numEq > &storage, const IntensiveQuantities &intQuants) |
static void | computeFlux (RateVector &flux, const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx) |
static void | assignPrimaryVars (PrimaryVariables &priVars, Scalar polymerConcentration) |
Assign the polymer specific primary variables to a PrimaryVariables object. | |
static void | updatePrimaryVars (PrimaryVariables &newPv, const PrimaryVariables &oldPv, const EqVector &delta) |
Do a Newton-Raphson update the primary variables of the polymers. | |
static Scalar | computeUpdateError (const PrimaryVariables &oldPv OPM_UNUSED, const EqVector &delta OPM_UNUSED) |
Return how much a Newton-Raphson update is considered an error. | |
static Scalar | computeResidualError (const EqVector &resid) |
Return how much a residual is considered an error. | |
template<class DofEntity > | |
static void | serializeEntity (const Model &model, std::ostream &outstream, const DofEntity &dof) |
template<class DofEntity > | |
static void | deserializeEntity (Model &model, std::istream &instream, const DofEntity &dof) |
static const Scalar | plyrockDeadPoreVolume (const ElementContext &elemCtx, unsigned scvIdx, unsigned timeIdx) |
static const Scalar | plyrockResidualResistanceFactor (const ElementContext &elemCtx, unsigned scvIdx, unsigned timeIdx) |
static const Scalar | plyrockRockDensityFactor (const ElementContext &elemCtx, unsigned scvIdx, unsigned timeIdx) |
static const Scalar | plyrockAdsorbtionIndex (const ElementContext &elemCtx, unsigned scvIdx, unsigned timeIdx) |
static const Scalar | plyrockMaxAdsorbtion (const ElementContext &elemCtx, unsigned scvIdx, unsigned timeIdx) |
static const TabulatedFunction & | plyadsAdsorbedPolymer (const ElementContext &elemCtx, unsigned scvIdx, unsigned timeIdx) |
static const TabulatedFunction & | plyviscViscosityMultiplierTable (const ElementContext &elemCtx, unsigned scvIdx, unsigned timeIdx) |
static const TabulatedFunction & | plyviscViscosityMultiplierTable (unsigned pvtnumRegionIdx) |
static const Scalar | plymaxMaxConcentration (const ElementContext &elemCtx, unsigned scvIdx, unsigned timeIdx) |
static const Scalar | plymixparToddLongstaff (const ElementContext &elemCtx, unsigned scvIdx, unsigned timeIdx) |
static bool | hasPlyshlog () |
static bool | hasShrate () |
static const Scalar | shrate (unsigned pvtnumRegionIdx) |
template<class Evaluation > | |
static Evaluation | computeShearFactor (const Evaluation &polymerConcentration, unsigned pvtnumRegionIdx, const Evaluation &v0) |
Computes the shear factor. More... | |
Contains the high level supplements required to extend the black oil model by polymer.
|
inlinestatic |
Computes the shear factor.
Input is polymer concentration and either the water velocity or the shrate if has_shrate_ is true. The pvtnumRegionIdx is needed to make sure the right table is used.
|
inlinestatic |
Specify the polymer rock properties a single region.
The index of specified here must be in range [0, numSatRegions)
|
inlinestatic |
Specify the number of mix regions.
This must be called before setting the PLYMAC and PLMIXPAR of any region.
|
inlinestatic |
Specify the number of pvt regions.
This must be called before setting the PLYVISC of any region.
|
inlinestatic |
Specify the number of satuation regions.
This must be called before setting the PLYROCK and PLYADS of any region.
|
inlinestatic |
Specify the maximum polymer concentration a single region.
The index of specified here must be in range [0, numMixRegionIdx)
|
inlinestatic |
Specify the maximum polymer concentration a single region.
The index of specified here must be in range [0, numMixRegionIdx)
|
inlinestatic |
Specify the polymer rock properties a single region.
The index of specified here must be in range [0, numSatRegions)
|
inlinestatic |
Specify the polymer viscosity a single region.
The index of specified here must be in range [0, numSatRegions)