Processing math: 100%
3.4
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Namespaces
porenetwork/1p/model.hh File Reference

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/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/spatialparams/porenetwork/porenetwork1p.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.

Description

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 (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.

Classes

struct  Dumux::Properties::TTag::PNMOneP
 
struct  Dumux::Properties::TTag::PNMOnePNI
 The type tags for the corresponding non-isothermal problems. More...
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::PNMOneP >
 Set the volume variables property. More...
 
struct  Dumux::Properties::SpatialParams< TypeTag, TTag::PNMOneP >
 
struct  Dumux::Properties::FluxVariablesCache< TypeTag, TTag::PoreNetworkModel >
 The flux variables cache. More...
 
struct  Dumux::Properties::IOFields< TypeTag, TTag::PNMOneP >
 Default I/O fields specific to this model. More...
 
struct  Dumux::Properties::AdvectionType< TypeTag, TTag::PNMOneP >
 The advection type. More...
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::PNMOnePNI >
 Set the volume variables property. More...
 
struct  Dumux::Properties::IOFields< TypeTag, TTag::PNMOnePNI >
 Add temperature to the output. More...
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::PNMOnePNI >
 The model traits of the non-isothermal model. More...
 
struct  Dumux::Properties::ThermalConductivityModel< TypeTag, TTag::PNMOnePNI >
 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/1p/model.hh: