12#ifndef DUMUX_STAGGERED_GRID_VARIABLES_HH
13#define DUMUX_STAGGERED_GRID_VARIABLES_HH
24template<
class ActualGr
idVariables>
103template<
class ActualGr
idVariables>
108 using ParentType::ParentType;
111 template<
class SolVector>
112 void init(
const SolVector& curSol)
120 template<
class SolVector>
128 template<
class SolVector>
141template<
class ActualGr
idVariables>
146 using ParentType::ParentType;
149 template<
class SolVector>
150 void init(
const SolVector& curSol)
157 template<
class SolVector>
164 template<
class SolVector>
181template<
class GG,
class GVV,
class GFVC,
class GFV>
188 static constexpr auto cellCenterIdx = GG::cellCenterIdx();
189 static constexpr auto faceIdx = GG::faceIdx();
205 template<
class Problem>
209 , curGridFaceVariables_(*problem)
210 , prevGridFaceVariables_(*problem)
214 template<
class SolutionVector>
215 void update(
const SolutionVector& curSol)
218 curGridFaceVariables_.update(*this->
gridGeometry_, curSol[faceIdx]);
222 template<
class SolutionVector>
223 void init(
const SolutionVector& curSol)
226 curGridFaceVariables_.update(*this->
gridGeometry_, curSol[faceIdx]);
227 prevGridFaceVariables_.update(*this->
gridGeometry_, curSol[faceIdx]);
235 prevGridFaceVariables_ = curGridFaceVariables_;
239 template<
class SolutionVector>
243 curGridFaceVariables_ = prevGridFaceVariables_;
248 {
return curGridFaceVariables_; }
252 {
return prevGridFaceVariables_; }
256 {
return curGridFaceVariables_; }
260 {
return prevGridFaceVariables_; }
265 return std::make_unique<CellCenterGridVariablesView<ThisType>>(
this);
271 return std::make_unique<FaceGridVariablesView<ThisType>>(
this);
Cell center specific auxiliary GridVariables classes. Required for the Dumux multi-domain framework.
Definition: discretization/staggered/gridvariables.hh:105
void init(const SolVector &curSol)
initialize all variables (stationary case)
Definition: discretization/staggered/gridvariables.hh:112
void update(const SolVector &curSol)
update the volume variables and the flux variables cache
Definition: discretization/staggered/gridvariables.hh:121
void resetTimeStep(const SolVector &sol)
resets state to the one before time integration
Definition: discretization/staggered/gridvariables.hh:129
The grid variable class for finite volume schemes storing variables on scv and scvf (volume and flux ...
Definition: discretization/fvgridvariables.hh:30
GG GridGeometry
export type of the finite volume grid geometry
Definition: discretization/fvgridvariables.hh:33
std::shared_ptr< const GridGeometry > gridGeometry_
pointer to the constant grid geometry
Definition: discretization/fvgridvariables.hh:149
void advanceTimeStep()
Sets the current state as the previous for next time step.
Definition: discretization/fvgridvariables.hh:103
GVV GridVolumeVariables
export type of the finite volume grid geometry
Definition: discretization/fvgridvariables.hh:36
void init(const SolutionVector &curSol)
initialize all variables (stationary case)
Definition: discretization/fvgridvariables.hh:61
const GridGeometry & gridGeometry() const
return the finite volume grid geometry
Definition: discretization/fvgridvariables.hh:144
GFVC GridFluxVariablesCache
export type of the finite volume grid geometry
Definition: discretization/fvgridvariables.hh:48
void resetTimeStep(const SolutionVector &solution)
resets state to the one before time integration
Definition: discretization/fvgridvariables.hh:110
void update(const SolutionVector &curSol, bool forceFluxCacheUpdate=false)
update all variables
Definition: discretization/fvgridvariables.hh:78
Face specific auxiliary GridVariables classes. Required for the Dumux multi-domain framework.
Definition: discretization/staggered/gridvariables.hh:143
void init(const SolVector &curSol)
initialize all variables (stationary case)
Definition: discretization/staggered/gridvariables.hh:150
void update(const SolVector &curSol)
update the face variables
Definition: discretization/staggered/gridvariables.hh:158
void resetTimeStep(const SolVector &sol)
resets state to the one before time integration
Definition: discretization/staggered/gridvariables.hh:165
Class storing data associated to scvs and scvfs.
Definition: discretization/staggered/gridvariables.hh:183
GFV GridFaceVariables
export the type of the grid face variables
Definition: discretization/staggered/gridvariables.hh:200
void update(const SolutionVector &curSol)
update all variables
Definition: discretization/staggered/gridvariables.hh:215
StaggeredGridVariables(std::shared_ptr< Problem > problem, std::shared_ptr< GridGeometry > gridGeometry)
Constructor.
Definition: discretization/staggered/gridvariables.hh:206
void init(const SolutionVector &curSol)
initialize all variables (stationary case)
Definition: discretization/staggered/gridvariables.hh:223
const GridFaceVariables & curGridFaceVars() const
return the current face variables
Definition: discretization/staggered/gridvariables.hh:247
FaceGridVariablesView< ThisType > faceGridVariables() const
Return a copy of the face specific auxiliary class.
Definition: discretization/staggered/gridvariables.hh:281
void resetTimeStep(const SolutionVector &solution)
resets state to the one before time integration
Definition: discretization/staggered/gridvariables.hh:240
void advanceTimeStep()
Definition: discretization/staggered/gridvariables.hh:232
CellCenterGridVariablesView< ThisType > cellCenterGridVariables() const
Return a copy of the cell center specific auxiliary class.
Definition: discretization/staggered/gridvariables.hh:275
GridFaceVariables & prevGridFaceVars()
return the previous face variables
Definition: discretization/staggered/gridvariables.hh:259
GridFaceVariables & curGridFaceVars()
return the current face variables
Definition: discretization/staggered/gridvariables.hh:255
std::unique_ptr< CellCenterGridVariablesView< ThisType > > cellCenterGridVariablesPtr()
Returns a pointer the cell center specific auxiliary class. Required for the multi-domain FVAssembler...
Definition: discretization/staggered/gridvariables.hh:263
const GridFaceVariables & prevGridFaceVars() const
return the previous face variables
Definition: discretization/staggered/gridvariables.hh:251
std::unique_ptr< FaceGridVariablesView< ThisType > > faceGridVariablesPtr()
Returns a pointer the face specific auxiliary class. Required for the multi-domain FVAssembler's ctor...
Definition: discretization/staggered/gridvariables.hh:269
Base class for cell center of face specific auxiliary GridVariables classes. Provides a common interf...
Definition: discretization/staggered/gridvariables.hh:26
typename ActualGridVariables::GridFaceVariables GridFaceVariables
Definition: discretization/staggered/gridvariables.hh:29
GridFaceVariables & curGridFaceVars()
return the current face variables
Definition: discretization/staggered/gridvariables.hh:75
typename ActualGridVariables::GridGeometry GridGeometry
Definition: discretization/staggered/gridvariables.hh:37
ActualGridVariables & gridVariables()
Definition: discretization/staggered/gridvariables.hh:91
const GridFaceVariables & prevGridFaceVars() const
return the previous face variables
Definition: discretization/staggered/gridvariables.hh:71
const GridFluxVariablesCache & gridFluxVarsCache() const
return the flux variables cache
Definition: discretization/staggered/gridvariables.hh:43
GridFluxVariablesCache & gridFluxVarsCache()
return the flux variables cache
Definition: discretization/staggered/gridvariables.hh:47
GridVolumeVariables & curGridVolVars()
return the current volume variables
Definition: discretization/staggered/gridvariables.hh:55
typename ActualGridVariables::GridFluxVariablesCache GridFluxVariablesCache
Definition: discretization/staggered/gridvariables.hh:30
const GridGeometry & gridGeometry() const
return the fv grid geometry
Definition: discretization/staggered/gridvariables.hh:83
const GridVolumeVariables & curGridVolVars() const
return the current volume variables
Definition: discretization/staggered/gridvariables.hh:51
GridFaceVariables & prevGridFaceVars()
return the previous face variables
Definition: discretization/staggered/gridvariables.hh:79
typename VolumeVariables::PrimaryVariables PrimaryVariables
export primary variable type
Definition: discretization/staggered/gridvariables.hh:36
const GridFaceVariables & curGridFaceVars() const
return the current face variables
Definition: discretization/staggered/gridvariables.hh:67
const ActualGridVariables & gridVariables() const
Definition: discretization/staggered/gridvariables.hh:87
const GridVolumeVariables & prevGridVolVars() const
return the volume variables of the previous time step (for instationary problems)
Definition: discretization/staggered/gridvariables.hh:59
StaggeredGridVariablesView(ActualGridVariables *gridVariables)
Definition: discretization/staggered/gridvariables.hh:39
GridVolumeVariables & prevGridVolVars()
return the volume variables of the previous time step (for instationary problems)
Definition: discretization/staggered/gridvariables.hh:63
ActualGridVariables * gridVariables_
Definition: discretization/staggered/gridvariables.hh:95
typename GridVolumeVariables::VolumeVariables VolumeVariables
export type of the volume variables
Definition: discretization/staggered/gridvariables.hh:33
typename ActualGridVariables::GridVolumeVariables GridVolumeVariables
Definition: discretization/staggered/gridvariables.hh:28
The grid variable class for finite volume schemes, storing variables on scv and scvf (volume and flux...