version 3.9-dev
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 >
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

◆ GridGeometry

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

◆ GridVolumeVariables

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

◆ PrimaryVariables

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

◆ Scalar

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

◆ VolumeVariables

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

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
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

◆ curGridVolVars() [2/2]

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

◆ gridFluxVarsCache() [1/2]

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

◆ gridFluxVarsCache() [2/2]

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

◆ gridGeometry()

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

◆ init()

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

◆ prevGridVolVars() [1/2]

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

◆ prevGridVolVars() [2/2]

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

◆ resetTimeStep()

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

◆ 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

◆ updateAfterGridAdaption()

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

Member Data Documentation

◆ gridGeometry_

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

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