version 3.9-dev
Dumux::Experimental::FVGridVariables< GVV, GFVC, X > Class Template Reference

The grid variable class for finite volume schemes, storing variables on scv and scvf (volume and flux variables). More...

#include <dumux/experimental/discretization/fvgridvariables.hh>

Inheritance diagram for Dumux::Experimental::FVGridVariables< GVV, GFVC, X >:

Description

template<class GVV, class GFVC, class X>
class Dumux::Experimental::FVGridVariables< GVV, GFVC, X >
Template Parameters
GVVthe type of the grid volume variables
GFVCthe type of the grid flux variables cache
Xthe type used for solution vectors

Public Types

using GridGeometry = GG
 export type of the finite volume grid geometry More...
 
using GridVolumeVariables = GVV
 export type of the grid volume variables More...
 
using VolumeVariables = typename GridVolumeVariables::VolumeVariables
 export type of the volume variables More...
 
using PrimaryVariables = typename VolumeVariables::PrimaryVariables
 export primary variable type More...
 
using GridFluxVariablesCache = GFVC
 export cache type for flux variables More...
 
using LocalView = FVGridVariablesLocalView< ThisType >
 export the local view on this class More...
 
using SolutionVector = X
 export the type of solution vector More...
 
using Scalar = typename ScalarT< X >::type
 export the underlying scalar type More...
 
using TimeLevel = Dumux::Experimental::TimeLevel< Scalar >
 export the time representation More...
 

Public Member Functions

 FVGridVariables (std::shared_ptr< Problem > problem, std::shared_ptr< const GridGeometry > gridGeometry)
 Constructor. More...
 
template<class SolOrInitializer >
 FVGridVariables (std::shared_ptr< Problem > problem, std::shared_ptr< const GridGeometry > gridGeometry, SolOrInitializer &&solOrInitializer)
 Constructor with custom initialization of the solution. More...
 
void update (const SolutionVector &curSol)
 Update all variables that may be affected by a change in solution. More...
 
void forceUpdateAll (const SolutionVector &curSol)
 Force the update of all variables. More...
 
const GridFluxVariablesCachegridFluxVarsCache () const
 return the flux variables cache More...
 
GridFluxVariablesCachegridFluxVarsCache ()
 return the flux variables cache More...
 
const GridVolumeVariablesgridVolVars () const
 return the current volume variables More...
 
GridVolumeVariablesgridVolVars ()
 return the current volume variables More...
 
const GridGeometrygridGeometry () const
 Return a reference to the grid geometry. More...
 
const TimeLeveltimeLevel () const
 Return the time level. More...
 
const SolutionVectordofs () const
 Return reference to the solution. More...
 
SolutionVectordofs ()
 Non-const access still required for privar switch (TODO: Remove dependency) More...
 
void update (const SolutionVector &x, const TimeLevel &t)
 Update the state to a new solution & time level. More...
 
void updateTime (const TimeLevel &t)
 Update the time level only. More...
 

Member Typedef Documentation

◆ GridFluxVariablesCache

template<class GVV , class GFVC , class X >
using Dumux::Experimental::FVGridVariables< GVV, GFVC, X >::GridFluxVariablesCache = GFVC

◆ GridGeometry

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

◆ GridVolumeVariables

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

◆ LocalView

template<class GVV , class GFVC , class X >
using Dumux::Experimental::FVGridVariables< GVV, GFVC, X >::LocalView = FVGridVariablesLocalView<ThisType>

◆ PrimaryVariables

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

◆ Scalar

template<class X >
using Dumux::Experimental::Variables< X >::Scalar = typename ScalarT<X>::type
inherited

◆ SolutionVector

template<class X >
using Dumux::Experimental::Variables< X >::SolutionVector = X
inherited

◆ TimeLevel

template<class X >
using Dumux::Experimental::Variables< X >::TimeLevel = Dumux::Experimental::TimeLevel<Scalar>
inherited

◆ VolumeVariables

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

Constructor & Destructor Documentation

◆ FVGridVariables() [1/2]

template<class GVV , class GFVC , class X >
Dumux::Experimental::FVGridVariables< GVV, GFVC, X >::FVGridVariables ( std::shared_ptr< Problem >  problem,
std::shared_ptr< const GridGeometry gridGeometry 
)
inline
Parameters
problemThe problem to be solved
gridGeometryThe geometry of the computational grid
Note
This constructor initializes the solution using the initializer function in the given problem, and thus, this only compiles if the problem implements it.

◆ FVGridVariables() [2/2]

template<class GVV , class GFVC , class X >
template<class SolOrInitializer >
Dumux::Experimental::FVGridVariables< GVV, GFVC, X >::FVGridVariables ( std::shared_ptr< Problem >  problem,
std::shared_ptr< const GridGeometry gridGeometry,
SolOrInitializer &&  solOrInitializer 
)
inline
Parameters
problemThe problem to be solved
gridGeometryThe geometry of the computational grid
solOrInitializerThis can be either a reference to a solution vector, or an initializer lambda. See Dumux::Experimental::Variables.

Member Function Documentation

◆ dofs() [1/2]

template<class X >
SolutionVector & Dumux::Experimental::Variables< X >::dofs ( )
inlineinherited

◆ dofs() [2/2]

template<class X >
const SolutionVector & Dumux::Experimental::Variables< X >::dofs ( ) const
inlineinherited

◆ forceUpdateAll()

template<class GVV , class GFVC , class X >
void Dumux::Experimental::FVGridVariables< GVV, GFVC, X >::forceUpdateAll ( const SolutionVector curSol)
inline

◆ gridFluxVarsCache() [1/2]

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

◆ gridFluxVarsCache() [2/2]

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

◆ gridGeometry()

const GridGeometry & Dumux::Experimental::GridVariables< ProblemTraits< GVV::Problem >::GridGeometry , X >::gridGeometry ( ) const
inlineinherited

◆ gridVolVars() [1/2]

template<class GVV , class GFVC , class X >
GridVolumeVariables & Dumux::Experimental::FVGridVariables< GVV, GFVC, X >::gridVolVars ( )
inline

◆ gridVolVars() [2/2]

template<class GVV , class GFVC , class X >
const GridVolumeVariables & Dumux::Experimental::FVGridVariables< GVV, GFVC, X >::gridVolVars ( ) const
inline

◆ timeLevel()

template<class X >
const TimeLevel & Dumux::Experimental::Variables< X >::timeLevel ( ) const
inlineinherited

◆ update() [1/2]

template<class GVV , class GFVC , class X >
void Dumux::Experimental::FVGridVariables< GVV, GFVC, X >::update ( const SolutionVector curSol)
inline

◆ update() [2/2]

template<class X >
void Dumux::Experimental::Variables< X >::update ( const SolutionVector x,
const TimeLevel t 
)
inlineinherited

◆ updateTime()

template<class X >
void Dumux::Experimental::Variables< X >::updateTime ( const TimeLevel t)
inlineinherited

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