A two-phase-flow, isothermal pore-network model using the fully implicit scheme. More...
#include <dumux/common/properties.hh>
#include <dumux/flux/porenetwork/advection.hh>
#include <dumux/porenetwork/properties.hh>
#include <dumux/material/fluidmatrixinteractions/porenetwork/throat/transmissibility1p.hh>
#include <dumux/material/fluidmatrixinteractions/porenetwork/throat/transmissibility2p.hh>
#include <dumux/material/fluidmatrixinteractions/porenetwork/pore/2p/multishapelocalrules.hh>
#include <dumux/porousmediumflow/immiscible/localresidual.hh>
#include <dumux/porousmediumflow/nonisothermal/model.hh>
#include <dumux/porousmediumflow/nonisothermal/indices.hh>
#include <dumux/porousmediumflow/nonisothermal/iofields.hh>
#include <dumux/porousmediumflow/2p/model.hh>
#include "fluxvariablescache.hh"
#include "gridfluxvariablescache.hh"
#include "iofields.hh"
#include "volumevariables.hh"
#include "spatialparams.hh"
Go to the source code of this file.
A two-phase-flow, isothermal pore-network model using the fully implicit scheme.
A mass balance equation is formulated for each pore body \(i\) and each phase \(\alpha\):
\[ V_i \frac{\partial (\varrho_\alpha S_\alpha)_i}{\partial t} + \sum_j (\varrho_\alpha Q_\alpha)_{ij} = (V q_\alpha)_i ~. \]
\(V_i\) is the pore body volume, and the advective mass flow \((\varrho_\alpha Q_\alpha)_{ij}\) through throat \(ij\) can be based on the fluid phase density \(\varrho\) either of the upstream pore body \(i\) or \(j\) (upwinding) or on the respective averaged value. \(q_\alpha\) is a mass sink or source term defined on pore body \(i\).
Per default, the volume flow rate \(Q_{\alpha,ij}\) follows a linear Hagen-Poiseuille-type law (PoreNetworkModel::CreepingFlow) which is only valid for \(Re < 1\):
\[ Q_{\alpha,ij} = g_{\alpha, ij} (p_{\alpha, i} - p_{\alpha, j} + \Psi_\alpha) ~. \]
\(g_{\alpha,ij}\) is a suitable throat conductance value that takes into account the presence/saturation of the individual phases while \(p_{\alpha,i}\) and \(p_{\alpha,j}\) are averaged pore body phase pressures.
The (optional) influence of gravity is given by
\[ \Psi_\alpha = \varrho_\alpha \mathbf{g} (\mathbf{x_i} - \mathbf{x_j}) ~, \]
where \(\mathbf{x_i} - \mathbf{x_j}\) is the distance vector between the centers of pore bodies \(i\) and \(j\) and \(\mathbf{g}\) is the gravitational acceleration.
The primary variables are the wetting phase pressure and the the nonwetting phase saturation ( \(p_w\) and \(S_n\)) or the nonwetting phase pressure and the the wetting phase saturation ( \(p_n\) and \(S_w\)), depending on the chose formulation (see TwoPModel).
Namespaces | |
namespace | Dumux |
namespace | Dumux::Properties |
namespace | Dumux::Properties::TTag |
Type tag for numeric models. | |