version 3.10-dev
Dumux::FluxOverAxisAlignedSurface< GridVariables, SolutionVector, LocalResidual > Class Template Reference

Class used to calculate fluxes over axis-aligned surfaces.

#include <dumux/freeflow/navierstokes/fluxoveraxisalignedsurface.hh>

Public Types

using Surface = SurfaceT
 

Public Member Functions

 FluxOverAxisAlignedSurface (const GridVariables &gridVariables, const SolutionVector &sol, const LocalResidual &localResidual, bool nonIntersectingSurfaceIsError=false)
 The constructor. More...
 
template<class T >
void addAxisAlignedSurface (const std::string &name, T &&surface)
 Add an axis-aligned surface with a given name. More...
 
void addAxisAlignedSurface (const std::string &name, const GlobalPosition &lowerLeft, const GlobalPosition &upperRight)
 Add an axis-aligned surface (segment in 2D) with a given name, specifying the surface's corner points. More...
 
void addAxisAlignedPlane (const std::string &name, const GlobalPosition &center, const std::size_t normalDirectionIndex)
 Add an axis-aligned plane (line in 2D) with a given name, specifying the planes's center and normal. More...
 
void calculateAllFluxes ()
 Calculate the fluxes over all surfaces. More...
 
template<class FluxType >
void calculateFluxes (const FluxType &fluxType)
 Calculate the fluxes over all surfaces for a given flux type. More...
 
const auto & flux (const std::string &name) const
 Return the flux over given surface. More...
 
const std::map< std::string, SurfaceData > & surfaces () const
 Provides access to all surfaces. More...
 
void printAllFluxes () const
 Prints all fluxes. More...
 
void setNonIntersectingSurfaceIsError (bool isError=true)
 Set if non-intersecting surfaces are treated as error. More...
 

Member Typedef Documentation

◆ Surface

template<class GridVariables , class SolutionVector , class LocalResidual >
using Dumux::FluxOverAxisAlignedSurface< GridVariables, SolutionVector, LocalResidual >::Surface = SurfaceT

Constructor & Destructor Documentation

◆ FluxOverAxisAlignedSurface()

template<class GridVariables , class SolutionVector , class LocalResidual >
Dumux::FluxOverAxisAlignedSurface< GridVariables, SolutionVector, LocalResidual >::FluxOverAxisAlignedSurface ( const GridVariables &  gridVariables,
const SolutionVector &  sol,
const LocalResidual &  localResidual,
bool  nonIntersectingSurfaceIsError = false 
)
inline

Member Function Documentation

◆ addAxisAlignedPlane()

template<class GridVariables , class SolutionVector , class LocalResidual >
void Dumux::FluxOverAxisAlignedSurface< GridVariables, SolutionVector, LocalResidual >::addAxisAlignedPlane ( const std::string &  name,
const GlobalPosition &  center,
const std::size_t  normalDirectionIndex 
)
inline
Parameters
nameThe name of the plane
centerCenter point of the plane
normalDirectionIndexIndex of the plane's normal axis (0=x, 1=y, 2=z)

◆ addAxisAlignedSurface() [1/2]

template<class GridVariables , class SolutionVector , class LocalResidual >
void Dumux::FluxOverAxisAlignedSurface< GridVariables, SolutionVector, LocalResidual >::addAxisAlignedSurface ( const std::string &  name,
const GlobalPosition &  lowerLeft,
const GlobalPosition &  upperRight 
)
inline
Parameters
nameThe name of the surface
lowerLeftLower left corner of surface
upperRightUpper right corner of surface

◆ addAxisAlignedSurface() [2/2]

template<class GridVariables , class SolutionVector , class LocalResidual >
template<class T >
void Dumux::FluxOverAxisAlignedSurface< GridVariables, SolutionVector, LocalResidual >::addAxisAlignedSurface ( const std::string &  name,
T &&  surface 
)
inline
Parameters
nameThe name of the surface
surfaceThe surface to add

◆ calculateAllFluxes()

template<class GridVariables , class SolutionVector , class LocalResidual >
void Dumux::FluxOverAxisAlignedSurface< GridVariables, SolutionVector, LocalResidual >::calculateAllFluxes ( )
inline

◆ calculateFluxes()

template<class GridVariables , class SolutionVector , class LocalResidual >
template<class FluxType >
void Dumux::FluxOverAxisAlignedSurface< GridVariables, SolutionVector, LocalResidual >::calculateFluxes ( const FluxType &  fluxType)
inline
Parameters
fluxTypeThe flux type. This can be a lambda of the following form: [](const auto& element, const auto& fvGeometry, const auto& elemVolVars, const auto& scvf, const auto& elemFluxVarsCache) { return ... ; }

◆ flux()

template<class GridVariables , class SolutionVector , class LocalResidual >
const auto & Dumux::FluxOverAxisAlignedSurface< GridVariables, SolutionVector, LocalResidual >::flux ( const std::string &  name) const
inline
Parameters
nameThe name of the surface

◆ printAllFluxes()

template<class GridVariables , class SolutionVector , class LocalResidual >
void Dumux::FluxOverAxisAlignedSurface< GridVariables, SolutionVector, LocalResidual >::printAllFluxes ( ) const
inline

◆ setNonIntersectingSurfaceIsError()

template<class GridVariables , class SolutionVector , class LocalResidual >
void Dumux::FluxOverAxisAlignedSurface< GridVariables, SolutionVector, LocalResidual >::setNonIntersectingSurfaceIsError ( bool  isError = true)
inline

◆ surfaces()

template<class GridVariables , class SolutionVector , class LocalResidual >
const std::map< std::string, SurfaceData > & Dumux::FluxOverAxisAlignedSurface< GridVariables, SolutionVector, LocalResidual >::surfaces ( ) const
inline

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