Class used to calculate fluxes over surfaces. This only works for the staggered grid discretization.
More...
template<class GridVariables, class SolutionVector, class ModelTraits, class LocalResidual>
class Dumux::FluxOverSurface< GridVariables, SolutionVector, ModelTraits, LocalResidual >
Class used to calculate fluxes over surfaces. This only works for the staggered grid discretization.
|
template<class Sol > |
| FluxOverSurface (const GridVariables &gridVariables, const Sol &sol) |
| The constructor. More...
|
|
void | addSurface (const std::string &name, SurfaceList &&surfaces) |
| Add a collection of sub surfaces under a given name. More...
|
|
void | addSurface (const std::string &name, const GlobalPosition &p0, const GlobalPosition &p1) |
| Add a surface under a given name, specifying the surface's corner points. This is a specialization for 2D, therefore the surface is actually a line. More...
|
|
void | addSurface (const std::string &name, const GlobalPosition &p0, const GlobalPosition &p1, const GlobalPosition &p2, const GlobalPosition &p3) |
| Add a surface under a given name, specifying the surface's corner points. This is a specialization for 3D. More...
|
|
void | calculateMassOrMoleFluxes () |
| Calculate the mass or mole fluxes over all surfaces. More...
|
|
void | calculateVolumeFluxes () |
| Calculate the volume 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...
|
|
auto & | values (const std::string &name) const |
| Return the fluxes of the individual sub surface of a given name. More...
|
|
auto | netFlux (const std::string &name) const |
| Return the cumulative net fluxes of a surface of a given name. More...
|
|
template<class GridVariables , class SolutionVector , class ModelTraits , class LocalResidual >
void Dumux::FluxOverSurface< GridVariables, SolutionVector, ModelTraits, LocalResidual >::addSurface |
( |
const std::string & |
name, |
|
|
const GlobalPosition & |
p0, |
|
|
const GlobalPosition & |
p1 |
|
) |
| |
|
inline |
Add a surface under a given name, specifying the surface's corner points. This is a specialization for 2D, therefore the surface is actually a line.
- Parameters
-
name | The name of the surface |
p0 | The first corner |
p1 | The second corner |
template<class GridVariables , class SolutionVector , class ModelTraits , class LocalResidual >
template<class FluxType >
void Dumux::FluxOverSurface< GridVariables, SolutionVector, ModelTraits, LocalResidual >::calculateFluxes |
( |
const FluxType & |
fluxType | ) |
|
|
inline |
Calculate the fluxes over all surfaces for a given flux type.
- Parameters
-
fluxType | The flux type. This can be a lambda of the following form: [](const auto& element, const auto& fvGeometry, const auto& elemVolVars, const auto& elemFaceVars, const auto& scvf, const auto& elemFluxVarsCache) { return ... ; } |