3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Static Public Attributes | List of all members
Dumux::Python::FVSpatialParams< GridGeometry_ > Class Template Reference

The base class for spatial parameters used with finite-volume schemes. More...

#include <dumux/python/common/fvspatialparams.hh>

Inheritance diagram for Dumux::Python::FVSpatialParams< GridGeometry_ >:

Description

template<class GridGeometry_>
class Dumux::Python::FVSpatialParams< GridGeometry_ >

The base class for spatial parameters used with finite-volume schemes.

Public Types

using GridGeometry = GridGeometry_
 
using GridView = typename GridGeometry::GridView
 
using Scalar = typename GridView::ctype
 
using Element = typename GridView::template Codim< 0 >::Entity
 
using SubControlVolume = typename GridGeometry::SubControlVolume
 
using GlobalPosition = typename Element::Geometry::GlobalCoordinate
 
using GravityVector = Dune::FieldVector< Scalar, dimWorld >
 

Public Member Functions

 FVSpatialParams (std::shared_ptr< const GridGeometry > gridGeometry, pybind11::object pySpatialParameters)
 
 FVSpatialParams (std::shared_ptr< const GridGeometry > gridGeometry)
 
template<class ElementSolution >
Scalar extrusionFactor (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const
 Return how much the domain is extruded at a given sub-control volume. More...
 
template<class ElementSolution >
Scalar temperature (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const
 Return the temperature in the given sub-control volume. More...
 
const GravityVectorgravity (const GlobalPosition &pos) const
 Returns the acceleration due to gravity \(\mathrm{[m/s^2]}\). More...
 
const GridGeometrygridGeometry () const
 The finite volume grid geometry. More...
 

Static Public Attributes

static constexpr bool isBox = GridGeometry::discMethod == DiscretizationMethods::box
 
static constexpr int dimWorld = GridView::dimensionworld
 

Member Typedef Documentation

◆ Element

template<class GridGeometry_ >
using Dumux::Python::FVSpatialParams< GridGeometry_ >::Element = typename GridView::template Codim<0>::Entity

◆ GlobalPosition

template<class GridGeometry_ >
using Dumux::Python::FVSpatialParams< GridGeometry_ >::GlobalPosition = typename Element::Geometry::GlobalCoordinate

◆ GravityVector

template<class GridGeometry_ >
using Dumux::Python::FVSpatialParams< GridGeometry_ >::GravityVector = Dune::FieldVector<Scalar, dimWorld>

◆ GridGeometry

template<class GridGeometry_ >
using Dumux::Python::FVSpatialParams< GridGeometry_ >::GridGeometry = GridGeometry_

◆ GridView

template<class GridGeometry_ >
using Dumux::Python::FVSpatialParams< GridGeometry_ >::GridView = typename GridGeometry::GridView

◆ Scalar

template<class GridGeometry_ >
using Dumux::Python::FVSpatialParams< GridGeometry_ >::Scalar = typename GridView::ctype

◆ SubControlVolume

template<class GridGeometry_ >
using Dumux::Python::FVSpatialParams< GridGeometry_ >::SubControlVolume = typename GridGeometry::SubControlVolume

Constructor & Destructor Documentation

◆ FVSpatialParams() [1/2]

template<class GridGeometry_ >
Dumux::Python::FVSpatialParams< GridGeometry_ >::FVSpatialParams ( std::shared_ptr< const GridGeometry gridGeometry,
pybind11::object  pySpatialParameters 
)
inline

◆ FVSpatialParams() [2/2]

template<class GridGeometry_ >
Dumux::Python::FVSpatialParams< GridGeometry_ >::FVSpatialParams ( std::shared_ptr< const GridGeometry gridGeometry)
inline

Member Function Documentation

◆ extrusionFactor()

template<class GridGeometry_ >
template<class ElementSolution >
Scalar Dumux::Python::FVSpatialParams< GridGeometry_ >::extrusionFactor ( const Element element,
const SubControlVolume scv,
const ElementSolution &  elemSol 
) const
inline

Return how much the domain is extruded at a given sub-control volume.

This means the factor by which a lower-dimensional (1D or 2D) entity needs to be expanded to get a full dimensional cell. The default is 1.0 which means that 1D problems are actually thought as pipes with a cross section of 1 m^2 and 2D problems are assumed to extend 1 m to the back.

◆ gravity()

template<class GridGeometry_ >
const GravityVector & Dumux::Python::FVSpatialParams< GridGeometry_ >::gravity ( const GlobalPosition pos) const
inline

Returns the acceleration due to gravity \(\mathrm{[m/s^2]}\).

The default behaviour is a constant gravity vector; if the Problem.EnableGravity parameter is true, \(\boldsymbol{g} = ( 0,\dots,\ -9.81)^T \), else \(\boldsymbol{g} = ( 0,\dots, 0)^T \).

Parameters
posthe spatial position at which to evaluate the gravity vector

◆ gridGeometry()

template<class GridGeometry_ >
const GridGeometry & Dumux::Python::FVSpatialParams< GridGeometry_ >::gridGeometry ( ) const
inline

The finite volume grid geometry.

◆ temperature()

template<class GridGeometry_ >
template<class ElementSolution >
Scalar Dumux::Python::FVSpatialParams< GridGeometry_ >::temperature ( const Element element,
const SubControlVolume scv,
const ElementSolution &  elemSol 
) const
inline

Return the temperature in the given sub-control volume.

Member Data Documentation

◆ dimWorld

template<class GridGeometry_ >
constexpr int Dumux::Python::FVSpatialParams< GridGeometry_ >::dimWorld = GridView::dimensionworld
staticconstexpr

◆ isBox

template<class GridGeometry_ >
constexpr bool Dumux::Python::FVSpatialParams< GridGeometry_ >::isBox = GridGeometry::discMethod == DiscretizationMethods::box
staticconstexpr

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