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