Provides the auxiliary methods required for consideration of the diffusion equation.
More...
#include <blackoildiffusionmodule.hh>
|
static void | registerParameters () |
| Register all run-time parameters for the diffusion module. More...
|
|
template<class Context > |
static 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. 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 . More...
|
|
template<class FluidState , class EvaluationArray > |
static void | addDiffusiveFlux (RateVector &flux, const FluidState &fluidStateI, const FluidState &fluidStateJ, const Evaluation &diffusivity, const EvaluationArray &effectiveDiffusionCoefficient) |
|
template<class TypeTag>
class Opm::BlackOilDiffusionModule< TypeTag, true > Provides the auxiliary methods required for consideration of the diffusion equation.
◆ ExtensiveQuantities
◆ addDiffusiveFlux() [1/2]
template<class TypeTag >
template<class Context >
static void Opm::BlackOilDiffusionModule< TypeTag, true >::addDiffusiveFlux |
( |
RateVector & |
flux, |
|
|
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| |
|
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 .
◆ addDiffusiveFlux() [2/2]
template<class TypeTag >
template<class FluidState , class EvaluationArray >
static void Opm::BlackOilDiffusionModule< TypeTag, true >::addDiffusiveFlux |
( |
RateVector & |
flux, |
|
|
const FluidState & |
fluidStateI, |
|
|
const FluidState & |
fluidStateJ, |
|
|
const Evaluation & |
diffusivity, |
|
|
const EvaluationArray & |
effectiveDiffusionCoefficient |
|
) |
| |
|
inlinestatic |
◆ registerParameters()
Register all run-time parameters for the diffusion module.
The documentation for this class was generated from the following file:
|