version 3.8.0
Loading...
Searching...
No Matches
Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV > Class Template Reference

Class storing data associated to scvs and scvfs. More...

#include <dumux/discretization/staggered/gridvariables.hh>

Inheritance diagram for Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >:

Description

template<class GG, class GVV, class GFVC, class GFV>
class Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >
Template Parameters
GGthe type of the grid geometry
GVVthe type of the grid volume variables
GFVCthe type of the grid flux variables cache
GFVthe type of the grid face variables

Public Types

using CellCenterGridVariablesType = CellCenterGridVariablesView<ThisType>
 
using FaceGridVariablesType = FaceGridVariablesView<ThisType>
 
using GridVolumeVariables = GVV
 export the type of the grid volume variables
 
using GridFluxVariablesCache = GFVC
 export the type of the grid flux variables cache
 
using GridFaceVariables = GFV
 export the type of the grid face variables
 
using GridGeometry = GG
 export the type of the 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)
 

Public Member Functions

template<class Problem >
 StaggeredGridVariables (std::shared_ptr< Problem > problem, std::shared_ptr< GridGeometry > gridGeometry)
 Constructor.
 
template<class SolutionVector >
void update (const SolutionVector &curSol)
 update all variables
 
template<class SolutionVector >
void init (const SolutionVector &curSol)
 initialize all variables (stationary case)
 
void advanceTimeStep ()
 
template<class SolutionVector >
void resetTimeStep (const SolutionVector &solution)
 resets state to the one before time integration
 
const GridFaceVariablescurGridFaceVars () const
 return the current face variables
 
const GridFaceVariablesprevGridFaceVars () const
 return the previous face variables
 
GridFaceVariablescurGridFaceVars ()
 return the current face variables
 
GridFaceVariablesprevGridFaceVars ()
 return the previous face variables
 
std::unique_ptr< CellCenterGridVariablesView< ThisType > > cellCenterGridVariablesPtr ()
 Returns a pointer the cell center specific auxiliary class. Required for the multi-domain FVAssembler's ctor.
 
std::unique_ptr< FaceGridVariablesView< ThisType > > faceGridVariablesPtr ()
 Returns a pointer the face specific auxiliary class. Required for the multi-domain FVAssembler's ctor.
 
CellCenterGridVariablesView< ThisTypecellCenterGridVariables () const
 Return a copy of the cell center specific auxiliary class.
 
FaceGridVariablesView< ThisTypefaceGridVariables () const
 Return a copy of the face specific auxiliary class.
 
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
 
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

◆ CellCenterGridVariablesType

template<class GG , class GVV , class GFVC , class GFV >
using Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >::CellCenterGridVariablesType = CellCenterGridVariablesView<ThisType>

◆ FaceGridVariablesType

template<class GG , class GVV , class GFVC , class GFV >
using Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >::FaceGridVariablesType = FaceGridVariablesView<ThisType>

◆ GridFaceVariables

template<class GG , class GVV , class GFVC , class GFV >
using Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >::GridFaceVariables = GFV

◆ GridFluxVariablesCache

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

◆ GridGeometry

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

◆ GridVolumeVariables

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

◆ PrimaryVariables

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

◆ Scalar

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

◆ VolumeVariables

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

Constructor & Destructor Documentation

◆ StaggeredGridVariables()

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

Member Function Documentation

◆ advanceTimeStep()

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

Sets the current state as the previous for next time step this has to be called at the end of each time step

◆ cellCenterGridVariables()

template<class GG , class GVV , class GFVC , class GFV >
CellCenterGridVariablesView< ThisType > Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >::cellCenterGridVariables ( ) const
inline

◆ cellCenterGridVariablesPtr()

template<class GG , class GVV , class GFVC , class GFV >
std::unique_ptr< CellCenterGridVariablesView< ThisType > > Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >::cellCenterGridVariablesPtr ( )
inline

◆ curGridFaceVars() [1/2]

template<class GG , class GVV , class GFVC , class GFV >
GridFaceVariables & Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >::curGridFaceVars ( )
inline

◆ curGridFaceVars() [2/2]

template<class GG , class GVV , class GFVC , class GFV >
const GridFaceVariables & Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >::curGridFaceVars ( ) const
inline

◆ curGridVolVars() [1/2]

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

◆ curGridVolVars() [2/2]

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

◆ faceGridVariables()

template<class GG , class GVV , class GFVC , class GFV >
FaceGridVariablesView< ThisType > Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >::faceGridVariables ( ) const
inline

◆ faceGridVariablesPtr()

template<class GG , class GVV , class GFVC , class GFV >
std::unique_ptr< FaceGridVariablesView< ThisType > > Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >::faceGridVariablesPtr ( )
inline

◆ gridFluxVarsCache() [1/2]

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

◆ gridFluxVarsCache() [2/2]

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

◆ gridGeometry()

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

◆ init()

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

◆ prevGridFaceVars() [1/2]

template<class GG , class GVV , class GFVC , class GFV >
GridFaceVariables & Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >::prevGridFaceVars ( )
inline

◆ prevGridFaceVars() [2/2]

template<class GG , class GVV , class GFVC , class GFV >
const GridFaceVariables & Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >::prevGridFaceVars ( ) const
inline

◆ prevGridVolVars() [1/2]

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

◆ prevGridVolVars() [2/2]

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

◆ resetTimeStep()

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

◆ update() [1/2]

template<class GG , class GVV , class GFVC , class GFV >
template<class SolutionVector >
void Dumux::StaggeredGridVariables< GG, GVV, GFVC, GFV >::update ( const SolutionVector & curSol)
inline

◆ update() [2/2]

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

◆ updateAfterGridAdaption()

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

Member Data Documentation

◆ gridGeometry_

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

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