immisciblemodel.hh File Reference

A fully-implicit multi-phase flow model which assumes immiscibility of the phases. More...

#include <opm/material/localad/Math.hpp>
#include "immiscibleproperties.hh"
#include "immiscibleindices.hh"
#include "immiscibleextensivequantities.hh"
#include "immiscibleprimaryvariables.hh"
#include "immiscibleintensivequantities.hh"
#include "immiscibleratevector.hh"
#include "immiscibleboundaryratevector.hh"
#include "immisciblelocalresidual.hh"
#include <ewoms/models/common/multiphasebasemodel.hh>
#include <ewoms/models/common/energymodule.hh>
#include <ewoms/io/vtkenergymodule.hh>
#include <opm/material/components/NullComponent.hpp>
#include <opm/material/fluidsystems/GasPhase.hpp>
#include <opm/material/fluidsystems/LiquidPhase.hpp>
#include <opm/material/fluidsystems/SinglePhaseFluidSystem.hpp>
#include <opm/material/fluidsystems/TwoPhaseImmiscibleFluidSystem.hpp>
#include <dune/common/unused.hh>
#include <sstream>
#include <string>
Include dependency graph for immisciblemodel.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Ewoms::ImmiscibleModel< TypeTag >
 A fully-implicit multi-phase flow model which assumes immiscibility of the phases. More...
 
class  Ewoms::ImmiscibleModel< TypeTag >
 A fully-implicit multi-phase flow model which assumes immiscibility of the phases. More...
 

Namespaces

 Ewoms
 
 Ewoms::Properties
 

Functions

 Ewoms::Properties::NEW_TYPE_TAG (ImmiscibleModel, INHERITS_FROM(MultiPhaseBaseModel, VtkEnergy))
 The generic type tag for problems using the immiscible multi-phase model. More...
 
 Ewoms::Properties::NEW_TYPE_TAG (ImmiscibleSinglePhaseModel, INHERITS_FROM(ImmiscibleModel))
 The type tag for single-phase immiscible problems. More...
 
 Ewoms::Properties::NEW_TYPE_TAG (ImmiscibleTwoPhaseModel, INHERITS_FROM(ImmiscibleModel))
 The type tag for two-phase immiscible problems. More...
 
 Ewoms::Properties::SET_TYPE_PROP (ImmiscibleModel, LocalResidual, Ewoms::ImmiscibleLocalResidual< TypeTag >)
 Use the immiscible multi-phase local jacobian operator for the immiscible multi-phase model. More...
 
 Ewoms::Properties::SET_TYPE_PROP (ImmiscibleModel, Model, Ewoms::ImmiscibleModel< TypeTag >)
 the Model property More...
 
 Ewoms::Properties::SET_TYPE_PROP (ImmiscibleModel, RateVector, Ewoms::ImmiscibleRateVector< TypeTag >)
 the RateVector property More...
 
 Ewoms::Properties::SET_TYPE_PROP (ImmiscibleModel, BoundaryRateVector, Ewoms::ImmiscibleBoundaryRateVector< TypeTag >)
 the BoundaryRateVector property More...
 
 Ewoms::Properties::SET_TYPE_PROP (ImmiscibleModel, PrimaryVariables, Ewoms::ImmisciblePrimaryVariables< TypeTag >)
 the PrimaryVariables property More...
 
 Ewoms::Properties::SET_TYPE_PROP (ImmiscibleModel, IntensiveQuantities, Ewoms::ImmiscibleIntensiveQuantities< TypeTag >)
 the IntensiveQuantities property More...
 
 Ewoms::Properties::SET_TYPE_PROP (ImmiscibleModel, ExtensiveQuantities, Ewoms::ImmiscibleExtensiveQuantities< TypeTag >)
 the ExtensiveQuantities property More...
 
 Ewoms::Properties::SET_TYPE_PROP (ImmiscibleModel, Indices, Ewoms::ImmiscibleIndices< TypeTag, 0 >)
 The indices required by the isothermal immiscible multi-phase model. More...
 
 Ewoms::Properties::SET_BOOL_PROP (ImmiscibleModel, EnableEnergy, false)
 Disable the energy equation by default. More...
 
 Ewoms::Properties::SET_PROP (ImmiscibleSinglePhaseModel, FluidSystem)
 The fluid system to use by default. More...
 
 Ewoms::Properties::SET_PROP (ImmiscibleSinglePhaseModel, Fluid)
 
 Ewoms::Properties::SET_BOOL_PROP (ImmiscibleSinglePhaseModel, VtkWriteSaturations, false)
 
 Ewoms::Properties::SET_BOOL_PROP (ImmiscibleSinglePhaseModel, VtkWriteMobilities, false)
 
 Ewoms::Properties::SET_BOOL_PROP (ImmiscibleSinglePhaseModel, VtkWriteRelativePermeabilities, false)
 
 Ewoms::Properties::SET_PROP (ImmiscibleTwoPhaseModel, WettingPhase)
 
 Ewoms::Properties::SET_PROP (ImmiscibleTwoPhaseModel, NonwettingPhase)
 
 Ewoms::Properties::SET_PROP (ImmiscibleTwoPhaseModel, FluidSystem)
 

Detailed Description

A fully-implicit multi-phase flow model which assumes immiscibility of the phases.

This model implements multi-phase flow of $M > 0$ immiscible fluids $\alpha$. By default, the standard multi-phase Darcy approach is used to determine the velocity, i.e.

\[ \mathbf{v}_\alpha = - \frac{k_{r\alpha}}{\mu_\alpha} \mathbf{K}\left(\mathbf{grad}\, p_\alpha - \varrho_{\alpha} \mathbf{g} \right) \;, \]

although the actual approach which is used can be specified via the FluxModule property. For example, the velocity model can by changed to the Forchheimer approach by

The core of the model is the conservation mass of each component by means of the equation

\[ \frac{\partial\;\phi S_\alpha \rho_\alpha }{\partial t} - \mathrm{div} \left\{ \rho_\alpha \mathbf{v}_\alpha \right\} - q_\alpha = 0 \;. \]

The model uses the following primary variables:

  • The pressure $p_0$ in Pascal of the phase with the lowest index
  • The saturations $S_\alpha$ of the $M - 1$ phases that exhibit the lowest indices
  • The absolute temperature $T$ in Kelvin if energy is conserved via the energy equation