3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
forchheimerslaw.hh File Reference

Advective fluxes according to Forchheims's law (extends Darcy's law by an nonlinear drag) More...

#include <dumux/flux/forchheimerslaw_fwd.hh>
#include <dumux/flux/cctpfa/forchheimerslaw.hh>
#include <dumux/flux/box/forchheimerslaw.hh>

Go to the source code of this file.

Description

Advective fluxes according to Forchheims's law (extends Darcy's law by an nonlinear drag)

Darcy’s law is linear in the seepage velocity v. As described in "darcyslaw.hh", this is valid for creeping flow (Re<<1). As v increases further, a nonlinear drag arises. The nonlinear drag arises, because the friction becomes comparable to surface drag due to friction. This additional friction is added as the forchheimer term to the Darcy's law. Resulting in the Forchheimer's law. see e.g. Nield & Bejan: Convection in Porous Media [46]

For multiphase flow, the relative passability \( \eta_r\) is the "Forchheimer-equivalent" to the relative permeability \( k_r\). We use the same function for \( \eta_r\) as for \( k_r \) (Van-Genuchten, Brooks-Corey, linear), other authors use a simple power law e.g.: \(\eta_{rw} = S_w^3\)

This leads to the equation in the form:

\[ \mathbf{v_\alpha} + c_F \sqrt{\mathbf{K}} \frac{\rho_\alpha}{\mu_\alpha } |\mathbf{v_\alpha}| \mathbf{v_\alpha} + \frac{k_{r \alpha}}{\mu_\alpha} \mathbf{K} \nabla \left(p_\alpha + \rho_\alpha g z \right)= 0 \]

This already includes the assumption \( k_r(S_w) = \eta_r(S_w)\):

This non-linear equations is solved for \(\mathbf{v_\alpha}\) using Newton's method and an analytical derivative w.r.t. \(\mathbf{v_\alpha}\).

The gradient of the Forchheimer relations looks as follows (mind that \(\sqrt{\mathbf{K}}\) is a tensor):

\[ f\left(\mathbf{v_\alpha}\right) = \left( \begin{array}{ccc} 1 & 0 &0 \\ 0 & 1 &0 \\ 0 & 0 &1 \\ \end{array} \right) + c_F \frac{\rho_\alpha}{\mu_\alpha} |\mathbf{v}_\alpha| \sqrt{\mathbf{K}} + c_F \frac{\rho_\alpha}{\mu_\alpha}\frac{1}{|\mathbf{v}_\alpha|} \sqrt{\mathbf{K}} \left( \begin{array}{ccc} v_x^2 & v_xv_y & v_xv_z \\ v_yv_x & v_{y}^2 & v_yv_z \\ v_zv_x & v_zv_y &v_{z}^2 \\ \end{array} \right) \]

Note
We restrict the use of Forchheimer's law to diagonal permeability tensors so far. This might be changed to general tensors using eigenvalue decomposition to get \(\sqrt{\mathbf{K}}\)
Forchheimer's law specialized for different discretization schemes (e.g. Box, CCTpfa).
Forchheimer's law works with every model that contains Darcy's law.
Include dependency graph for forchheimerslaw.hh: