3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | List of all members
Dumux::IMPET< TypeTag > Class Template Reference

IMplicit Pressure Explicit Transport (IMPET) scheme for the solution of weakly coupled diffusion-transport formulations. More...

#include <dumux/porousmediumflow/sequential/impet.hh>

Description

template<class TypeTag>
class Dumux::IMPET< TypeTag >

IMplicit Pressure Explicit Transport (IMPET) scheme for the solution of weakly coupled diffusion-transport formulations.

The model implements the sequential equations of two-phase flow. These equations can be derived from the two-phase flow equations shown for the two-phase box model (TwoPBoxModel). The first equation to solve is a pressure equation of elliptic character. The second one is a transport equation (e.g. for saturation, concentration,...), which can be hyperbolic or parabolic.

As the equations are only weakly coupled they do not have to be solved simultaneously but can be solved sequentially. First the pressure equation is solved implicitly, second the transport equation can be solved explicitly. This solution procedure is called IMPES algorithm (IMplicit Pressure Explicit Saturation) for immiscible flow or IMPEC algorithm (IMplicit Pressure Explicit Concentration) for miscible flow.

Template Parameters
TypeTagThe Type Tag

Public Types

using SolutionType = typename SolutionTypes::ScalarSolution
 

Public Member Functions

void initialize ()
 Set initial solution and initialize parameters. More...
 
void update (const Scalar t, Scalar &dt, TransportSolutionType &updateVec)
 Calculate the update. More...
 
void updateTransport (const Scalar t, Scalar &dt, TransportSolutionType &updateVec)
 
template<class MultiWriter >
void addOutputVtkFields (MultiWriter &writer)
 Write data files. More...
 
const ElementMapper & dofMapper () const
 Mapper for the entities where degrees of freedoms are defined. More...
 
 IMPET (Problem &problem)
 Constructs an IMPET object. More...
 

Member Typedef Documentation

◆ SolutionType

template<class TypeTag >
using Dumux::IMPET< TypeTag >::SolutionType = typename SolutionTypes::ScalarSolution

Constructor & Destructor Documentation

◆ IMPET()

template<class TypeTag >
Dumux::IMPET< TypeTag >::IMPET ( Problem &  problem)
inline

Constructs an IMPET object.

Parameters
problemProblem

Member Function Documentation

◆ addOutputVtkFields()

template<class TypeTag >
template<class MultiWriter >
void Dumux::IMPET< TypeTag >::addOutputVtkFields ( MultiWriter &  writer)
inline

Write data files.

calls the output methods of both models, pressure and transport.

Parameters
writerthe current VTKwriter

◆ dofMapper()

template<class TypeTag >
const ElementMapper & Dumux::IMPET< TypeTag >::dofMapper ( ) const
inline

Mapper for the entities where degrees of freedoms are defined.

◆ initialize()

template<class TypeTag >
void Dumux::IMPET< TypeTag >::initialize ( )
inline

Set initial solution and initialize parameters.

◆ update()

template<class TypeTag >
void Dumux::IMPET< TypeTag >::update ( const Scalar  t,
Scalar &  dt,
TransportSolutionType &  updateVec 
)
inline

Calculate the update.

Parameters
ttime
dttime step size
updateVecvector for the update values

Calculates the new pressure and velocity and determines the time step size and the update of the transported quantity for the explicit time step.

◆ updateTransport()

template<class TypeTag >
void Dumux::IMPET< TypeTag >::updateTransport ( const Scalar  t,
Scalar &  dt,
TransportSolutionType &  updateVec 
)
inline

The documentation for this class was generated from the following file: