Class used to calculate fluxes over axis-aligned surfaces. More...
#include <dumux/freeflow/navierstokes/fluxoveraxisalignedsurface.hh>
Class used to calculate fluxes over axis-aligned surfaces.
Public Types | |
using | Surface = SurfaceT |
Public Member Functions | |
FluxOverAxisAlignedSurface (const GridVariables &gridVariables, const SolutionVector &sol, const LocalResidual &localResidual) | |
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 ¢er, 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... | |
using Dumux::FluxOverAxisAlignedSurface< GridVariables, SolutionVector, LocalResidual >::Surface = SurfaceT |
|
inline |
The constructor.
|
inline |
Add an axis-aligned plane (line in 2D) with a given name, specifying the planes's center and normal.
name | The name of the plane |
center | Center point of the plane |
normalDirectionIndex | Index of the plane's normal axis (0=x, 1=y, 2=z) |
|
inline |
Add an axis-aligned surface (segment in 2D) with a given name, specifying the surface's corner points.
name | The name of the surface |
lowerLeft | Lower left corner of surface |
upperRight | Upper right corner of surface |
|
inline |
Add an axis-aligned surface with a given name.
name | The name of the surface |
surface | The surface to add |
|
inline |
Calculate the fluxes over all surfaces.
|
inline |
Calculate the fluxes over all surfaces for a given flux type.
fluxType | The 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 ... ; } |
|
inline |
Return the flux over given surface.
name | The name of the surface |
|
inline |
Prints all fluxes.
|
inline |
Provides access to all surfaces.