OpenLB 1.7
|
Mass flux plane integral. More...
#include <superPlaneIntegralFluxMass3D.h>
Public Member Functions | |
SuperPlaneIntegralFluxMass3D (FunctorPtr< SuperF3D< T > > &&velocityF, FunctorPtr< SuperF3D< T > > &&densityF, SuperGeometry< T, 3 > &geometry, T conversationFactorMass, T conversationFactorTime, const HyperplaneLattice3D< T > &hyperplaneLattice, FunctorPtr< SuperIndicatorF3D< T > > &&integrationIndicator, FunctorPtr< IndicatorF2D< T > > &&subplaneIndicator, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Primary constructor. | |
SuperPlaneIntegralFluxMass3D (FunctorPtr< SuperF3D< T > > &&velocityF, FunctorPtr< SuperF3D< T > > &&densityF, SuperGeometry< T, 3 > &geometry, T conversationFactorMass, T conversationFactorTime, const Hyperplane3D< T > &hyperplane, FunctorPtr< SuperIndicatorF3D< T > > &&integrationIndicator, FunctorPtr< IndicatorF2D< T > > &&subplaneIndicator, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice generation. | |
SuperPlaneIntegralFluxMass3D (FunctorPtr< SuperF3D< T > > &&velocityF, FunctorPtr< SuperF3D< T > > &&densityF, SuperGeometry< T, 3 > &geometry, T conversationFactorMass, T conversationFactorTime, const Hyperplane3D< T > &hyperplane, FunctorPtr< SuperIndicatorF3D< T > > &&integrationIndicator, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice generation and omitting subplane restriction. | |
SuperPlaneIntegralFluxMass3D (FunctorPtr< SuperF3D< T > > &&velocityF, FunctorPtr< SuperF3D< T > > &&densityF, SuperGeometry< T, 3 > &geometry, T conversationFactorMass, T conversationFactorTime, const Vector< T, 3 > &origin, const Vector< T, 3 > &u, const Vector< T, 3 > &v, std::vector< int > materials, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice and material indicator instantiation. | |
SuperPlaneIntegralFluxMass3D (FunctorPtr< SuperF3D< T > > &&velocityF, FunctorPtr< SuperF3D< T > > &&densityF, SuperGeometry< T, 3 > &geometry, T conversationFactorMass, T conversationFactorTime, const Vector< T, 3 > &origin, const Vector< T, 3 > &u, const Vector< T, 3 > &v, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice parametrization, only interpolating material 1. | |
SuperPlaneIntegralFluxMass3D (FunctorPtr< SuperF3D< T > > &&velocityF, FunctorPtr< SuperF3D< T > > &&densityF, SuperGeometry< T, 3 > &geometry, T conversationFactorMass, T conversationFactorTime, IndicatorCircle3D< T > &circle, std::vector< int > materials, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice parametrization to fit a given circle. | |
SuperPlaneIntegralFluxMass3D (FunctorPtr< SuperF3D< T > > &&velocityF, FunctorPtr< SuperF3D< T > > &&densityF, SuperGeometry< T, 3 > &geometry, T conversationFactorMass, T conversationFactorTime, IndicatorCircle3D< T > &circle, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice parametrization to fit a given circle and only interpolating material 1. | |
bool | operator() (T output[], const int input[]) override |
void | print (std::string regionName, std::string massFluxSiScaleName) |
Public Member Functions inherited from olb::SuperPlaneIntegralF3D< T > | |
SuperPlaneIntegralF3D (FunctorPtr< SuperF3D< T > > &&f, SuperGeometry< T, 3 > &geometry, const HyperplaneLattice3D< T > &hyperplaneLattice, FunctorPtr< SuperIndicatorF3D< T > > &&integrationIndicator, FunctorPtr< IndicatorF2D< T > > &&subplaneIndicator, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Primary constructor. | |
SuperPlaneIntegralF3D (FunctorPtr< SuperF3D< T > > &&f, SuperGeometry< T, 3 > &geometry, const Hyperplane3D< T > &hyperplane, FunctorPtr< SuperIndicatorF3D< T > > &&integrationIndicator, FunctorPtr< IndicatorF2D< T > > &&subplaneIndicator, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice generation. | |
SuperPlaneIntegralF3D (FunctorPtr< SuperF3D< T > > &&f, SuperGeometry< T, 3 > &geometry, const Hyperplane3D< T > &hyperplane, FunctorPtr< SuperIndicatorF3D< T > > &&integrationIndicator, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice generation and omitting subplane restriction. | |
SuperPlaneIntegralF3D (FunctorPtr< SuperF3D< T > > &&f, SuperGeometry< T, 3 > &geometry, const Vector< T, 3 > &origin, const Vector< T, 3 > &u, const Vector< T, 3 > &v, std::vector< int > materials, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice and material indicator instantiation. | |
SuperPlaneIntegralF3D (FunctorPtr< SuperF3D< T > > &&f, SuperGeometry< T, 3 > &geometry, const Vector< T, 3 > &origin, const Vector< T, 3 > &u, const Vector< T, 3 > &v, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice parametrization, only interpolating material 1. | |
SuperPlaneIntegralF3D (FunctorPtr< SuperF3D< T > > &&f, SuperGeometry< T, 3 > &geometry, const Vector< T, 3 > &origin, const Vector< T, 3 > &normal, std::vector< int > materials, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice and material indicator instantiation. | |
SuperPlaneIntegralF3D (FunctorPtr< SuperF3D< T > > &&f, SuperGeometry< T, 3 > &geometry, const Vector< T, 3 > &origin, const Vector< T, 3 > &normal, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice parametrization, only interpolating material 1. | |
SuperPlaneIntegralF3D (FunctorPtr< SuperF3D< T > > &&f, SuperGeometry< T, 3 > &geometry, const Vector< T, 3 > &normal, std::vector< int > materials, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice and material indicator instantiation. | |
SuperPlaneIntegralF3D (FunctorPtr< SuperF3D< T > > &&f, SuperGeometry< T, 3 > &geometry, const Vector< T, 3 > &normal, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice parametrization, only interpolating material 1. | |
SuperPlaneIntegralF3D (FunctorPtr< SuperF3D< T > > &&f, SuperGeometry< T, 3 > &geometry, const IndicatorCircle3D< T > &circle, std::vector< int > materials, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice parametrization to fit a given circle. | |
SuperPlaneIntegralF3D (FunctorPtr< SuperF3D< T > > &&f, SuperGeometry< T, 3 > &geometry, const IndicatorCircle3D< T > &circle, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice parametrization to fit a given circle and only interpolating material 1. | |
bool | operator() (T output[], const int input[]) override |
Returns the plane integral in the following structure: | |
Public Member Functions inherited from olb::SuperF3D< T, W > | |
SuperF3D< T, W > & | operator- (SuperF3D< T, W > &rhs) |
SuperF3D< T, W > & | operator+ (SuperF3D< T, W > &rhs) |
SuperF3D< T, W > & | operator* (SuperF3D< T, W > &rhs) |
SuperF3D< T, W > & | operator/ (SuperF3D< T, W > &rhs) |
SuperStructure< T, 3 > & | getSuperStructure () |
int | getBlockFSize () const |
BlockF3D< W > & | getBlockF (int iCloc) |
bool | operator() (W output[], const int input[]) |
Public Member Functions inherited from olb::GenericF< T, S > | |
virtual | ~GenericF ()=default |
int | getSourceDim () const |
read only access to member variable _m | |
int | getTargetDim () const |
read only access to member variable _n | |
std::string & | getName () |
read and write access to name | |
std::string const & | getName () const |
read only access to name | |
virtual bool | operator() (T output[], const S input[])=0 |
has to be implemented for 'every' derived class | |
bool | operator() (T output[]) |
wrapper that call the pure virtual operator() (T output[], const S input[]) from above | |
bool | operator() (T output[], S input0) |
bool | operator() (T output[], S input0, S input1) |
bool | operator() (T output[], S input0, S input1, S input2) |
bool | operator() (T output[], S input0, S input1, S input2, S input3) |
Additional Inherited Members | |
Public Types inherited from olb::SuperF3D< T, W > | |
using | identity_functor_type = SuperIdentity3D<T,W> |
Public Types inherited from olb::GenericF< T, S > | |
using | targetType = T |
using | sourceType = S |
Public Attributes inherited from olb::GenericF< T, S > | |
std::shared_ptr< GenericF< T, S > > | _ptrCalcC |
memory management, frees resouces (calcClass) | |
Static Public Attributes inherited from olb::SuperF3D< T, W > | |
static constexpr bool | isSuper = true |
static constexpr unsigned | d = 3 |
Protected Member Functions inherited from olb::SuperPlaneIntegralF3D< T > | |
bool | isToBeIntegrated (const Vector< T, 3 > &physR, int iC) |
This is determined using the _integrationIndicatorF indicated subset of the 2d plane reduced by _reductionF. | |
Protected Member Functions inherited from olb::SuperF3D< T, W > | |
SuperF3D (SuperStructure< T, 3 > &superStructure, int targetDim) | |
Protected Member Functions inherited from olb::GenericF< T, S > | |
GenericF (int targetDim, int sourceDim) | |
Protected Attributes inherited from olb::SuperPlaneIntegralF3D< T > | |
SuperGeometry< T, 3 > & | _geometry |
FunctorPtr< SuperF3D< T > > | _f |
Functor to be integrated on the plane. | |
FunctorPtr< SuperIndicatorF3D< T > > | _integrationIndicatorF |
Indicator describing relevant discrete integration points. | |
FunctorPtr< IndicatorF2D< T > > | _subplaneIndicatorF |
Indicator describing the relevant subset of the interpolated hyperplane. | |
BlockReduction3D2D< T > | _reductionF |
Functor describing plane to be interpolated and integrated. | |
Vector< T, 3 > | _origin |
Origin vector as given by hyperplane definition, (0,0) in respect to the subplane indicator _subplaneIndicatorF. | |
Vector< T, 3 > | _u |
Span vector u as given by hyperplane definition, normalized to h. | |
Vector< T, 3 > | _v |
Span vector v as given by hyperplane definition, normalized to h. | |
Vector< T, 3 > | _normal |
Orthogonal vector to _u and _v. | |
std::vector< std::tuple< int, int > > | _rankLocalSubplane |
Subset of the discrete plane points given by _reductionF as indicated by _integrationIndicatorF. | |
Protected Attributes inherited from olb::SuperF3D< T, W > | |
SuperStructure< T, 3 > & | _superStructure |
std::vector< std::unique_ptr< BlockF3D< W > > > | _blockF |
Super functors may consist of several BlockF3D<W> derived functors. | |
Mass flux plane integral.
Calculates the flux integral of a 3-dimensional velocity functor multiplied by a 1-dimensional density functor i.e. mass flux.
Flux calculation is performed by SuperPlaneIntegralF3D<T>. This class adds a print method and mass flux specific constructor wrappers.
See SuperPlaneIntegralF3D for further documentation.
Definition at line 43 of file superPlaneIntegralFluxMass3D.h.
olb::SuperPlaneIntegralFluxMass3D< T >::SuperPlaneIntegralFluxMass3D | ( | FunctorPtr< SuperF3D< T > > && | velocityF, |
FunctorPtr< SuperF3D< T > > && | densityF, | ||
SuperGeometry< T, 3 > & | geometry, | ||
T | conversationFactorMass, | ||
T | conversationFactorTime, | ||
const HyperplaneLattice3D< T > & | hyperplaneLattice, | ||
FunctorPtr< SuperIndicatorF3D< T > > && | integrationIndicator, | ||
FunctorPtr< IndicatorF2D< T > > && | subplaneIndicator, | ||
BlockDataReductionMode | mode = BlockDataReductionMode::Analytical ) |
Primary constructor.
velocityF | (non-)owning pointer or reference to velocity functor. |
densityF | (non-)owning pointer or reference to density functor. |
conversationFactorMass | Mass conversation factor |
conversationFactorTime | Time conversation factor e.g. converter.getConversionFactorTime() |
hyperplaneLattice | Parametrization of the hyperplane lattice to be interpolated. |
integrationIndicator | (non-)owning pointer or reference to SuperIndicatorF3D<T>. Describes the set of lattice points relevant for integration. |
subplaneIndicator | (non-)owning pointer or reference to IndicatorF2D<T>. Describes the relevant subplane of the interpolated hyperplane. |
mode | Defines how the values of the discrete hyperplane are determined. i.e. if they are interpolated or read directly from lattice points. Note: BlockDataReductionMode::Analytical imposes restrictions on hyperplane definition and discretization. If you are not sure consider providing only a hyperplane defintion instead of both a definition and a discretization. |
Definition at line 41 of file superPlaneIntegralFluxMass3D.hh.
References olb::GenericF< T, S >::getName().
olb::SuperPlaneIntegralFluxMass3D< T >::SuperPlaneIntegralFluxMass3D | ( | FunctorPtr< SuperF3D< T > > && | velocityF, |
FunctorPtr< SuperF3D< T > > && | densityF, | ||
SuperGeometry< T, 3 > & | geometry, | ||
T | conversationFactorMass, | ||
T | conversationFactorTime, | ||
const Hyperplane3D< T > & | hyperplane, | ||
FunctorPtr< SuperIndicatorF3D< T > > && | integrationIndicator, | ||
FunctorPtr< IndicatorF2D< T > > && | subplaneIndicator, | ||
BlockDataReductionMode | mode = BlockDataReductionMode::Analytical ) |
Constructor providing automatic lattice generation.
velocityF | (non-)owning pointer or reference to velocity functor. |
densityF | (non-)owning pointer or reference to density functor. |
conversationFactorMass | Mass conversation factor |
conversationFactorTime | Time conversation factor e.g. converter.getConversionFactorTime() |
hyperplane | Parametrization of the hyperplane to be integrated. The lattice resolution is set to CuboidGeometry3D<T>::getMinDeltaR. |
integrationIndicator | (non-)owning pointer or reference to SuperIndicatorF3D<T>. Describes the set of lattice points relevant for integration. |
subplaneIndicator | (non-)owning pointer or reference to IndicatorF2D<T>. Describes the relevant subplane of the interpolated hyperplane. |
mode | Defines how the values of the discrete hyperplane are determined. i.e. if they are interpolated or read directly from lattice points. |
Definition at line 67 of file superPlaneIntegralFluxMass3D.hh.
References olb::GenericF< T, S >::getName().
olb::SuperPlaneIntegralFluxMass3D< T >::SuperPlaneIntegralFluxMass3D | ( | FunctorPtr< SuperF3D< T > > && | velocityF, |
FunctorPtr< SuperF3D< T > > && | densityF, | ||
SuperGeometry< T, 3 > & | geometry, | ||
T | conversationFactorMass, | ||
T | conversationFactorTime, | ||
const Hyperplane3D< T > & | hyperplane, | ||
FunctorPtr< SuperIndicatorF3D< T > > && | integrationIndicator, | ||
BlockDataReductionMode | mode = BlockDataReductionMode::Analytical ) |
Constructor providing automatic lattice generation and omitting subplane restriction.
i.e. the intersection between geometry and hyperplane is integrated wherever _integrationIndicatorF allows.
velocityF | (non-)owning pointer or reference to velocity functor. |
densityF | (non-)owning pointer or reference to density functor. |
conversationFactorMass | Mass conversation factor |
conversationFactorTime | Time conversation factor e.g. converter.getConversionFactorTime() |
hyperplane | Parametrization of the hyperplane to be integrated. The lattice resolution is set to the cuboid geometry's minDeltaR. |
integrationIndicator | (non-)owning pointer or reference to SuperIndicatorF3D<T>. Describes the set of lattice points relevant for integration. |
mode | Defines how the values of the discrete hyperplane are determined. i.e. if they are interpolated or read directly from lattice points. |
Definition at line 93 of file superPlaneIntegralFluxMass3D.hh.
References olb::GenericF< T, S >::getName().
olb::SuperPlaneIntegralFluxMass3D< T >::SuperPlaneIntegralFluxMass3D | ( | FunctorPtr< SuperF3D< T > > && | velocityF, |
FunctorPtr< SuperF3D< T > > && | densityF, | ||
SuperGeometry< T, 3 > & | geometry, | ||
T | conversationFactorMass, | ||
T | conversationFactorTime, | ||
const Vector< T, 3 > & | origin, | ||
const Vector< T, 3 > & | u, | ||
const Vector< T, 3 > & | v, | ||
std::vector< int > | materials, | ||
BlockDataReductionMode | mode = BlockDataReductionMode::Analytical ) |
Constructor providing automatic lattice and material indicator instantiation.
velocityF | (non-)owning pointer or reference to velocity functor. |
densityF | (non-)owning pointer or reference to density functor. |
conversationFactorMass | Mass conversation factor |
conversationFactorTime | Time conversation factor |
origin | hyperplane origin |
u | hyperplane span vector |
v | hyperplane span vector |
materials | material numbers relevant for hyperplane integration |
mode | defines how the values of the discrete hyperplane are determined |
Definition at line 117 of file superPlaneIntegralFluxMass3D.hh.
References olb::GenericF< T, S >::getName().
olb::SuperPlaneIntegralFluxMass3D< T >::SuperPlaneIntegralFluxMass3D | ( | FunctorPtr< SuperF3D< T > > && | velocityF, |
FunctorPtr< SuperF3D< T > > && | densityF, | ||
SuperGeometry< T, 3 > & | geometry, | ||
T | conversationFactorMass, | ||
T | conversationFactorTime, | ||
const Vector< T, 3 > & | origin, | ||
const Vector< T, 3 > & | u, | ||
const Vector< T, 3 > & | v, | ||
BlockDataReductionMode | mode = BlockDataReductionMode::Analytical ) |
Constructor providing automatic lattice parametrization, only interpolating material 1.
velocityF | (non-)owning pointer or reference to velocity functor. |
densityF | (non-)owning pointer or reference to density functor. |
conversationFactorMass | Mass conversation factor |
conversationFactorTime | Time conversation factor |
origin | hyperplane origin |
u | hyperplane span vector |
v | hyperplane span vector |
mode | defines how the values of the discrete hyperplane are determined |
Definition at line 141 of file superPlaneIntegralFluxMass3D.hh.
References olb::GenericF< T, S >::getName().
olb::SuperPlaneIntegralFluxMass3D< T >::SuperPlaneIntegralFluxMass3D | ( | FunctorPtr< SuperF3D< T > > && | velocityF, |
FunctorPtr< SuperF3D< T > > && | densityF, | ||
SuperGeometry< T, 3 > & | geometry, | ||
T | conversationFactorMass, | ||
T | conversationFactorTime, | ||
IndicatorCircle3D< T > & | circle, | ||
std::vector< int > | materials, | ||
BlockDataReductionMode | mode = BlockDataReductionMode::Analytical ) |
Constructor providing automatic lattice parametrization to fit a given circle.
velocityF | (non-)owning pointer or reference to velocity functor. |
densityF | (non-)owning pointer or reference to density functor. |
conversationFactorMass | Mass conversation factor |
conversationFactorTime | Time conversation factor |
circle | circle indicator to be used for hyperplane subset parametrization |
materials | material numbers relevant for hyperplane interpolation |
mode | defines how the values of the discrete hyperplane are determined |
Definition at line 163 of file superPlaneIntegralFluxMass3D.hh.
References olb::GenericF< T, S >::getName().
olb::SuperPlaneIntegralFluxMass3D< T >::SuperPlaneIntegralFluxMass3D | ( | FunctorPtr< SuperF3D< T > > && | velocityF, |
FunctorPtr< SuperF3D< T > > && | densityF, | ||
SuperGeometry< T, 3 > & | geometry, | ||
T | conversationFactorMass, | ||
T | conversationFactorTime, | ||
IndicatorCircle3D< T > & | circle, | ||
BlockDataReductionMode | mode = BlockDataReductionMode::Analytical ) |
Constructor providing automatic lattice parametrization to fit a given circle and only interpolating material 1.
velocityF | (non-)owning pointer or reference to velocity functor. |
densityF | (non-)owning pointer or reference to density functor. |
conversationFactorMass | Mass conversation factor |
conversationFactorTime | Time conversation factor |
circle | circle indicator to be used for hyperplane subset parametrization |
materials | material numbers relevant for hyperplane interpolation |
mode | defines how the values of the discrete hyperplane are determined |
Definition at line 187 of file superPlaneIntegralFluxMass3D.hh.
References olb::GenericF< T, S >::getName().
|
override |
Definition at line 209 of file superPlaneIntegralFluxMass3D.hh.
References olb::SuperPlaneIntegralF3D< T >::operator()().
void olb::SuperPlaneIntegralFluxMass3D< T >::print | ( | std::string | regionName, |
std::string | massFluxSiScaleName ) |
Definition at line 219 of file superPlaneIntegralFluxMass3D.hh.
References olb::singleton::mpi().