3.4
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Loading...
Searching...
No Matches
Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables > Class Template Reference

A C++ wrapper for a Python problem. More...

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

Description

template<class GridGeometry_, class PrimaryVariables>
class Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >

A C++ wrapper for a Python problem.

Public Types

using GridGeometry = GridGeometry_
using Scalar = typename PrimaryVariables::value_type
using NumEqVector = Dune::FieldVector<Scalar, PrimaryVariables::dimension>
using Element = typename GridGeometry::GridView::template Codim<0>::Entity
using FVElementGeometry = typename GridGeometry::LocalView
using SubControlVolume = typename GridGeometry::SubControlVolume
using SubControlVolumeFace = typename GridGeometry::SubControlVolumeFace
using GlobalPosition = typename Element::Geometry::GlobalCoordinate
using BoundaryTypes = Dumux::BoundaryTypes<PrimaryVariables::dimension>

Public Member Functions

 FVProblem (std::shared_ptr< const GridGeometry > gridGeometry, pybind11::object pyProblem)
std::string name () const
BoundaryTypes boundaryTypes (const Element &element, const SubControlVolume &scv) const
BoundaryTypes boundaryTypes (const Element &element, const SubControlVolumeFace &scvf) const
PrimaryVariables dirichlet (const Element &element, const SubControlVolume &scv) const
PrimaryVariables dirichlet (const Element &element, const SubControlVolumeFace &scvf) const
template<class ElementVolumeVariables, class ElementFluxVariablesCache>
NumEqVector neumann (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const
template<class ElementVolumeVariables>
NumEqVector source (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const
NumEqVector sourceAtPos (const GlobalPosition &globalPos) const
template<class Entity>
PrimaryVariables initial (const Entity &entity) const
template<class ElementSolution>
Scalar extrusionFactor (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const
const GridGeometrygridGeometry () const

Static Public Attributes

static constexpr bool isBox = GridGeometry::discMethod == DiscretizationMethod::box
static constexpr std::size_t numEq = static_cast<std::size_t>(PrimaryVariables::dimension)

Member Typedef Documentation

◆ BoundaryTypes

template<class GridGeometry_, class PrimaryVariables>
using Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::BoundaryTypes = Dumux::BoundaryTypes<PrimaryVariables::dimension>

◆ Element

template<class GridGeometry_, class PrimaryVariables>
using Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::Element = typename GridGeometry::GridView::template Codim<0>::Entity

◆ FVElementGeometry

template<class GridGeometry_, class PrimaryVariables>
using Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::FVElementGeometry = typename GridGeometry::LocalView

◆ GlobalPosition

template<class GridGeometry_, class PrimaryVariables>
using Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::GlobalPosition = typename Element::Geometry::GlobalCoordinate

◆ GridGeometry

template<class GridGeometry_, class PrimaryVariables>
using Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::GridGeometry = GridGeometry_

◆ NumEqVector

template<class GridGeometry_, class PrimaryVariables>
using Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::NumEqVector = Dune::FieldVector<Scalar, PrimaryVariables::dimension>

◆ Scalar

template<class GridGeometry_, class PrimaryVariables>
using Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::Scalar = typename PrimaryVariables::value_type

◆ SubControlVolume

template<class GridGeometry_, class PrimaryVariables>
using Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::SubControlVolume = typename GridGeometry::SubControlVolume

◆ SubControlVolumeFace

template<class GridGeometry_, class PrimaryVariables>
using Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::SubControlVolumeFace = typename GridGeometry::SubControlVolumeFace

Constructor & Destructor Documentation

◆ FVProblem()

template<class GridGeometry_, class PrimaryVariables>
Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::FVProblem ( std::shared_ptr< const GridGeometry > gridGeometry,
pybind11::object pyProblem )
inline

Member Function Documentation

◆ boundaryTypes() [1/2]

template<class GridGeometry_, class PrimaryVariables>
BoundaryTypes Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::boundaryTypes ( const Element & element,
const SubControlVolume & scv ) const
inline

◆ boundaryTypes() [2/2]

template<class GridGeometry_, class PrimaryVariables>
BoundaryTypes Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::boundaryTypes ( const Element & element,
const SubControlVolumeFace & scvf ) const
inline

◆ dirichlet() [1/2]

template<class GridGeometry_, class PrimaryVariables>
PrimaryVariables Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::dirichlet ( const Element & element,
const SubControlVolume & scv ) const
inline

◆ dirichlet() [2/2]

template<class GridGeometry_, class PrimaryVariables>
PrimaryVariables Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::dirichlet ( const Element & element,
const SubControlVolumeFace & scvf ) const
inline

◆ extrusionFactor()

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

◆ gridGeometry()

template<class GridGeometry_, class PrimaryVariables>
const GridGeometry & Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::gridGeometry ( ) const
inline

◆ initial()

template<class GridGeometry_, class PrimaryVariables>
template<class Entity>
PrimaryVariables Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::initial ( const Entity & entity) const
inline

◆ name()

template<class GridGeometry_, class PrimaryVariables>
std::string Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::name ( ) const
inline

◆ neumann()

template<class GridGeometry_, class PrimaryVariables>
template<class ElementVolumeVariables, class ElementFluxVariablesCache>
NumEqVector Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::neumann ( const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & elemVolVars,
const ElementFluxVariablesCache & elemFluxVarsCache,
const SubControlVolumeFace & scvf ) const
inline

◆ source()

template<class GridGeometry_, class PrimaryVariables>
template<class ElementVolumeVariables>
NumEqVector Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::source ( const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & elemVolVars,
const SubControlVolume & scv ) const
inline

◆ sourceAtPos()

template<class GridGeometry_, class PrimaryVariables>
NumEqVector Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::sourceAtPos ( const GlobalPosition & globalPos) const
inline

Member Data Documentation

◆ isBox

template<class GridGeometry_, class PrimaryVariables>
bool Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::isBox = GridGeometry::discMethod == DiscretizationMethod::box
staticconstexpr

◆ numEq

template<class GridGeometry_, class PrimaryVariables>
std::size_t Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::numEq = static_cast<std::size_t>(PrimaryVariables::dimension)
staticconstexpr

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