Determines the velocity from a finite volume solution of the pressure equation of a sequential model (IMPES). More...
#include <dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/velocity.hh>

Determines the velocity from a finite volume solution of the pressure equation of a sequential model (IMPES).
Calculates phase velocities or total velocity from a known pressure field applying a finite volume discretization. The wetting or the non-wetting phase pressure, or the global pressure has to be given as piecewise constant cell values. The phase velocities are calculated following Darcy's law as
\[ v_\alpha = - \frac{k_{r\alpha}}{\mu_\alpha} \textbf{K} \left(\textbf{grad}\, p_\alpha - \varrho_{\alpha} {\textbf g} \right), \]
where \( p_\alpha \) denotes the pressure of phase \(\alpha \in \{ w, n \}\), \( \boldsymbol K \) the absolute permeability tensor, \( \lambda_\alpha \) the phase mobility, \( \varrho_\alpha \) the phase density and \( {\textbf g} \) the gravitational acceleration vector. The total velocity is either calculated as sum of the phase velocities
\[ \boldsymbol v_{total} = \boldsymbol v_{wetting}+\boldsymbol v_{non-wetting}, \]
or with a given global pressure
\[ \boldsymbol v_{total} = \lambda_{total} \boldsymbol K \left(\textbf{grad}\, p_{global} - \sum f_\alpha \varrho_\alpha {\textbf g}\right). \]
| TypeTag | The Type Tag |
Public Member Functions | |
| FVVelocity2P (Problem &problem) | |
| Constructs a FVVelocity2P object. More... | |
| void | initialize () |
| For initialization. More... | |
| void | calculateVelocity (const Intersection &, CellData &) |
| Calculates the velocity at a cell-cell interface. More... | |
| void | calculateVelocityOnBoundary (const Intersection &, CellData &) |
| Calculates the velocity at a boundary. More... | |
| bool | calculateVelocityInTransport () |
| Indicates if velocity is reconstructed in the pressure step or in the transport step. More... | |
| template<class MultiWriter > | |
| void | addOutputVtkFields (MultiWriter &writer) |
| Adds velocity output to the output file. More... | |
|
inline |
Constructs a FVVelocity2P object.
| problem | A Problem class object |
|
inline |
Adds velocity output to the output file.
Adds the phase velocities or a total velocity (depending on the formulation) to the output.
| MultiWriter | Class defining the output writer |
| writer | The output writer (usually a VTKMultiWriter object) |
| void Dumux::FVVelocity2P< TypeTag >::calculateVelocity | ( | const Intersection & | intersection, |
| CellData & | cellData | ||
| ) |
Calculates the velocity at a cell-cell interface.
Calculates the velocity at a cell-cell interface from a given pressure field.
| intersection | Intersection of two grid cells |
| cellData | Object containing all model relevant cell data |
|
inline |
Indicates if velocity is reconstructed in the pressure step or in the transport step.
Returns true (In the standard finite volume discretization the velocity is calculated during the saturation transport.)
| void Dumux::FVVelocity2P< TypeTag >::calculateVelocityOnBoundary | ( | const Intersection & | intersection, |
| CellData & | cellData | ||
| ) |
Calculates the velocity at a boundary.
Calculates the velocity at a boundary from a given pressure field.
| intersection | Boundary intersection |
| cellData | Object containing all model relevant cell data |
|
inline |
For initialization.