diff --git a/slides/intro.md b/slides/intro.md index 2b3b294ce4affcbe81698eb232dd941417eab8e6..fcd73c679c673bad99df8f664d9ff4e591053d51 100644 --- a/slides/intro.md +++ b/slides/intro.md @@ -37,7 +37,7 @@ subtitle: Overview and Available Models ## Overview -<img src="img/dumux.png" width="400"/> +<img src="img/dumux.png" width="300"/> * **DuMu^x^:** DUNE for Multi-{Phase, Component, Scale, Physics, $\text{...}$} flow and transport in porous media. * **Goal:** **sustainable, consistent, research-friendly framework** for the implementation and application of @@ -81,7 +81,7 @@ and third-party funding aquired at the LH^2^ ## Funding -We acknowledge funding that supported the development of DuMu^x^ from +We acknowledge funding that supported the development of DuMu^x^ in past and present: <img src="img/funding.svg" width="550"/> @@ -115,17 +115,19 @@ We acknowledge funding that supported the development of DuMu^x^ from * DuMu^x^ **Examples** (<https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/tree/master/examples#examples>) * DuMu^x^ **Website** (<https://dumux.org/>) -# Available Models +# Mathematical Models ## Mathematical Models -* **Porous medium flow (Darcy)**: Single and multi-phase models for flow and transport in porous materials. -* **Free flow (Navier-Stokes)**: Single-phase models based on the Navier-Stokes equation. +Preimplemented models: + +* **Flow in porous media (Darcy)**: Single and multi-phase models for flow and transport in porous materials. +* **Free flow (Navier-Stokes)**: Single-phase models based on the Navier-Stokes equations. * **Shallow water flow**: Two-dimensional shallow water flow (depth-averaged). -* **Geomechanics**: Models taking into account solid deformation. +* **Geomechanics**: Models taking into account solid deformation of porous materials. * **Pore network**: Single and multi-phase models for flow and transport in pore networks. -## Available Models +## Flow in Porous Media <img src="img/models.png" width="650"/> @@ -140,13 +142,14 @@ We acknowledge funding that supported the development of DuMu^x^ from * Multi-phase flow (phase $\alpha$) $v_\alpha = - \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left(\textbf{grad}\, p_\alpha - \varrho_\alpha \mathbf{g} \right)$ + where $k_{r\alpha}(S_\alpha)$ is the relative permeability, a function of saturation $S_\alpha$ ## 1p -- single-phase * Uses standard Darcy approach for the conservation of momentum * Mass continuity equation - $\phi \frac{\partial \varrho}{\partial t} + \text{div} \left\lbrace - \varrho \frac{\textbf{K}}{\mu} \left(\textbf{grad}\, p - \varrho \textbf{g} \right) \right\rbrace = q$ + $\frac{\partial\left( \phi \varrho \right)}{\partial t} + \text{div} \left\lbrace - \varrho \frac{\textbf{K}}{\mu} \left(\textbf{grad}\, p - \varrho \textbf{g} \right) \right\rbrace = q$ * Primary variable: $p$ @@ -155,7 +158,7 @@ We acknowledge funding that supported the development of DuMu^x^ from * Uses standard Darcy approach for the conservation of momentum * Transport of component $\kappa \in \{w, a, ...\}$ - $\phi \frac{\partial \varrho X^\kappa}{\partial t} - \text{div} \left\lbrace \varrho X^\kappa \frac{\textbf {K}}{\mu} \left(\textbf{grad}\, p - \varrho \textbf{g} \right) + \varrho D^\kappa_\text{pm} \textbf{grad} X^\kappa \right\rbrace = q$ + $\frac{\partial\left( \phi \varrho X^\kappa \right)}{\partial t} - \text{div} \left\lbrace \varrho X^\kappa \frac{\textbf {K}}{\mu} \left(\textbf{grad}\, p - \varrho \textbf{g} \right) + \varrho D^\kappa_\text{pm} \textbf{grad} X^\kappa \right\rbrace = q$ * Primary variables: $p$ and $x^\kappa$ @@ -178,69 +181,75 @@ We acknowledge funding that supported the development of DuMu^x^ from * Uses standard multi-phase Darcy approach for the conservation of momentum * Conservation of the phase mass of phase $\alpha \in \{w, n\}$ - $\phi \frac{\partial \varrho_\alpha S_\alpha}{\partial t} - \text{div} \left\{\varrho_\alpha \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left(\textbf{grad}\, p_\alpha - \varrho_\alpha \mathbf{g} \right) \right\} = q_\alpha$ + $\frac{\partial \left( \phi \varrho_\alpha S_\alpha \right)}{\partial t} - \text{div} \left\{\varrho_\alpha \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left(\textbf{grad}\, p_\alpha - \varrho_\alpha \mathbf{g} \right) \right\} = q_\alpha$ -* Constitutive relation $p_c = p_n - p_w$ -* $S_w + S_n = 1$ -* Primary variables: $p_w$ and $S_n$ or $p_n$ and $S_w$ +* Constitutive relation: $p_c := p_n - p_w = p_c(S_w)$, $k_{r\alpha}$ = $k_{r\alpha}(S_w)$ +* Physical constraint (no free space): $S_w + S_n = 1$ +* Primary variables: $p_w$, $S_n$ or $p_n$, $S_w$ ## 2pnc * Transport equation for each component $\kappa \in \{w, n, ...\}$ in phase $\alpha \in \{w, n\}$ - $\frac{\partial \sum_\alpha \varrho_\alpha X_\alpha^\kappa \phi S_\alpha}{\partial t} - \sum_\alpha \text{div} \left\lbrace \varrho_\alpha X_\alpha^\kappa \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left( \textbf{grad}\, p_\alpha - \varrho_\alpha \mathbf{g} \right) \right\rbrace$ - $- \sum_\alpha \text{div} \left\lbrace \mathbf{D_{\alpha, pm}^\kappa} \varrho_\alpha \textbf{grad}\, X^\kappa_\alpha \right\rbrace = \sum_\alpha q_\alpha^\kappa$ + $\begin{aligned}\frac{\partial \left( \sum_\alpha \varrho_\alpha X_\alpha^\kappa \phi S_\alpha \right)}{\partial t} &- \sum_\alpha \text{div} \left\lbrace \varrho_\alpha X_\alpha^\kappa \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left( \textbf{grad}\, p_\alpha - \varrho_\alpha \mathbf{g} \right) \right\rbrace \\ + &- \sum_\alpha \text{div} \left\lbrace \mathbf{D_{\alpha, pm}^\kappa} \varrho_\alpha \textbf{grad}\, X^\kappa_\alpha \right\rbrace = \sum_\alpha q_\alpha^\kappa \end{aligned}$ -* Constitutive relation $p_c = p_n - p_w$ -* $S_w + S_n = 1$ and $X^\kappa_w + X^\kappa_n = 1$ -* Primary variables: depend on the phase state +* Constitutive relation: $p_c := p_n - p_w = p_c(S_w)$, $k_{r\alpha}$ = $k_{r\alpha}(S_w)$ +* Physical constraints: $S_w + S_n = 1$ and $\sum_\kappa X_\alpha^\kappa = 1$ +* Primary variables: depending on the phase state ## 2pncmin * Transport equation for each component $\kappa \in \{w, n, ...\}$ in phase $\alpha \in \{w, n\}$ - $\frac{\partial \sum_\alpha \varrho_\alpha X_\alpha^\kappa \phi S_\alpha}{\partial t} - \sum_\alpha \text{div} \left\lbrace \varrho_\alpha X_\alpha^\kappa \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left( \textbf{grad}\, p_\alpha - \varrho_\alpha \mathbf{g} \right) \right\rbrace$ - $- \sum_\alpha \text{div} \left\lbrace \mathbf{D_{\alpha, pm}^\kappa} \varrho_\alpha \textbf{grad}\, X^\kappa_\alpha \right\rbrace = \sum_\alpha q_\alpha^\kappa$ + $\begin{aligned}\frac{\partial \left( \sum_\alpha \varrho_\alpha X_\alpha^\kappa \phi S_\alpha \right)}{\partial t} &- \sum_\alpha \text{div} \left\lbrace \varrho_\alpha X_\alpha^\kappa \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left( \textbf{grad}\, p_\alpha - \varrho_\alpha \mathbf{g} \right) \right\rbrace \\ + &- \sum_\alpha \text{div} \left\lbrace \mathbf{D_{\alpha, pm}^\kappa} \varrho_\alpha \textbf{grad}\, X^\kappa_\alpha \right\rbrace = \sum_\alpha q_\alpha^\kappa \end{aligned}$ * Mass balance solid or mineral phases - $\frac{\partial \left(\varrho_\lambda \phi_\lambda \right)}{\partial t} = q_\lambda$ + $\frac{\partial \left(\varrho_\lambda \phi_\lambda \right)}{\partial t} = q_\lambda \quad \forall \lambda \in \Lambda$ -* $p_c = p_n - p_w$, $S_w + S_n = 1$ and $X^\kappa_w + X^\kappa_n = 1$ -* Primary variables: depend on the phase state +* for a set of solid phases $\Lambda$ each with volume fraction $\varrho_\lambda$ +* source term models **dissolution** / **precipiation** / **phase transition** fluid ↔ solid ## 3p -- three-phase * Uses standard multi-phase Darcy approach for the conservation of momentum * Conservation of the phase mass of phase $\alpha \in \{w, g, n\}$ - $\phi \frac{\partial \varrho_\alpha S_\alpha}{\partial t} - \text{div} \left\lbrace \varrho_\alpha \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left(\textbf{grad}\, p_\alpha - \varrho_\alpha \mathbf{g} \right) \right\rbrace = q_\alpha$ + $\frac{\partial \left( \phi \varrho_\alpha S_\alpha \right)}{\partial t} - \text{div} \left\lbrace \varrho_\alpha \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left(\textbf{grad}\, p_\alpha - \varrho_\alpha \mathbf{g} \right) \right\rbrace = q_\alpha$ -* $S_w + S_n + S_g = 1$ -* Primary variables: $p_g$, $S_w$ and $S_n$ +* Physical constraint: $S_w + S_n + S_g = 1$ +* Primary variables: $p_g$, $S_w$, $S_n$ ## 3p3c * Transport equation for each component $\kappa \in \{w, a, c\}$ in phase $\alpha \in \{w, g, n\}$ - $\phi \frac{\partial \left(\sum_\alpha \varrho_{\alpha,mol} x_\alpha^\kappa S_\alpha \right)}{\partial t}$ - $- \sum_\alpha \text{div} \left\lbrace \frac{k_{r\alpha}}{\mu_\alpha} \varrho_{\alpha,mol} x_\alpha^\kappa \mathbf{K} \left(\textbf{grad}\, p_\alpha - \varrho_{\alpha,mass} \mathbf{g} \right) \right\rbrace$ - $- \sum_\alpha \text{div} \left\lbrace D_\text{pm}^\kappa \frac{1}{M_\kappa} \varrho_\alpha \textbf{grad} X^\kappa_{\alpha} \right\rbrace = q^\kappa$ + $\begin{aligned}\frac{\partial \left( \phi \sum_\alpha \varrho_{\alpha,mol} x_\alpha^\kappa S_\alpha \right)}{\partial t} + &- \sum_\alpha \text{div} \left\lbrace \frac{k_{r\alpha}}{\mu_\alpha} \varrho_{\alpha,mol} x_\alpha^\kappa \mathbf{K} \left(\textbf{grad}\, p_\alpha - \varrho_{\alpha,mass} \mathbf{g} \right) \right\rbrace \\ + &- \sum_\alpha \text{div} \left\lbrace D_\text{pm}^\kappa \frac{1}{M_\kappa} \varrho_\alpha \textbf{grad} X^\kappa_{\alpha} \right\rbrace = q^\kappa \end{aligned}$ -* $S_w + S_n + S_g = 1$ and $x^w_\alpha + x^a_\alpha + x^c_\alpha = 1$ +* Physical constraints: $\sum_\alpha S_\alpha = 1$ and $\sum_\kappa x^\kappa_\alpha = 1$ * Primary variables: depend on the locally present fluid phases -## Non-Isothermal - -* Local thermal equilibrium is assumed +## Non-Isothermal (equilibrium) +* Local thermal equilibrium assumption * One energy conservation equation for the porous solid matrix and the fluids - $\phi \frac{\partial \sum_\alpha \varrho_\alpha u_\alpha S_\alpha}{\partial t} + \left(1 - \phi \right) \frac{\partial \left(\varrho_s c_s T \right)}{\partial t}$ - $- \sum_\alpha \text{div} \left\lbrace \varrho_\alpha h_\alpha \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left(\textbf{grad}\, p_\alpha - \varrho_\alpha \mathbf{g} \right) \right\rbrace$ - $- \text{div} \left(\lambda_{pm} \textbf{grad}\, T \right) = q^h$ + $\begin{aligned}\frac{\partial \left( \phi \sum_\alpha \varrho_\alpha u_\alpha S_\alpha \right)}{\partial t} &+ \frac{\partial \left(\left(1 - \phi \right)\varrho_s c_s T \right)}{\partial t} \\ + &- \sum_\alpha \text{div} \left\lbrace \varrho_\alpha h_\alpha \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left(\textbf{grad}\, p_\alpha - \varrho_\alpha \mathbf{g} \right) \right\rbrace \\ + &- \text{div} \left(\lambda_{pm} \textbf{grad}\, T \right) = q^h \end{aligned}$ + +* specific internal energy $u_\alpha = h_\alpha - p_\alpha / \varrho_\alpha$ +* can be added to other models, additional primary variable temperature $T$ -* $u_\alpha = h_\alpha - p_\alpha / \varrho_\alpha$ +## Free flow (Navier-Stokes) + +* Stokes equation +* Navier-Stokes equations +* Energy and component transport ## Reynolds-Averaged Navier-Stokes (RANS) @@ -253,14 +262,16 @@ We acknowledge funding that supported the development of DuMu^x^ from $\mu_\textrm{eff} = \mu + \mu_\textrm{t}$ +* Various turbulence models are implemented + # Spatial Discretization -## Cell Centered Finite Volume Methods +## Cell-centered Finite Volume Methods -* Use elements of the grid as control volumes -* Discrete **values** are determined at the element/control volume **center** +* Elements of the grid are used as control volumes +* Discrete **values** represent control volume average * **Two-point flux approximation (TPFA)** - * Simple but robust + * Simple and robust but not always consistent * **Multi-point flux approximation (MPFA)** * A consistent discrete gradient is constructed @@ -272,28 +283,31 @@ We acknowledge funding that supported the development of DuMu^x^ from <img src="img/mpfa.png" width="80%"/> -## Box method +## Control-volume finite element methods * Model domain is discretized using a **FE** mesh * Secondary **FV** mesh is constructed → control volume/**box** -* Control volumes are partitioned into sub-control volumes (scvs) -* Faces of control volumes are partitioned into sub-control volume faces (scvfs) -* Unites advantages of finite-volume and finite-element methods +* Control volumes (CV) split into sub control volumes (SCVs) +* Faces of CV split into sub control volume faces (SCVFs) +* Unites advantages of finite-volume (simplicity) and finite-element methods (flexibility) * **Unstructured grids** (from FE method) - * **Mass conservative** (from FV method) + * **Mass conservation** (from FV method) ## Box method -<img src="img/box.png"/> +Vertex-centered finite volumes / control volume finite element +method with piecewise linear polynomial functions ($\mathrm{P}_1/\mathrm{Q}_1$) + +<img src="img/box.png" width="70%"/> -## Staggered Grid +## Finite Volume method on staggered grid -* Uses a finite volume method with different control volumes for different equations +* Uses a finite volume method with different staggered control volumes for different equations * Fluxes are evaluated with a two-point flux approximation * **Robust** and **mass conservative** -* Should be applied for **structured grids** only +* Restricted to **structured grids** (tensor-product structure) -## Staggered Grid +## Staggered grid discretization <img src="img/staggered_grid.png"/> @@ -301,15 +315,14 @@ We acknowledge funding that supported the development of DuMu^x^ from ## Model Components -* The following components have to be specified - * **Solver**: Type of solution stategy - * **Assembler**: Key properties - * Geometry, Variables, LocalResidual - * **LinearSolver**: How to solve algebraic equations - * **Problem**: Initial and boundary conditions - * **SolutionVector**: Container to store the solution +* Typically, the following components have to be specified + * **Model**: Equations and constitutive models + * **Assembler**: Key properties (Discretization, Variables, LocalResidual) + * **Solver**: Type of solution stategy (e.g. Newton) + * **LinearSolver**: Method for solving linear equation systems (e.g. direct / Krylov subspace methods) + * **Problem**: Initial and boundary conditions, source terms * **TimeLoop**: For time-dependent problems - * **IOFields** and **VtkOutputModule**: Output of the simulation + * **VtkOutputModule** / **IOFields**: For VTK output of the simulation # Simulation Flow