3.4
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Classes | Namespaces
porenetwork/1pnc/model.hh File Reference

Adaption of the fully implicit scheme to the one-phase n-component pore network model. More...

#include <dumux/common/properties.hh>
#include <dumux/flux/porenetwork/fickslaw.hh>
#include <dumux/material/fluidmatrixinteractions/diffusivitymillingtonquirk.hh>
#include <dumux/material/fluidmatrixinteractions/porenetwork/throat/transmissibility1p.hh>
#include <dumux/material/fluidstates/immiscible.hh>
#include <dumux/material/spatialparams/porenetwork/porenetwork1p.hh>
#include <dumux/porenetwork/properties.hh>
#include <dumux/porenetwork/1p/model.hh>
#include <dumux/porousmediumflow/compositional/localresidual.hh>
#include <dumux/porousmediumflow/nonisothermal/model.hh>
#include <dumux/porousmediumflow/nonisothermal/indices.hh>
#include <dumux/porousmediumflow/nonisothermal/iofields.hh>
#include <dumux/porousmediumflow/1pnc/model.hh>
#include <dumux/porousmediumflow/1pnc/iofields.hh>
#include "iofields.hh"
#include "volumevariables.hh"

Go to the source code of this file.

Description

Adaption of the fully implicit scheme to the one-phase n-component pore network model.

A mass balance equation is formulated for each pore body \(i\) and each component \(\kappa\):

\[ V_i \frac{\partial (\varrho_{i} X^\kappa)}{\partial t} + \sum_j (\varrho X^\kappa Q)_{ij} = (V q^\kappa)_i ~. \]

\(V_i\) is the pore body volume, and the advective mass flow \((\varrho Q X^\kappa)_{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 (Dumux::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. Dumux::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.

The model is able to use either mole or mass fractions. The property useMoles can be set to either true or false in the problem file. Make sure that the according units are used in the problem setup. useMoles is set to true by default.

The primary variables are the pressure \(p\) and the mass or mole fraction of dissolved components \(X^\kappa\) or \(x^\kappa\).

Classes

struct  Dumux::Properties::TTag::PNMOnePNC
 
struct  Dumux::Properties::TTag::PNMOnePNCNI
 The type tags for the corresponding non-isothermal problems. More...
 
struct  Dumux::Properties::SpatialParams< TypeTag, TTag::PNMOnePNC >
 
struct  Dumux::Properties::AdvectionType< TypeTag, TTag::PNMOnePNC >
 The advection type. More...
 
struct  Dumux::Properties::ReplaceCompEqIdx< TypeTag, TTag::PNMOnePNC >
 Set as default that no component mass balance is replaced by the total mass balance. More...
 
struct  Dumux::Properties::MolecularDiffusionType< TypeTag, TTag::PNMOnePNC >
 We use fick's law as the default for the diffusive fluxes. More...
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::PNMOnePNC >
 Set the volume variables property Set the vtk output fields specific to this model. More...
 
struct  Dumux::Properties::IOFields< TypeTag, TTag::PNMOnePNC >
 
struct  Dumux::Properties::UseMoles< TypeTag, TTag::PNMOnePNC >
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::PNMOnePNCNI >
 model traits of the non-isothermal model. More...
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::PNMOnePNCNI >
 
struct  Dumux::Properties::IOFields< TypeTag, TTag::PNMOnePNCNI >
 
struct  Dumux::Properties::ThermalConductivityModel< TypeTag, TTag::PNMOnePNCNI >
 Use the average for effective conductivities. More...
 

Namespaces

namespace  Dumux
 
namespace  Dumux::Properties
 
namespace  Dumux::Properties::TTag
 Type tag for numeric models.
 
Include dependency graph for porenetwork/1pnc/model.hh: