|
opm-simulators
|
Provides the auxiliary methods required for consideration of the diffusion equation. More...
#include <blackoildiffusionmodule.hh>
Public Types | |
| using | ExtensiveQuantities = BlackOilDiffusionExtensiveQuantities< TypeTag, true > |
Static Public Member Functions | |
| static void | initFromState (const EclipseState &eclState) |
| Initialize all internal data structures needed by the diffusion module. | |
| static void | registerParameters () |
| Register all run-time parameters for the diffusion module. | |
| template<class Context > | |
| static OPM_HOST_DEVICE void | addDiffusiveFlux (RateVector &flux, const Context &context, unsigned spaceIdx, unsigned timeIdx) |
| Adds the mass flux due to molecular diffusion to the flux vector over the integration point. More... | |
| template<class IntensiveQuantities , class EvaluationArray , class RateVectorT > | |
| static OPM_HOST_DEVICE void | addDiffusiveFlux (RateVectorT &flux, const IntensiveQuantities &inIq, const IntensiveQuantities &exIq, const Evaluation &diffusivity, const EvaluationArray &effectiveDiffusionCoefficient) |
| template<class IntensiveQuantities , class EvaluationArray > | |
| static OPM_HOST_DEVICE void | addBioDiffFlux (RateVector &flux, const IntensiveQuantities &inIq, const IntensiveQuantities &exIq, const Evaluation &diffusivity, const EvaluationArray &effectiveBioDiffCoefficient) |
Provides the auxiliary methods required for consideration of the diffusion equation.
|
inlinestatic |
Adds the mass flux due to molecular diffusion to the flux vector over the integration point.
Following the notation in blackoilmodel.hh, the diffusive flux for component
in phase
is given by:
, where
is the shrinkage/expansion factor [-],
is the saturation [-] D is the diffusion coefficient [L/T^2] and
the component mass fraction [-] or molar fraction [-], depending on the input use_mole_fraction_ (default true) Each component mass/molar fraction can be computed using
. For example the mass fraction are given by,
, where
and
are the reference densities. Considering the water phase and gas component as an example, for cells i and j, the discrete version of the diffusive flux at the face's integration point is given by
where
,
,
, and
are computed using the arithmetic mean, and the ratio
is denoted as conversion factor. The diffusivity
is computed in ecltransmissibility_impl.hh, using the cells porosity, face area and distance between cell center and the integration point. For mol fraction the convertion factor is given by