version 3.9.0
Loading...
Searching...
No Matches
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
 
using GridVolumeVariables = GVV
 export type of the finite volume grid geometry
 
using VolumeVariables = typename GridVolumeVariables::VolumeVariables
 export type of the volume variables
 
using PrimaryVariables = typename VolumeVariables::PrimaryVariables
 export primary variable type
 
using Scalar = std::decay_t<decltype(std::declval<PrimaryVariables>()[0])>
 export scalar type (TODO get it directly from the volvars)
 
using GridFluxVariablesCache = GFVC
 export type of the finite volume grid geometry
 

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)
 
template<class SolutionVector >
void update (const SolutionVector &curSol, bool forceFluxCacheUpdate=false)
 update all variables
 
template<class SolutionVector >
void updateAfterGridAdaption (const SolutionVector &curSol)
 update all variables after grid adaption
 
void advanceTimeStep ()
 Sets the current state as the previous for next time step.
 
template<class SolutionVector >
void resetTimeStep (const SolutionVector &solution)
 resets state to the one before time integration
 
const GridFluxVariablesCachegridFluxVarsCache () const
 return the flux variables cache
 
GridFluxVariablesCachegridFluxVarsCache ()
 return the flux variables cache
 
const GridVolumeVariablescurGridVolVars () const
 return the current volume variables
 
GridVolumeVariablescurGridVolVars ()
 return the current volume variables
 
const GridVolumeVariablesprevGridVolVars () const
 return the volume variables of the previous time step (for instationary problems)
 
GridVolumeVariablesprevGridVolVars ()
 return the volume variables of the previous time step (for instationary problems)
 
const GridGeometrygridGeometry () const
 return the finite volume grid geometry
 

Protected Attributes

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

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: