3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Protected Attributes | List of all members
Dumux::FVGridVariables< GG, GVV, GFVC > Class Template Reference

The grid variable class for finite volume schemes storing variables on scv and scvf (volume and flux variables) More...

#include <dumux/discretization/fvgridvariables.hh>

Inheritance diagram for Dumux::FVGridVariables< GG, GVV, GFVC >:

Description

template<class GG, class GVV, class GFVC>
class Dumux::FVGridVariables< GG, GVV, GFVC >

The grid variable class for finite volume schemes storing variables on scv and scvf (volume and flux variables)

Template Parameters
thetype of the grid geometry
thetype of the grid volume variables
thetype of the grid flux variables cache

Public Types

using GridGeometry = GG
 export type of the finite volume grid geometry More...
 
using GridVolumeVariables = GVV
 export type of the finite volume grid geometry More...
 
using VolumeVariables = typename GridVolumeVariables::VolumeVariables
 export type of the volume variables More...
 
using PrimaryVariables = typename VolumeVariables::PrimaryVariables
 export primary variable type More...
 
using Scalar = std::decay_t< decltype(std::declval< PrimaryVariables >()[0])>
 export scalar type (TODO get it directly from the volvars) More...
 
using GridFluxVariablesCache = GFVC
 export type of the finite volume grid geometry More...
 

Public Member Functions

template<class Problem >
 FVGridVariables (std::shared_ptr< Problem > problem, std::shared_ptr< const GridGeometry > gridGeometry)
 
template<class SolutionVector >
void init (const SolutionVector &curSol)
 initialize all variables (stationary case) More...
 
template<class SolutionVector >
void update (const SolutionVector &curSol, bool forceFluxCacheUpdate=false)
 update all variables More...
 
template<class SolutionVector >
void updateAfterGridAdaption (const SolutionVector &curSol)
 update all variables after grid adaption More...
 
void advanceTimeStep ()
 Sets the current state as the previous for next time step. More...
 
template<class SolutionVector >
void resetTimeStep (const SolutionVector &solution)
 resets state to the one before time integration More...
 
const GridFluxVariablesCachegridFluxVarsCache () const
 return the flux variables cache More...
 
GridFluxVariablesCachegridFluxVarsCache ()
 return the flux variables cache More...
 
const GridVolumeVariablescurGridVolVars () const
 return the current volume variables More...
 
GridVolumeVariablescurGridVolVars ()
 return the current volume variables More...
 
const GridVolumeVariablesprevGridVolVars () const
 return the volume variables of the previous time step (for instationary problems) More...
 
GridVolumeVariablesprevGridVolVars ()
 return the volume variables of the previous time step (for instationary problems) More...
 
const GridGeometrygridGeometry () const
 return the finite volume grid geometry More...
 

Protected Attributes

std::shared_ptr< const GridGeometrygridGeometry_
 pointer to the constant grid geometry More...
 

Member Typedef Documentation

◆ GridFluxVariablesCache

template<class GG , class GVV , class GFVC >
using Dumux::FVGridVariables< GG, GVV, GFVC >::GridFluxVariablesCache = GFVC

export type of the finite volume grid geometry

◆ GridGeometry

template<class GG , class GVV , class GFVC >
using Dumux::FVGridVariables< GG, GVV, GFVC >::GridGeometry = GG

export type of the finite volume grid geometry

◆ GridVolumeVariables

template<class GG , class GVV , class GFVC >
using Dumux::FVGridVariables< GG, GVV, GFVC >::GridVolumeVariables = GVV

export type of the finite volume grid geometry

◆ PrimaryVariables

template<class GG , class GVV , class GFVC >
using Dumux::FVGridVariables< GG, GVV, GFVC >::PrimaryVariables = typename VolumeVariables::PrimaryVariables

export primary variable type

◆ Scalar

template<class GG , class GVV , class GFVC >
using Dumux::FVGridVariables< GG, GVV, GFVC >::Scalar = std::decay_t<decltype(std::declval<PrimaryVariables>()[0])>

