version 3.9.0
Loading...
Searching...
No Matches
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
 
using GridVolumeVariables = GVV
 export type of the grid volume variables
 
using VolumeVariables = typename GridVolumeVariables::VolumeVariables
 export type of the volume variables
 
using PrimaryVariables = typename VolumeVariables::PrimaryVariables
 export primary variable type
 
using GridFluxVariablesCache = GFVC
 export cache type for flux variables
 
using LocalView = FVGridVariablesLocalView<ThisType>
 export the local view on this class
 
using SolutionVector = X
 export the type of solution vector
 
using Scalar = typename ScalarT<X>::type
 export the underlying scalar type
 
using TimeLevel = Dumux::Experimental::TimeLevel<Scalar>
 export the time representation
 

Public Member Functions

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

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: