3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | List of all members
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 >

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

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

export cache type for flux variables

◆ GridGeometry

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

export type of the finite volume grid geometry

◆ GridVolumeVariables

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

export type of the grid volume variables

◆ LocalView

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

export the local view on this class

◆ PrimaryVariables

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

export primary variable type

◆ Scalar

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

export the underlying scalar type

◆ SolutionVector

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

export the type of solution vector

◆ TimeLevel

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

export the time representation

◆ VolumeVariables

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

export type of the volume variables

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

Constructor.

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

Constructor with custom initialization of the solution.

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

Non-const access still required for privar switch (TODO: Remove dependency)

◆ dofs() [2/2]

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

Return reference to the solution.

◆ forceUpdateAll()

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

Force the update of all variables.

◆ gridFluxVarsCache() [1/2]

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

return the flux variables cache

◆ gridFluxVarsCache() [2/2]

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

return the flux variables cache

◆ gridGeometry()

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

Return a reference to the grid geometry.

◆ gridVolVars() [1/2]

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

return the current volume variables

◆ gridVolVars() [2/2]

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

return the current volume variables

◆ timeLevel()

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

Return the time level.

◆ update() [1/2]

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

Update all variables that may be affected by a change in solution.

◆ update() [2/2]

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

Update the state to a new solution & time level.

◆ updateTime()

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

Update the time level only.


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