export scalar type (TODO get it directly from the volvars)

◆ VolumeVariables

template<class GG , class GVV , class GFVC >
using Dumux::FVGridVariables< GG, GVV, GFVC >::VolumeVariables = typename GridVolumeVariables::VolumeVariables

export type of the volume variables

Constructor & Destructor Documentation

◆ FVGridVariables()

template<class GG , class GVV , class GFVC >
template<class Problem >
Dumux::FVGridVariables< GG, GVV, GFVC >::FVGridVariables ( std::shared_ptr< Problem >  problem,
std::shared_ptr< const GridGeometry gridGeometry 
)
inline

Member Function Documentation

◆ advanceTimeStep()

template<class GG , class GVV , class GFVC >
void Dumux::FVGridVariables< GG, GVV, GFVC >::advanceTimeStep ( )
inline

Sets the current state as the previous for next time step.

Note
this has to be called at the end of each time step

◆ curGridVolVars() [1/2]

template<class GG , class GVV , class GFVC >
GridVolumeVariables & Dumux::FVGridVariables< GG, GVV, GFVC >::curGridVolVars ( )
inline

return the current volume variables

◆ curGridVolVars() [2/2]

template<class GG , class GVV , class GFVC >
const GridVolumeVariables & Dumux::FVGridVariables< GG, GVV, GFVC >::curGridVolVars ( ) const
inline

return the current volume variables

◆ gridFluxVarsCache() [1/2]

template<class GG , class GVV , class GFVC >
GridFluxVariablesCache & Dumux::FVGridVariables< GG, GVV, GFVC >::gridFluxVarsCache ( )
inline

return the flux variables cache

◆ gridFluxVarsCache() [2/2]

template<class GG , class GVV , class GFVC >
const GridFluxVariablesCache & Dumux::FVGridVariables< GG, GVV, GFVC >::gridFluxVarsCache ( ) const
inline

return the flux variables cache

◆ gridGeometry()

template<class GG , class GVV , class GFVC >
const GridGeometry & Dumux::FVGridVariables< GG, GVV, GFVC >::gridGeometry ( ) const
inline

return the finite volume grid geometry

◆ init()

template<class GG , class GVV , class GFVC >
template<class SolutionVector >
void Dumux::FVGridVariables< GG, GVV, GFVC >::init ( const SolutionVector &  curSol)
inline

initialize all variables (stationary case)

◆ prevGridVolVars() [1/2]

template<class GG , class GVV , class GFVC >
GridVolumeVariables & Dumux::FVGridVariables< GG, GVV, GFVC >::prevGridVolVars ( )
inline

return the volume variables of the previous time step (for instationary problems)

◆ prevGridVolVars() [2/2]

template<class GG , class GVV , class GFVC >
const GridVolumeVariables & Dumux::FVGridVariables< GG, GVV, GFVC >::prevGridVolVars ( ) const
inline

return the volume variables of the previous time step (for instationary problems)

◆ resetTimeStep()

template<class GG , class GVV , class GFVC >
template<class SolutionVector >
void Dumux::FVGridVariables< GG, GVV, GFVC >::resetTimeStep ( const SolutionVector &  solution)
inline

resets state to the one before time integration

◆ update()

template<class GG , class GVV , class GFVC >
template<class SolutionVector >
void Dumux::FVGridVariables< GG, GVV, GFVC >::update ( const SolutionVector &  curSol,
bool  forceFluxCacheUpdate = false 
)
inline

update all variables

◆ updateAfterGridAdaption()

template<class GG , class GVV , class GFVC >
template<class SolutionVector >
void Dumux::FVGridVariables< GG, GVV, GFVC >::updateAfterGridAdaption ( const SolutionVector &  curSol)
inline

update all variables after grid adaption

Member Data Documentation

◆ gridGeometry_

template<class GG , class GVV , class GFVC >
std::shared_ptr<const GridGeometry> Dumux::FVGridVariables< GG, GVV, GFVC >::gridGeometry_
protected

pointer to the constant grid geometry


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