version 3.11-dev
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 GridFluxVariablesCache & gridFluxVarsCache () const
 return the flux variables cache
GridFluxVariablesCache & gridFluxVarsCache ()
 return the flux variables cache
const GridVolumeVariables & curGridVolVars () const
 return the current volume variables
GridVolumeVariables & curGridVolVars ()
 return the current volume variables
const GridVolumeVariables & prevGridVolVars () const
 return the volume variables of the previous time step (for instationary problems)
GridVolumeVariables & prevGridVolVars ()
 return the volume variables of the previous time step (for instationary problems)
const GridGeometry & gridGeometry () const
 return the finite volume grid geometry

Protected Attributes

std::shared_ptr< const GridGeometry > gridGeometry_
 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: