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

Mimetic method for the pressure equation. More...

#include <dumux/porousmediumflow/2p/sequential/diffusion/mimetic/pressure.hh>

Description

template<class TypeTag>
class Dumux::MimeticPressure2P< TypeTag >

Mimetic method for the pressure equation.

Provides a mimetic implementation for the evaluation of equations of the form

\[\text{div}\, \boldsymbol{v}_{total} = q.\]

The definition of the total velocity \(\boldsymbol{v}_total\) depends on the kind of pressure chosen. This could be a wetting (w) phase pressure leading to

\[ - \text{div}\, \left[\lambda \boldsymbol{K} \left(\text{grad}\, p_w + f_n \text{grad}\, p_c + \sum f_\alpha \rho_\alpha g \text{grad}\, z\right)\right] = q, \]

a nonwetting (n) phase pressure yielding

\[ - \text{div}\, \left[\lambda \boldsymbol{K} \left(\text{grad}\, p_n - f_w \text{grad}\, p_c + \sum f_\alpha \rho_\alpha g \text{grad}\, z\right)\right] = q, \]

or a global pressure leading to

\[ - \text{div}\, \left[\lambda \boldsymbol{K} \left(\text{grad}\, p_{global} + \sum f_\alpha \rho_\alpha g \text{grad}\, z\right)\right] = q.\]

Here, \(p\) denotes a pressure, \(\boldsymbol{K}\) the absolute permeability, \(\lambda\) the total mobility, possibly depending on the saturation, \(f\) the fractional flow function of a phase, \(\rho\) a phase density, \(g\) the gravity constant and \(q\) the source term. For all cases, \(p = p_D\) on \(\Gamma_{Neumann}\), and \(\boldsymbol{v}_{total} = q_N\) on \(\Gamma_{Dirichlet}\).

Template Parameters
TypeTagThe problem Type Tag

Public Member Functions

void updateMaterialLaws ()
 Constitutive functions are initialized and stored in the variables object. More...
 
void initialize (bool solveTwice=true)
 Initializes the model. More...
 
void updateVelocity ()
 Velocity update. More...
 
void update ()
 
template<class MultiWriter >
void addOutputVtkFields (MultiWriter &writer)
 Write data file. More...
 
void serializeEntity (std::ostream &outstream, const Element &element)
 General method for serialization, output. More...
 
void deserializeEntity (std::istream &instream, const Element &element)
 General method for deserialization. More...
 
 MimeticPressure2P (Problem &problem)
 Constructs a MimeticPressure2P object. More...
 

Constructor & Destructor Documentation

◆ MimeticPressure2P()

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

Constructs a MimeticPressure2P object.

Parameters
problemThe Dumux problem

Member Function Documentation

◆ addOutputVtkFields()

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

Write data file.

Template Parameters
MultiWriterClass defining the output writer
Parameters
writerThe output writer (usually a VTKMultiWriter object)

◆ deserializeEntity()

template<class TypeTag >
void Dumux::MimeticPressure2P< TypeTag >::deserializeEntity ( std::istream &  instream,
const Element &  element 
)
inline

General method for deserialization.

Parameters
instreamThe input stream
elementThe grid element

◆ initialize()

template<class TypeTag >
void Dumux::MimeticPressure2P< TypeTag >::initialize ( bool  solveTwice = true)
inline

Initializes the model.

Function initializes the sparse matrix to solve the global system of equations and sets/calculates the initial pressure.

Parameters
solveTwiceindicates if more than one iteration is allowed to get an initial pressure solution

◆ serializeEntity()

template<class TypeTag >
void Dumux::MimeticPressure2P< TypeTag >::serializeEntity ( std::ostream &  outstream,
const Element &  element 
)
inline

General method for serialization, output.

Function needed for restart option.

Parameters
outstreamThe output stream
elementThe grid element

◆ update()

template<class TypeTag >
void Dumux::MimeticPressure2P< TypeTag >::update ( )
inline

◆ updateMaterialLaws()

template<class TypeTag >
void Dumux::MimeticPressure2P< TypeTag >::updateMaterialLaws

Constitutive functions are initialized and stored in the variables object.

Constitutive functions are updated once if new saturations are calculated and stored in the variables object.

◆ updateVelocity()

template<class TypeTag >
void Dumux::MimeticPressure2P< TypeTag >::updateVelocity ( )
inline

Velocity update.

Reset the velocities in the cellData.


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