version 3.11-dev
Loading...
Searching...
No Matches
Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine > Class Template Reference

Connects the coarse level of the two-phase VE model to its fine level. More...

#include <dumux/porousmediumflow/2pve/finelevelview.hh>

Description

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
class Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >

Provides the mapping between coarse-level columns and fine-level elements, the history of each column, and the reconstruction of the fine-level solution from the coarse-level solution.

Template Parameters
CoarseGridGeometrythe horizontal, lower-dimensional grid geometry
FineGridGeometrythe full-dimensional reconstruction grid geometry
Scalarthe scalar type
FluidSystemthe immiscible two-phase fluid system
Indicesthe primary variable indices of the model
SolutionVectorthe type of the coarse-level and the fine-level solution vectors
SpatialParamsFinethe fine-level spatial parameters, providing permeabilityAtElement(fineElement), porosityAtElement(fineElement), gravity(finePosition) and gridGeometry()

Public Types

using FineLevelElementState = TwoPVEFineLevelElementState<FineGridGeometry, Scalar, FluidSystem>
using FineLevelFields = TwoPVEFineLevelFieldStorage<FineGridGeometry, Scalar, FluidSystem>

Public Member Functions

 TwoPVEFineLevelView (std::shared_ptr< const FineGridGeometry > gridGeometry, std::shared_ptr< const CoarseGridGeometry > gridGeometryCoarse, std::shared_ptr< const SpatialParamsFine > spatialParamsFine)
 Builds the mapping between the levels and checks that the grids fulfill the requirements of the model.
Scalar fineCellHeight () const
 Returns the height of a fine-level cell (for uniform grid).
const SpatialParamsFine & spatialParams () const
 Getter function for fine-level spatial parameters.
std::shared_ptr< const SpatialParamsFine > spatialParamsPtr () const
 Getter function for pointer to fine-level spatial parameters.
const ColumnMapping & columnMap () const
 Getter function for mapping between coarse and fine level.
const FineGridGeometry & gridGeometry () const
 Getter function for fine-level grid geometry.
const CoarseGridGeometry & gridGeometryCoarse () const
 Getter function for coarse-level grid geometry.
const SolutionVector & solution () const
 Getter function for fine-level solution vector.
SolutionVector & solution ()
 Getter function for fine-level solution vector.
const QuantityReconstructor & quantityReconstructor () const
 Getter function for pointer to quantity reconstructor member.
const auto & fields () const
 Getter function for fine-level solution fields.
template<class PrimaryVariables, class SpatialParamsCoarse>
ColumnState makeColumnState (const Element &coarseElement, const PrimaryVariables &coarsePriVars, const SpatialParamsCoarse &coarseSpatialParams) const
 Computes and returns all quantities that define the state of a coarse-level column.
template<class ProblemCoarse>
void updateSol (const ProblemCoarse &coarseProblem, const SolutionVector &coarseSolution)
 Updates fine-level solution and solution fields given the coarse-level solution.

Member Typedef Documentation

◆ FineLevelElementState

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
using Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::FineLevelElementState = TwoPVEFineLevelElementState<FineGridGeometry, Scalar, FluidSystem>

◆ FineLevelFields

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
using Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::FineLevelFields = TwoPVEFineLevelFieldStorage<FineGridGeometry, Scalar, FluidSystem>

Constructor & Destructor Documentation

◆ TwoPVEFineLevelView()

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::TwoPVEFineLevelView ( std::shared_ptr< const FineGridGeometry > gridGeometry,
std::shared_ptr< const CoarseGridGeometry > gridGeometryCoarse,
std::shared_ptr< const SpatialParamsFine > spatialParamsFine )
inline
Parameters
gridGeometryfine-level grid geometry
gridGeometryCoarsecoarse-level grid geometry
spatialParamsFinefine-level spatial parameters

Member Function Documentation

◆ columnMap()

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
const ColumnMapping & Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::columnMap ( ) const
inline

◆ fields()

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
const auto & Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::fields ( ) const
inline

◆ fineCellHeight()

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
Scalar Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::fineCellHeight ( ) const
inline

◆ gridGeometry()

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
const FineGridGeometry & Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::gridGeometry ( ) const
inline

◆ gridGeometryCoarse()

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
const CoarseGridGeometry & Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::gridGeometryCoarse ( ) const
inline

◆ makeColumnState()

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
template<class PrimaryVariables, class SpatialParamsCoarse>
ColumnState Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::makeColumnState ( const Element & coarseElement,
const PrimaryVariables & coarsePriVars,
const SpatialParamsCoarse & coarseSpatialParams ) const
inline
Parameters
coarseElementcoarse-level element
coarsePriVarscoarse-level primary variables
coarseSpatialParamscoarse-level spatial parameters

◆ quantityReconstructor()

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
const QuantityReconstructor & Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::quantityReconstructor ( ) const
inline

◆ solution() [1/2]

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
SolutionVector & Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::solution ( )
inline

◆ solution() [2/2]

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
const SolutionVector & Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::solution ( ) const
inline

◆ spatialParams()

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
const SpatialParamsFine & Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::spatialParams ( ) const
inline

◆ spatialParamsPtr()

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
std::shared_ptr< const SpatialParamsFine > Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::spatialParamsPtr ( ) const
inline

◆ updateSol()

template<class CoarseGridGeometry, class FineGridGeometry, class Scalar, class FluidSystem, class Indices, class SolutionVector, class SpatialParamsFine>
template<class ProblemCoarse>
void Dumux::TwoPVEFineLevelView< CoarseGridGeometry, FineGridGeometry, Scalar, FluidSystem, Indices, SolutionVector, SpatialParamsFine >::updateSol ( const ProblemCoarse & coarseProblem,
const SolutionVector & coarseSolution )
inline

Also updates the history of each column, on which the coarse-level volume variables depend. Cached coarse-level volume variables have to be updated afterwards.

Parameters
coarseProblemcoarse-level problem
coarseSolutioncoarse-level solution vector

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