A one-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/porenetwork/1p/spatialparams.hh>
#include <dumux/porousmediumflow/immiscible/localresidual.hh>
#include <dumux/porousmediumflow/nonisothermal/model.hh>
#include <dumux/porousmediumflow/nonisothermal/iofields.hh>
#include <dumux/porousmediumflow/1p/model.hh>
#include <dumux/material/fluidmatrixinteractions/porenetwork/throat/transmissibility1p.hh>
#include "iofields.hh"
#include "volumevariables.hh"
#include "fluxvariablescache.hh"
Go to the source code of this file.
A one-phase-flow, isothermal pore-network model using the fully implicit scheme.
A mass balance equation is formulated for each pore body \(i\):
\[ V_i \frac{\partial (\varrho_{i})}{\partial t} + \sum_j (\varrho Q)_{ij} = (V q)_i ~. \]
\(V_i\) is the pore body volume, and the advective mass flow \((\varrho Q)_{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_i\) is a mass sink or source term defined on pore body \(i\).
Per default, the volume flow rate \(Q_{ij}\) follows a linear Hagen-Poiseuille-type law (PoreNetworkModel::CreepingFlow) which is only valid for \(Re < 1\):
\[ Q_{ij} = g_{ij} (p_{i} - p_{j} + \Psi) ~. \]
\(g_{ij}\) is a suitable throat conductance value (see e.g. PoreNetwork::TransmissibilityPatzekSilin) while \(p_i\) and \(p_j\) are averaged pore body pressures.
The (optional) influence of gravity is given by
\[ \Psi = \varrho \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.
Namespaces | |
namespace | Dumux |
namespace | Dumux::Properties |
namespace | Dumux::Properties::TTag |
Type tag for numeric models. | |