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

Adaption of the fully implicit model to the one-phase n-component flow model. More...

#include <dumux/common/properties.hh>
#include <dumux/material/fluidmatrixinteractions/1p/thermalconductivityaverage.hh>
#include <dumux/material/fluidstates/compositional.hh>
#include <dumux/porousmediumflow/properties.hh>
#include <dumux/porousmediumflow/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/nonequilibrium/model.hh>
#include <dumux/porousmediumflow/nonequilibrium/volumevariables.hh>
#include <dumux/material/fluidmatrixinteractions/diffusivitymillingtonquirk.hh>
#include "indices.hh"
#include "volumevariables.hh"
#include "iofields.hh"

Go to the source code of this file.

Description

Adaption of the fully implicit model to the one-phase n-component flow model.

This model implements a one-phase flow of a compressible fluid, that consists of n components, using a standard Darcy approach as the equation for the conservation of momentum:

\[ v = - \frac{\textbf K}{\mu} \left(\textbf{grad}\, p - \varrho {\textbf g} \right) \]

Gravity can be enabled or disabled via the property system. By inserting this into the continuity equation, one gets

\[ \phi\frac{\partial \varrho}{\partial t} - \text{div} \left\{ \varrho \frac{\textbf K}{\mu} \left(\textbf{grad}\, p - \varrho {\textbf g} \right) \right\} = q \;, \]

The transport of the components \(\kappa \in \{ w, a, ... \}\) is described by the following equation:

\[ \phi \frac{ \partial \varrho X^\kappa}{\partial t} - \text{div} \left\lbrace \varrho X^\kappa \frac{{\textbf K}}{\mu} \left( \textbf{grad}\, p - \varrho {\textbf g} \right) + \varrho D^\kappa_\text{pm} \textbf{grad} X^\kappa \right\rbrace = q. \]

All equations are discretized using a vertex-centered finite volume (box) or cell-centered finite volume scheme as spatial and the implicit Euler method as time discretization. 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 mole fraction of dissolved components \(x^\kappa\).

Classes

struct  Dumux::OnePNCModelTraits< nComp, useM, repCompEqIdx >
 Specifies a number properties of models that consider a single-phase with multiple components. More...
 
struct  Dumux::Properties::TTag::OnePNC
 
struct  Dumux::Properties::TTag::OnePNCNI
 
struct  Dumux::Properties::ReplaceCompEqIdx< TypeTag, TTag::OnePNC >
 Set as default that no component mass balance is replaced by the total mass balance. More...
 
struct  Dumux::Properties::BaseModelTraits< TypeTag, TTag::OnePNC >
 The base model traits. Per default, we use the number of components of the fluid system. More...
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::OnePNC >
 default the actually used traits to the base traits More...
 
struct  Dumux::Properties::FluidState< TypeTag, TTag::OnePNC >
 The fluid state which is used by the volume variables to store the thermodynamic state. More...
 
struct  Dumux::Properties::EffectiveDiffusivityModel< TypeTag, TTag::OnePNC >
 Use the model after Millington (1961) for the effective diffusivity. More...
 
struct  Dumux::Properties::UseMoles< TypeTag, TTag::OnePNC >
 Use mole fractions in the balance equations by default. More...
 
struct  Dumux::Properties::LocalResidual< TypeTag, TTag::OnePNC >
 The local residual function. More...
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::OnePNC >
 Set the volume variables property. More...
 
struct  Dumux::Properties::IOFields< TypeTag, TTag::OnePNC >
 Set the vtk output fields specific to this model. More...
 
struct  Dumux::Properties::IOFields< TypeTag, TTag::OnePNCNI >
 The non-isothermal vtk output fields. More...
 
struct  Dumux::Properties::ThermalConductivityModel< TypeTag, TTag::OnePNCNI >
 Use the average for effective conductivities. More...
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::OnePNCNI >
 Model traits of the non-isothermal model. More...
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::OnePNCNI >
 
struct  Dumux::OnePNCUnconstrainedModelTraits< OnePNCModelTraits >
 
struct  Dumux::Properties::TTag::OnePNCNonEquil
 
struct  Dumux::Properties::EquilibriumLocalResidual< TypeTag, TTag::OnePNCNonEquil >
 
struct  Dumux::Properties::EquilibriumIOFields< TypeTag, TTag::OnePNCNonEquil >
 Set the vtk output fields specific to this model. More...
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::OnePNCNonEquil >
 
struct  Dumux::Properties::EnableChemicalNonEquilibrium< TypeTag, TTag::OnePNCNonEquil >
 
struct  Dumux::Properties::EquilibriumModelTraits< TypeTag, TTag::OnePNCNonEquil >
 Set equilibrium model traits. More...
 
struct  Dumux::Properties::ThermalConductivityModel< TypeTag, TTag::OnePNCNonEquil >
 In case we do not assume full non-equilibrium one needs a thermal conductivity. More...
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::OnePNCNonEquil >
 Use the mineralization volume variables together with the 2pnc vol vars. More...
 

Namespaces

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