From 3fc738c0fa629e1cdc3183c3ddccfc59440b788c Mon Sep 17 00:00:00 2001
From: Leon Keim <leon.keim@googlemail.com>
Date: Tue, 27 Sep 2022 16:25:48 +0200
Subject: [PATCH] Adding description of Forchheimerslaw

---
 doc/handbook/dumux-handbook.bib   | 12 ++++++
 dumux/flux/darcyslaw.hh           |  2 +-
 dumux/flux/forchheimerslaw.hh     | 63 +++++++++++++++++++++++++++++--
 dumux/flux/forchheimervelocity.hh | 62 ++----------------------------
 4 files changed, 75 insertions(+), 64 deletions(-)

diff --git a/doc/handbook/dumux-handbook.bib b/doc/handbook/dumux-handbook.bib
index 8213ef14e3..e2f7c103f8 100644
--- a/doc/handbook/dumux-handbook.bib
+++ b/doc/handbook/dumux-handbook.bib
@@ -1996,3 +1996,15 @@ url={https://doi.org/10.1007/s10765-012-1254-5}
     year = {1975},
     url = {https://link.springer.com/content/pdf/10.1007/BF00867119.pdf}
 }
+
+@article{Fichot2006,
+title = {The impact of thermal non-equilibrium and large-scale 2D/3D effects on debris bed reflooding and coolability},
+journal = {Nuclear Engineering and Design},
+volume = {236},
+number = {19},
+pages = {2144-2163},
+year = {2006},
+issn = {0029-5493},
+doi = {10.1016/j.nucengdes.2006.03.059},
+author = {F. Fichot and F. Duval and N. Trégourès and C. Béchaud and M. Quintard},
+}
diff --git a/dumux/flux/darcyslaw.hh b/dumux/flux/darcyslaw.hh
index d9fe5e76da..f07e3a7648 100644
--- a/dumux/flux/darcyslaw.hh
+++ b/dumux/flux/darcyslaw.hh
@@ -21,7 +21,7 @@
  * \ingroup Flux
  * \brief Advective fluxes according to Darcy's law
  *
- * Darcy's law describes the advective flux in porous media on the macro-scale and is valid in the creeping flow regime (Reynolds number << 1).
+ * Darcy's law describes the advective flux in porous media on the macro-scale and is valid in the creeping flow regime (Reynolds number << 1, Forchheimer extensions is also implemented->see forcheimerslaw.hh).
  * The advective flux characterizes the bulk flow for each fluid phase including all components in case of compositional flow.
  * It is driven by the potential gradient \f$\textbf{grad}\, p - \varrho {\textbf g}\f$,
  * accounting for both pressure-driven and gravitationally-driven flow.
diff --git a/dumux/flux/forchheimerslaw.hh b/dumux/flux/forchheimerslaw.hh
index 021cdb5601..14d68b9d96 100644
--- a/dumux/flux/forchheimerslaw.hh
+++ b/dumux/flux/forchheimerslaw.hh
@@ -19,10 +19,65 @@
 /*!
  * \file
  * \ingroup Flux
- * \brief Forchheimer's law specialized for different discretization schemes
- *        This file contains the data which is required to calculate
- *        volume and mass fluxes of fluid phases over a face of a finite volume by means
- *        of the Forchheimer approximation. Specializations are provided for the different discretization methods.
+ * \brief 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 \cite nield2006
+ *
+ * For multiphase flow, the relative passability \f$ \eta_r\f$ is the "Forchheimer-equivalent" to the relative
+ * permeability \f$ k_r\f$.
+ * We use the same function for \f$ \eta_r\f$ as for \f$ k_r \f$ (Van-Genuchten, Brooks-Corey, linear), other authors use a simple
+ * power law e.g.: \f$\eta_{rw} = S_w^3\f$
+ *
+ * This leads to the equation in the form:
+ * \f[ \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
+ * \f]
+ * This already includes the assumption \f$ k_r(S_w) = \eta_r(S_w)\f$:
+ * - \f$\eta_{rw} = S_w^x\f$ looks very similar to e.g. Van Genuchten relative permeabilities
+ * - Fichot et al. (2006) \cite Fichot2006 state that several authors claim
+ *   that \f$ k_r(S_w), \eta_r(S_w)\f$ can be chosen equal
+ * - It leads to the equation not degenerating for the case of \f$S_w=1\f$, because I do not
+ *   need to multiply with two different functions, and therefore there are terms not being
+ *   zero.
+ * - If this assumption is not to be made: Some regularization needs to be introduced ensuring
+ *   that not all terms become zero for \f$S_w=1\f$.
+ *
+ * This non-linear equations is solved for \f$\mathbf{v_\alpha}\f$ using Newton's method
+ * and an analytical derivative w.r.t. \f$\mathbf{v_\alpha}\f$.
+ *
+ * The gradient of the Forchheimer relations looks as follows (mind that \f$\sqrt{\mathbf{K}}\f$
+ * is a tensor):
+ *
+ * \f[  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)
+ *  \f]
+ *
+ * \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 \f$\sqrt{\mathbf{K}}\f$
+ * \note Forchheimer's law specialized for different discretization schemes (e.g. Box, CCTpfa).
+ * \note Forchheimer's law works with every model that contains Darcy's law.
  */
 #ifndef DUMUX_FLUX_FORCHHEIMERS_LAW_HH
 #define DUMUX_FLUX_FORCHHEIMERS_LAW_HH
diff --git a/dumux/flux/forchheimervelocity.hh b/dumux/flux/forchheimervelocity.hh
index 7ea9ae2974..188696fe1f 100644
--- a/dumux/flux/forchheimervelocity.hh
+++ b/dumux/flux/forchheimervelocity.hh
@@ -41,6 +41,8 @@ namespace Dumux {
 /*!
  * \ingroup Flux
  * \brief Forchheimer's law
+ *        For a detailed description see dumux/flow/forchheimerslaw.hh
+ *
  *        This file contains the calculation of the Forchheimer velocity
  *        for a given Darcy velocity
  */
@@ -60,65 +62,7 @@ class ForchheimerVelocity
     using DimWorldVector = Dune::FieldVector<Scalar, dimWorld>;
     using DimWorldMatrix = Dune::FieldMatrix<Scalar, dimWorld, dimWorld>;
 
-    /*! \brief Compute the Forchheimer velocity of a phase at
-    *          the given sub-control volume face using the Forchheimer equation.
-    *
-    *
-    * see e.g. Nield & Bejan: Convection in Porous Media \cite nield2006
-    *
-    * The relative passability \f$ \eta_r\f$ is the "Forchheimer-equivalent" to the relative
-    * permeability \f$ k_r\f$.
-    * We use the same function as for \f$ k_r \f$ (VG, BC, linear) other authors use a simple
-    * power law e.g.: \f$\eta_{rw} = S_w^3\f$
-    *
-    * Some rearrangements have been made to the original Forchheimer relation:
-    *
-    * \f[ \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
-    * \f]
-    *
-    * This already includes the assumption \f$ k_r(S_w) = \eta_r(S_w)\f$:
-    * - \f$\eta_{rw} = S_w^x\f$ looks very similar to e.g. Van Genuchten relative permeabilities
-    * - Fichot, et al. (2006), Nuclear Engineering and Design, state that several authors claim
-    *   that \f$ k_r(S_w), \eta_r(S_w)\f$ can be chosen equal
-    * - It leads to the equation not degenerating for the case of \f$S_w=1\f$, because I do not
-    *   need to multiply with two different functions, and therefore there are terms not being
-    *   zero.
-    * - If this assumption is not to be made: Some regularization needs to be introduced ensuring
-    *   that not all terms become zero for \f$S_w=1\f$.
-    *
-    * This non-linear equations is solved for \f$\mathbf{v_\alpha}\f$ using Newton's method
-    * and an analytical derivative w.r.t. \f$\mathbf{v_\alpha}\f$.
-    *
-    * The gradient of the Forchheimer relations looks as follows (mind that \f$\sqrt{\mathbf{K}}\f$
-    * is a tensor):
-    *
-    * \f[  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)
-    *  \f]
-    *
-    * \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 \f$\sqrt{\mathbf{K}}\f$
-    */
+
     template<class ElementVolumeVariables>
     static DimWorldVector velocity(const FVElementGeometry& fvGeometry,
                                    const ElementVolumeVariables& elemVolVars,
-- 
GitLab