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

Adaption of the fully implicit scheme to the two-phase flow model. More...

#include <dumux/common/properties.hh>
#include <dumux/material/fluidmatrixinteractions/2p/thermalconductivitysomerton.hh>
#include <dumux/material/fluidstates/immiscible.hh>
#include <dumux/material/spatialparams/fv.hh>
#include <dumux/porousmediumflow/properties.hh>
#include <dumux/porousmediumflow/1p/model.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 "formulation.hh"
#include "indices.hh"
#include "volumevariables.hh"
#include "iofields.hh"
#include "saturationreconstruction.hh"

Go to the source code of this file.

Description

Adaption of the fully implicit scheme to the two-phase flow model.

This model implements two-phase flow of two immiscible fluids \(\alpha \in \{ w, n \}\) using a standard multi-phase Darcy approach as the equation for the conservation of momentum, i.e.

\[ v_\alpha = - \frac{k_{r\alpha}}{\mu_\alpha} \textbf{K} \left(\textbf{grad}\, p_\alpha - \varrho_{\alpha} {\textbf g} \right) \]

By inserting this into the equation for the conservation of the phase mass, one gets

\[ \phi \frac{\partial \varrho_\alpha S_\alpha}{\partial t} - \text{div} \left\{ \varrho_\alpha \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K} \left(\textbf{grad}\, p_\alpha - \varrho_{\alpha} \mbox{\bf g} \right) \right\} - q_\alpha = 0 \;, \]

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.

By using constitutive relations for the capillary pressure \(p_c = p_n - p_w\) and relative permeability \(k_{r\alpha}\) and taking advantage of the fact that \(S_w + S_n = 1\), the number of unknowns can be reduced to two. Currently the model supports choosing either \(p_w\) and \(S_n\) or \(p_n\) and \(S_w\) as primary variables. The formulation which ought to be used can be specified by setting the Formulation property to either TwoPFormulation::pwsn or TwoPFormulation::pnsw. By default, the model uses \(p_w\) and \(S_n\).

Classes

struct  Dumux::TwoPModelTraits< formulation >
 Specifies a number properties of two-phase models. More...
 
struct  Dumux::TwoPVolumeVariablesTraits< PV, FSY, FST, SSY, SST, PT, MT, SR >
 Traits class for the two-phase model. More...
 
struct  Dumux::Properties::TTag::TwoP
 The type tag for the isothermal two-phase model. More...
 
struct  Dumux::Properties::TTag::TwoPNI
 The type tag for the non-isothermal two-phase model. More...
 
struct  Dumux::Properties::Formulation< TypeTag, TTag::TwoP >
 < Set the default formulation to pwsn More...
 
struct  Dumux::Properties::LocalResidual< TypeTag, TTag::TwoP >
 Use the immiscible local residual operator for the 2p model. More...
 
struct  Dumux::Properties::BaseModelTraits< TypeTag, TTag::TwoP >
 The base model traits class. More...
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::TwoP >
 default the actually used traits to the base traits More...
 
struct  Dumux::Properties::IOFields< TypeTag, TTag::TwoP >
 Set the vtk output fields specific to the twop model. More...
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::TwoP >
 Set the volume variables property. More...
 
struct  Dumux::Properties::FluidState< TypeTag, TTag::TwoP >
 The two-phase model uses the immiscible fluid state. More...
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::TwoPNI >
 The non-isothermal model traits class. More...
 
struct  Dumux::Properties::IOFields< TypeTag, TTag::TwoPNI >
 Set the vtk output fields specific to the non-isothermal twop model. More...
 
struct  Dumux::Properties::ThermalConductivityModel< TypeTag, TTag::TwoPNI >
 Somerton is used as default model to compute the effective thermal heat conductivity. More...
 

Namespaces

namespace  Dumux
 make the local view function available whenever we use the grid geometry
 
namespace  Dumux::Properties
 
namespace  Dumux::Properties::TTag
 Type tag for numeric models.
 
Include dependency graph for porousmediumflow/2p/model.hh: