3.3.0
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::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 >
constexpr bool Dumux::Python::FVProblem< GridGeometry_, PrimaryVariables >::isBox = GridGeometry::discMethod == DiscretizationMethod::box
staticconstexpr

◆ numEq

template<class GridGeometry_ , class PrimaryVariables >
constexpr 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: