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

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

#include <dumux/python/porousmediumflow/problem.hh>

Inheritance diagram for Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >:

Description

template<class GridGeometry_, class SpatialParams_, class PrimaryVariables, bool enableInternalDirichletConstraints>
class Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >

A C++ wrapper for a Python PorousMediumFlow problem.

Public Types

using GridGeometry = GridGeometry_
 
using SpatialParams = SpatialParams_
 
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

 PorousMediumFlowProblem (std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< const SpatialParams > spatialParams, pybind11::object pyProblem)
 
const SpatialParamsspatialParams () const
 
const std::string & name () const
 
const std::string & paramGroup () 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
 
NumEqVector neumann (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const
 
NumEqVector source (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const
 
NumEqVector sourceAtPos (const GlobalPosition &globalPos) const
 
NumEqVector scvPointSources (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const
 
PrimaryVariables initial (const Entity &entity) const
 
void addSourceDerivatives (MatrixBlock &block, const Element &element, const FVElementGeometry &fvGeometry, const VolumeVariables &volVars, const SubControlVolume &scv) const
 Add source term derivative to the Jacobian. More...
 
Scalar extrusionFactorAtPos (const GlobalPosition &globalPos, double defaultValue=1.0) const
 
Scalar extrusionFactor (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol, double defaultValue=1.0) const
 
Scalar temperatureAtPos (const GlobalPosition &globalPos, int defaultValue=1) const
 
Scalar temperature (int defaultValue=1) const
 
const GridGeometrygridGeometry () const
 

Static Public Member Functions

static constexpr bool enableInternalDirichletConstraints ()
 

Static Public Attributes

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

Member Typedef Documentation

◆ BoundaryTypes

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
using Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::BoundaryTypes = Dumux::BoundaryTypes<PrimaryVariables::dimension>

◆ Element

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
using Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::Element = typename GridGeometry::GridView::template Codim<0>::Entity

◆ FVElementGeometry

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
using Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::FVElementGeometry = typename GridGeometry::LocalView

◆ GlobalPosition

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
using Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::GlobalPosition = typename Element::Geometry::GlobalCoordinate

◆ GridGeometry

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
using Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::GridGeometry = GridGeometry_

◆ NumEqVector

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
using Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::NumEqVector = Dune::FieldVector<Scalar, PrimaryVariables::dimension>

◆ Scalar

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
using Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::Scalar = typename PrimaryVariables::value_type

◆ SpatialParams

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
using Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::SpatialParams = SpatialParams_

◆ SubControlVolume

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
using Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::SubControlVolume = typename GridGeometry::SubControlVolume

◆ SubControlVolumeFace

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
using Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::SubControlVolumeFace = typename GridGeometry::SubControlVolumeFace

Constructor & Destructor Documentation

◆ PorousMediumFlowProblem()

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::PorousMediumFlowProblem ( std::shared_ptr< const GridGeometry gridGeometry,
std::shared_ptr< const SpatialParams spatialParams,
pybind11::object  pyProblem 
)
inline

Member Function Documentation

◆ addSourceDerivatives()

void Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::addSourceDerivatives ( MatrixBlock &  block,
const Element element,
const FVElementGeometry fvGeometry,
const VolumeVariables &  volVars,
const SubControlVolume scv 
) const
inlineinherited

Add source term derivative to the Jacobian.

Note
Only needed in case of analytic differentiation and solution dependent sources

◆ boundaryTypes() [1/2]

BoundaryTypes Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::boundaryTypes ( const Element element,
const SubControlVolume scv 
) const
inlineinherited

◆ boundaryTypes() [2/2]

BoundaryTypes Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::boundaryTypes ( const Element element,
const SubControlVolumeFace scvf 
) const
inlineinherited

◆ dirichlet() [1/2]

PrimaryVariables Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::dirichlet ( const Element element,
const SubControlVolume scv 
) const
inlineinherited

◆ dirichlet() [2/2]

PrimaryVariables Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::dirichlet ( const Element element,
const SubControlVolumeFace scvf 
) const
inlineinherited

◆ enableInternalDirichletConstraints()

static constexpr bool Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::enableInternalDirichletConstraints ( )
inlinestaticconstexprinherited

◆ extrusionFactor()

Scalar Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::extrusionFactor ( const Element element,
const SubControlVolume scv,
const ElementSolution &  elemSol,
double  defaultValue = 1.0 
) const
inlineinherited

◆ extrusionFactorAtPos()

Scalar Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::extrusionFactorAtPos ( const GlobalPosition globalPos,
double  defaultValue = 1.0 
) const
inlineinherited

◆ gridGeometry()

const GridGeometry & Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::gridGeometry ( ) const
inlineinherited

◆ initial()

PrimaryVariables Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::initial ( const Entity &  entity) const
inlineinherited

◆ name()

const std::string & Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::name ( ) const
inlineinherited

◆ neumann()

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

◆ paramGroup()

const std::string & Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::paramGroup ( ) const
inlineinherited

◆ scvPointSources()

NumEqVector Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::scvPointSources ( const Element element,
const FVElementGeometry fvGeometry,
const ElementVolumeVariables &  elemVolVars,
const SubControlVolume scv 
) const
inlineinherited

◆ source()

NumEqVector Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::source ( const Element element,
const FVElementGeometry fvGeometry,
const ElementVolumeVariables &  elemVolVars,
const SubControlVolume scv 
) const
inlineinherited

◆ sourceAtPos()

NumEqVector Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::sourceAtPos ( const GlobalPosition globalPos) const
inlineinherited

◆ spatialParams()

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
const SpatialParams & Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::spatialParams ( ) const
inline

◆ temperature()

Scalar Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::temperature ( int  defaultValue = 1) const
inlineinherited

◆ temperatureAtPos()

Scalar Dumux::Python::FVProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints_ >::temperatureAtPos ( const GlobalPosition globalPos,
int  defaultValue = 1 
) const
inlineinherited

Member Data Documentation

◆ isBox

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
constexpr bool Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::isBox = GridGeometry::discMethod == DiscretizationMethods::box
staticconstexpr

◆ numEq

template<class GridGeometry_ , class SpatialParams_ , class PrimaryVariables , bool enableInternalDirichletConstraints>
constexpr std::size_t Dumux::Python::PorousMediumFlowProblem< GridGeometry_, SpatialParams_, PrimaryVariables, enableInternalDirichletConstraints >::numEq = static_cast<std::size_t>(PrimaryVariables::dimension)
staticconstexpr

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