My Project
Loading...
Searching...
No Matches
Opm::BlackOilExtensiveQuantities< TypeTag > Class Template Reference

This template class contains the data which is required to calculate the fluxes of the fluid phases over a face of a finite volume for the black-oil model. More...

#include <blackoilextensivequantities.hh>

Inheritance diagram for Opm::BlackOilExtensiveQuantities< TypeTag >:
Opm::MultiPhaseBaseExtensiveQuantities< TypeTag > Opm::BlackOilSolventExtensiveQuantities< TypeTag, enableSolventV > Opm::BlackOilPolymerExtensiveQuantities< TypeTag, enablePolymerV > Opm::BlackOilEnergyExtensiveQuantities< TypeTag, enableEnergyV > Opm::BlackOilDiffusionExtensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableDiffusion >()> Opm::BlackOilMICPExtensiveQuantities< TypeTag, enableMICPV >

Public Member Functions

void update (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
 Update the extensive quantities for a given sub-control-volume-face.
 
template<class Context , class FluidState >
void updateBoundary (const Context &ctx, unsigned bfIdx, unsigned timeIdx, const FluidState &fluidState)
 
- Public Member Functions inherited from Opm::MultiPhaseBaseExtensiveQuantities< TypeTag >
void update (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
 Update the extensive quantities for a given sub-control-volume-face.
 
template<class Context , class FluidState >
void updateBoundary (const Context &context, unsigned bfIdx, unsigned timeIdx, const FluidState &fluidState)
 Update the extensive quantities for a given boundary face.
 
short upstreamIndex (unsigned phaseIdx) const
 Return the local index of the upstream control volume for a given phase as a function of the normal flux.
 
short downstreamIndex (unsigned phaseIdx) const
 Return the local index of the downstream control volume for a given phase as a function of the normal flux.
 
Scalar upstreamWeight (unsigned) const
 Return the weight of the upstream control volume for a given phase as a function of the normal flux.
 
Scalar downstreamWeight (unsigned phaseIdx) const
 Return the weight of the downstream control volume for a given phase as a function of the normal flux.
 
- Public Member Functions inherited from Opm::BlackOilSolventExtensiveQuantities< TypeTag, enableSolventV >
template<class Dummy = bool>
void updateVolumeFluxPerm (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
 Method which calculates the volume flux of the polymer "phase" using the pressure potential gradient of the gas phase and the intrinsic permeability.
 
template<class Dummy = bool>
void updateVolumeFluxTrans (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
 Method which calculates the volume flux of the polymer "phase" using the gas pressure potential difference between cells and transmissibilities.
 
unsigned solventUpstreamIndex () const
 
unsigned solventDownstreamIndex () const
 
const Evaluation & solventVolumeFlux () const
 
void setSolventVolumeFlux (const Evaluation &solventVolumeFlux)
 
- Public Member Functions inherited from Opm::BlackOilPolymerExtensiveQuantities< TypeTag, enablePolymerV >
template<class Dummy = bool>
void updateShearMultipliersPerm (const ElementContext &, unsigned, unsigned)
 Method which calculates the shear factor based on flow velocity.
 
template<class Dummy = bool>
void updateShearMultipliers (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
 Method which calculates the shear factor based on flow velocity.
 
const Evaluation & polymerShearFactor () const
 
const Evaluation & waterShearFactor () const
 
- Public Member Functions inherited from Opm::BlackOilEnergyExtensiveQuantities< TypeTag, enableEnergyV >
void updateEnergy (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
 
template<class Context , class BoundaryFluidState >
void updateEnergyBoundary (const Context &ctx, unsigned scvfIdx, unsigned timeIdx, const BoundaryFluidState &boundaryFs)
 
const Evaluation & energyFlux () const
 

Protected Member Functions

Implementation & asImp_ ()
 
const Implementation & asImp_ () const
 

Additional Inherited Members

- Static Public Member Functions inherited from Opm::MultiPhaseBaseExtensiveQuantities< TypeTag >
static void registerParameters ()
 Register all run-time parameters for the extensive quantities.
 
- Static Public Member Functions inherited from Opm::BlackOilEnergyExtensiveQuantities< TypeTag, enableEnergyV >
template<class FluidState >
static void updateEnergy (Evaluation &energyFlux, const unsigned &focusDofIndex, const unsigned &inIdx, const unsigned &exIdx, const IntensiveQuantities &inIq, const IntensiveQuantities &exIq, const FluidState &inFs, const FluidState &exFs, const Scalar &inAlpha, const Scalar &outAlpha, const Scalar &faceArea)
 
template<class BoundaryFluidState >
static void updateEnergyBoundary (Evaluation &energyFlux, const IntensiveQuantities &inIq, unsigned focusDofIndex, unsigned inIdx, Scalar alpha, const BoundaryFluidState &boundaryFs)
 

Detailed Description

template<class TypeTag>
class Opm::BlackOilExtensiveQuantities< TypeTag >

This template class contains the data which is required to calculate the fluxes of the fluid phases over a face of a finite volume for the black-oil model.

This means pressure and concentration gradients, phase densities at the intergration point, etc.

Member Function Documentation

◆ update()

template<class TypeTag >
void Opm::BlackOilExtensiveQuantities< TypeTag >::update ( const ElementContext & elemCtx,
unsigned scvfIdx,
unsigned timeIdx )
inline

Update the extensive quantities for a given sub-control-volume-face.

Parameters
elemCtxReference to the current element context.
scvfIdxThe local index of the sub-control-volume face for which the extensive quantities should be calculated.
timeIdxThe index used by the time discretization.

The documentation for this class was generated from the following file: