3.1-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::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 >:
Inheritance graph

Description

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

Class storing data associated to scvs and scvfs.

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 More...
 
using GridFluxVariablesCache = GFVC
 export the type of the grid flux variables cache More...
 
using GridFaceVariables = GFV
 export the type of the grid face variables More...
 
using GridGeometry = GG
 export the type of the 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...
 

Public Member Functions

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

◆ 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

export the type of the grid face variables

◆ GridFluxVariablesCache

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

export the type of the grid flux variables cache

◆ GridGeometry

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

export the type of the grid geometry

◆ GridVolumeVariables

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

export the type of the grid volume variables

◆ PrimaryVariables

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

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])>
inherited

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
inherited

export type of the volume variables

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

Constructor.

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

Return a copy of the cell center specific auxiliary class.

◆ cellCenterGridVariablesPtr()

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

Returns a pointer the cell center specific auxiliary class. Required for the multi-domain FVAssembler's ctor.

◆ curGridFaceVars() [1/2]

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

return the current face variables

◆ curGridFaceVars() [2/2]

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

return the current face variables

◆ curGridVolVars() [1/2]

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

return the current volume variables

◆ curGridVolVars() [2/2]

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

return the current volume variables

◆ faceGridVariables()

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

Return a copy of the face specific auxiliary class.

◆ faceGridVariablesPtr()

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

Returns a pointer the face specific auxiliary class. Required for the multi-domain FVAssembler's ctor.

◆ fvGridGeometry()

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

return the finite volume grid geometry

◆ gridFluxVarsCache() [1/2]

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

return the flux variables cache

◆ gridFluxVarsCache() [2/2]

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

return the flux variables cache

◆ gridGeometry()

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

return the finite volume grid geometry

◆ init() [1/2]

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

initialize all variables (stationary case)

◆ init() [2/2]

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

initialize all variables (instationary case)

◆ prevGridFaceVars() [1/2]

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

return the previous face variables

◆ prevGridFaceVars() [2/2]

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

return the previous face variables

◆ prevGridVolVars() [1/2]

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

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
inlineinherited

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

◆ 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

resets state to the one before time integration

◆ 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 all variables

◆ 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

update all variables

◆ updateAfterGridAdaption()

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

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

pointer to the constant grid geometry


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