Adaption of the fully implicit scheme to the two-phase n-component fully implicit model with additional solid/mineral phases. More...
#include <dumux/porousmediumflow/2pnc/model.hh>
#include <dumux/porousmediumflow/2pnc/volumevariables.hh>
#include <dumux/material/solidstates/compositionalsolidstate.hh>
#include <dumux/porousmediumflow/mineralization/model.hh>
#include <dumux/porousmediumflow/mineralization/localresidual.hh>
#include <dumux/porousmediumflow/mineralization/volumevariables.hh>
#include <dumux/porousmediumflow/mineralization/iofields.hh>
#include <dumux/porousmediumflow/nonisothermal/indices.hh>
#include <dumux/porousmediumflow/nonisothermal/iofields.hh>
#include <dumux/material/fluidmatrixinteractions/2p/thermalconductivitysomerton.hh>
Go to the source code of this file.
Adaption of the fully implicit scheme to the two-phase n-component fully implicit model with additional solid/mineral phases.
This model implements two-phase n-component flow of two compressible and partially miscible fluids \alpha \in \{ w, n \} composed of the n components \kappa \in \{ w, n,\cdots \} in combination with mineral precipitation and dissolution. The solid phases. The standard multiphase Darcy approach is used as the equation for the conservation of momentum:
v_\alpha = - \frac{k_{r\alpha}}{\mu_\alpha} \mbox{\bf K} \left(\text{grad}\, p_\alpha - \varrho_{\alpha} \mbox{\bf g} \right)
By inserting this into the equations for the conservation of the components, one gets one transport equation for each component
\begin{eqnarray*} && \frac{\partial (\sum_\alpha \varrho_\alpha X_\alpha^\kappa \phi S_\alpha )} {\partial t} - \sum_\alpha \text{div} \left\{ \varrho_\alpha X_\alpha^\kappa \frac{k_{r\alpha}}{\mu_\alpha} \mbox{\bf K} (\text{grad}\, p_\alpha - \varrho_{\alpha} \mbox{\bf g}) \right\} \nonumber \\ \nonumber \\ &-& \sum_\alpha \text{div} \left\{{\bf D_{\alpha, pm}^\kappa} \varrho_{\alpha} \text{grad}\, X^\kappa_{\alpha} \right\} - \sum_\alpha q_\alpha^\kappa = 0 \qquad \kappa \in \{w, a,\cdots \} \, , \alpha \in \{w, g\} \end{eqnarray*}
The solid or mineral phases are assumed to consist of a single component. Their mass balance consist only of a storage and a source term: \frac{\partial \varrho_\lambda \phi_\lambda )} {\partial t} = q_\lambda
All equations are discretized using a vertex-centered finite volume (box) or cell-centered finite volume scheme as spatial and the implicit Euler method as time discretization.
By using constitutive relations for the capillary pressure p_c = p_n - p_w and relative permeability k_{r\alpha} and taking advantage of the fact that S_w + S_n = 1 and X^\kappa_w + X^\kappa_n = 1, the number of unknowns can be reduced to number of components.
The used primary variables are, like in the two-phase model, either p_w and S_n or p_n and S_w. The formulation which ought to be used can be specified by setting the Formulation
property to either TwoPTwoCIndices::pWsN or TwoPTwoCIndices::pNsW. By default, the model uses p_w and S_n.
Moreover, the second primary variable depends on the phase state, since a primary variable switch is included. The phase state is stored for all nodes of the system. The model is uses mole fractions. Following cases can be distinguished:
Formulation
), as long as 0 < S_\alpha < 1. For the other components, the mole fraction x^\kappa_w is the primary variable. The primary variable of the solid phases is the volume fraction \phi_\lambda = \frac{V_\lambda}{V_{total}}.
The source an sink terms link the mass balances of the n-transported component to the solid phases. The porosity \phi is updated according to the reduction of the initial (or solid-phase-free porous medium) porosity \phi_0 by the accumulated volume fractions of the solid phases: \phi = \phi_0 - \sum (\phi_\lambda) Additionally, the permeability is updated depending on the current porosity.
Namespaces | |
namespace | Dumux |
namespace | Dumux::Properties |
namespace | Dumux::Properties::TTag |
Type tag for numeric models. | |