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

This class updates the invasion state for the two-phase PNM. More...

#include <dumux/porenetwork/2p/invasionstate.hh>

Description

template<class P>
class Dumux::PoreNetwork::TwoPInvasionState< P >

This class updates the invasion state for the two-phase PNM.

Public Member Functions

 TwoPInvasionState (const Problem &problem)
 
template<class Element >
bool invaded (const Element &element) const
 Return whether a given throat is invaded or not. More...
 
std::size_t numThroatsInvaded () const
 Return the number of currently invaded throats. More...
 
template<class SolutionVector , class GridVolumeVariables , class GridFluxVariablesCache >
bool update (const SolutionVector &sol, const GridVolumeVariables &gridVolVars, GridFluxVariablesCache &gridFluxVarsCache)
 Update the invasion state of all throats. This is done after each Newton step by a call from the Newton solver. More...
 
void reset ()
 Restore the old invasion state after a Newton iteration has failed. More...
 
bool hasChanged () const
 Return whether an invasion or snap-off occurred anywhere. Can be used, e.g., for output file writing control. More...
 
bool hasChangedInCurrentIteration () const
 Return whether an invasion or snap-off occurred anywhere during the current Newton iteration. More...
 
void advance ()
 This is called after the Newton method has successfully finished one time step. More...
 
template<class SolutionVector , class GridVolumeVariables , class GridFluxVariablesCache >
void checkIfCapillaryPressureIsCloseToEntryPressure (const SolutionVector &sol, const GridVolumeVariables &gridVolVars, const GridFluxVariablesCache &gridFluxVarsCache) const
 

Constructor & Destructor Documentation

◆ TwoPInvasionState()

template<class P >
Dumux::PoreNetwork::TwoPInvasionState< P >::TwoPInvasionState ( const Problem &  problem)
inline

Member Function Documentation

◆ advance()

template<class P >
void Dumux::PoreNetwork::TwoPInvasionState< P >::advance ( )
inline

This is called after the Newton method has successfully finished one time step.

◆ checkIfCapillaryPressureIsCloseToEntryPressure()

template<class P >
template<class SolutionVector , class GridVolumeVariables , class GridFluxVariablesCache >
void Dumux::PoreNetwork::TwoPInvasionState< P >::checkIfCapillaryPressureIsCloseToEntryPressure ( const SolutionVector &  sol,
const GridVolumeVariables &  gridVolVars,
const GridFluxVariablesCache &  gridFluxVarsCache 
) const
inline

◆ hasChanged()

template<class P >
bool Dumux::PoreNetwork::TwoPInvasionState< P >::hasChanged ( ) const
inline

Return whether an invasion or snap-off occurred anywhere. Can be used, e.g., for output file writing control.

◆ hasChangedInCurrentIteration()

template<class P >
bool Dumux::PoreNetwork::TwoPInvasionState< P >::hasChangedInCurrentIteration ( ) const
inline

Return whether an invasion or snap-off occurred anywhere during the current Newton iteration.

◆ invaded()

template<class P >
template<class Element >
bool Dumux::PoreNetwork::TwoPInvasionState< P >::invaded ( const Element &  element) const
inline

Return whether a given throat is invaded or not.

◆ numThroatsInvaded()

template<class P >
std::size_t Dumux::PoreNetwork::TwoPInvasionState< P >::numThroatsInvaded ( ) const
inline

Return the number of currently invaded throats.

◆ reset()

template<class P >
void Dumux::PoreNetwork::TwoPInvasionState< P >::reset ( )
inline

Restore the old invasion state after a Newton iteration has failed.

◆ update()

template<class P >
template<class SolutionVector , class GridVolumeVariables , class GridFluxVariablesCache >
bool Dumux::PoreNetwork::TwoPInvasionState< P >::update ( const SolutionVector &  sol,
const GridVolumeVariables &  gridVolVars,
GridFluxVariablesCache &  gridFluxVarsCache 
)
inline

Update the invasion state of all throats. This is done after each Newton step by a call from the Newton solver.


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