version 3.8.0
Loading...
Searching...
No Matches
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)
 The constructor.
 
template<class T >
void addAxisAlignedSurface (const std::string &name, T &&surface)
 Add an axis-aligned surface with a given name.
 
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.
 
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.
 
void calculateAllFluxes ()
 Calculate the fluxes over all surfaces.
 
template<class FluxType >
void calculateFluxes (const FluxType &fluxType)
 Calculate the fluxes over all surfaces for a given flux type.
 
const auto & flux (const std::string &name) const
 Return the flux over given surface.
 
const std::map< std::string, SurfaceData > & surfaces () const
 Provides access to all surfaces.
 
void printAllFluxes () const
 Prints all fluxes.
 

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 )
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

◆ 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: