Adaption of the fully implicit scheme to the two-phase n-component fully implicit model. More...
#include <dune/common/fvector.hh>
#include <dumux/common/properties.hh>
#include <dumux/material/fluidmatrixinteractions/diffusivitymillingtonquirk.hh>
#include <dumux/material/fluidmatrixinteractions/2p/thermalconductivity/somerton.hh>
#include <dumux/porousmediumflow/properties.hh>
#include <dumux/porousmediumflow/compositional/localresidual.hh>
#include <dumux/porousmediumflow/compositional/switchableprimaryvariables.hh>
#include <dumux/porousmediumflow/nonisothermal/model.hh>
#include <dumux/porousmediumflow/nonisothermal/indices.hh>
#include <dumux/porousmediumflow/nonisothermal/iofields.hh>
#include <dumux/porousmediumflow/2p/formulation.hh>
#include "volumevariables.hh"
#include "iofields.hh"
#include "indices.hh"
Go to the source code of this file.
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. For details on Darcy's law see dumux/flux/darcyslaw.hh.
By inserting Darcy's law into the equations for the conservation of the components, one gets one transport equation for each component,
\begin{eqnarray*} && \frac{\partial (\sum_\alpha \phi \varrho_\alpha X_\alpha^\kappa S_\alpha )} {\partial t} - \sum_\alpha \nabla \cdot \left\{ \varrho_\alpha X_\alpha^\kappa \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} (\nabla p_\alpha - \varrho_{\alpha} \mathbf{g}) \right\} \nonumber \\ \nonumber \\ &-& \sum_\alpha \nabla \cdot \left\{{\bf D_{\alpha, pm}^\kappa} \varrho_{\alpha} \nabla X^\kappa_{\alpha} \right\} - \sum_\alpha q_\alpha^\kappa = 0 \qquad \kappa \in \{w, a,\cdots \} \, , \alpha \in \{w, g\}, \end{eqnarray*}
where:
The solid or mineral phases are assumed to consist of a single component. Their mass balance consists of only a storage and a source term, \(\frac{\partial \varrho_\lambda \phi_\lambda )} {\partial t} = q_\lambda,\)
where:
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.
Namespaces | |
namespace | Dumux |
namespace | Dumux::Properties |
The energy balance equation for a porous solid. | |
namespace | Dumux::Properties::TTag |
Type tag for numeric models. | |