![]() |
OpenLB 1.7
|
Mass flux line integral. More...
#include <superPlaneIntegralFluxMass2D.h>
Public Member Functions | |
SuperPlaneIntegralFluxMass2D (FunctorPtr< SuperF2D< T > > &&velocityF, FunctorPtr< SuperF2D< T > > &&densityF, SuperGeometry< T, 2 > &geometry, T conversationFactorMass, T conversationFactorTime, const HyperplaneLattice2D< T > &hyperplaneLattice, FunctorPtr< SuperIndicatorF2D< T > > &&integrationIndicator, FunctorPtr< IndicatorF2D< T > > &&subplaneIndicator, BlockDataReductionMode mode) | |
Primary constructor. | |
SuperPlaneIntegralFluxMass2D (FunctorPtr< SuperF2D< T > > &&velocityF, FunctorPtr< SuperF2D< T > > &&densityF, SuperGeometry< T, 2 > &geometry, T conversationFactorMass, T conversationFactorTime, const Hyperplane2D< T > &hyperplane, FunctorPtr< SuperIndicatorF2D< T > > &&integrationIndicator, FunctorPtr< IndicatorF2D< T > > &&subplaneIndicator, BlockDataReductionMode mode) | |
Constructor providing automatic lattice generation. | |
SuperPlaneIntegralFluxMass2D (FunctorPtr< SuperF2D< T > > &&velocityF, FunctorPtr< SuperF2D< T > > &&densityF, SuperGeometry< T, 2 > &geometry, T conversationFactorMass, T conversationFactorTime, const Hyperplane2D< T > &hyperplane, FunctorPtr< SuperIndicatorF2D< T > > &&integrationIndicator, BlockDataReductionMode mode) | |
Constructor providing automatic lattice generation and omitting subplane restriction. | |
SuperPlaneIntegralFluxMass2D (FunctorPtr< SuperF2D< T > > &&velocityF, FunctorPtr< SuperF2D< T > > &&densityF, SuperGeometry< T, 2 > &geometry, T conversationFactorMass, T conversationFactorTime, const Vector< T, 2 > &origin, const Vector< T, 2 > &u, std::vector< int > materials, BlockDataReductionMode mode) | |
Constructor providing automatic lattice and material indicator instantiation. | |
SuperPlaneIntegralFluxMass2D (FunctorPtr< SuperF2D< T > > &&velocityF, FunctorPtr< SuperF2D< T > > &&densityF, SuperGeometry< T, 2 > &geometry, T conversationFactorMass, T conversationFactorTime, const Vector< T, 2 > &origin, const Vector< T, 2 > &u, BlockDataReductionMode mode) | |
Constructor providing automatic lattice parametrization, only interpolating material 1. | |
bool | operator() (T output[], const int input[]) override |
void | print (std::string regionName, std::string massFluxSiScaleName) |
![]() | |
SuperPlaneIntegralF2D (FunctorPtr< SuperF2D< T > > &&f, SuperGeometry< T, 2 > &geometry, const HyperplaneLattice2D< T > &hyperplaneLattice, FunctorPtr< SuperIndicatorF2D< T > > &&integrationIndicator, FunctorPtr< IndicatorF1D< T > > &&subplaneIndicator, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Primary constructor. | |
SuperPlaneIntegralF2D (FunctorPtr< SuperF2D< T > > &&f, SuperGeometry< T, 2 > &geometry, const Hyperplane2D< T > &hyperplane, FunctorPtr< SuperIndicatorF2D< T > > &&integrationIndicator, FunctorPtr< IndicatorF1D< T > > &&subplaneIndicator, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice generation. | |
SuperPlaneIntegralF2D (FunctorPtr< SuperF2D< T > > &&f, SuperGeometry< T, 2 > &geometry, const Hyperplane2D< T > &hyperplane, FunctorPtr< SuperIndicatorF2D< T > > &&integrationIndicator, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice generation and omitting subplane restriction. | |
SuperPlaneIntegralF2D (FunctorPtr< SuperF2D< T > > &&f, SuperGeometry< T, 2 > &geometry, const Vector< T, 2 > &origin, const Vector< T, 2 > &u, std::vector< int > materials, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice and material indicator instantiation. | |
SuperPlaneIntegralF2D (FunctorPtr< SuperF2D< T > > &&f, SuperGeometry< T, 2 > &geometry, const Vector< T, 2 > &origin, const Vector< T, 2 > &u, BlockDataReductionMode mode=BlockDataReductionMode::Analytical) | |
Constructor providing automatic lattice parametrization, only interpolating material 1. | |
bool | operator() (T output[], const int input[]) override |
Returns the line integral in the following structure: | |
![]() | |
SuperF2D< T, W > & | operator- (SuperF2D< T, W > &rhs) |
SuperF2D< T, W > & | operator+ (SuperF2D< T, W > &rhs) |
SuperF2D< T, W > & | operator* (SuperF2D< T, W > &rhs) |
SuperF2D< T, W > & | operator/ (SuperF2D< T, W > &rhs) |
SuperStructure< T, 2 > & | getSuperStructure () |
int | getBlockFSize () const |
BlockF2D< W > & | getBlockF (int iCloc) |
bool | operator() (W output[], const int input[]) override |
![]() | |
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 | |
![]() | |
using | identity_functor_type = SuperIdentity2D<T,W> |
![]() | |
using | targetType = T |
using | sourceType = S |
![]() | |
std::shared_ptr< GenericF< T, S > > | _ptrCalcC |
memory management, frees resouces (calcClass) | |
![]() | |
bool | isToBeIntegrated (const Vector< T, 2 > &physR, int iC) |
This is determined using the _integrationIndicatorF indicated subset of the 2d hyperplane reduced by _reductionF. | |
![]() | |
SuperF2D (SuperStructure< T, 2 > &superStructure, int targetDim) | |
![]() | |
GenericF (int targetDim, int sourceDim) | |
![]() | |
SuperGeometry< T, 2 > & | _geometry |
FunctorPtr< SuperF2D< T > > | _f |
Functor to be integrated on the line. | |
FunctorPtr< SuperIndicatorF2D< T > > | _integrationIndicatorF |
Indicator describing relevant discrete integration points. | |
FunctorPtr< IndicatorF1D< T > > | _subplaneIndicatorF |
Indicator describing the relevant subset of the interpolated hyperplane. | |
BlockReduction2D1D< T > | _reductionF |
Functor describing line to be interpolated and integrated. | |
Vector< T, 2 > | _origin |
Origin vector as given by hyperplane definition, (0,0) in respect to the subplane indicator _subplaneIndicatorF. | |
Vector< T, 2 > | _u |
Direction vector u as given by hyperplane definition, normalized to h. | |
Vector< T, 2 > | _normal |
Orthogonal vector to _u. | |
std::vector< int > | _rankLocalSubplane |
Subset of the discrete line points given by _reductionF as indicated by _integrationIndicatorF. | |
![]() | |
SuperStructure< T, 2 > & | _superStructure |
std::vector< std::unique_ptr< BlockF2D< W > > > | _blockF |
Super functors may consist of several BlockF2D<W> derived functors. | |
Mass flux line integral.
Calculates the flux integral of a 2-dimensional velocity functor multiplied by a 1-dimensional density functor i.e. mass flux.
Flux calculation is performed by SuperPlaneIntegralF2D<T>. This class adds a print method and mass flux specific constructor wrappers.
Definition at line 41 of file superPlaneIntegralFluxMass2D.h.
olb::SuperPlaneIntegralFluxMass2D< T >::SuperPlaneIntegralFluxMass2D | ( | FunctorPtr< SuperF2D< T > > && | velocityF, |
FunctorPtr< SuperF2D< T > > && | densityF, | ||
SuperGeometry< T, 2 > & | geometry, | ||
T | conversationFactorMass, | ||
T | conversationFactorTime, | ||
const HyperplaneLattice2D< T > & | hyperplaneLattice, | ||
FunctorPtr< SuperIndicatorF2D< T > > && | integrationIndicator, | ||
FunctorPtr< IndicatorF2D< T > > && | subplaneIndicator, | ||
BlockDataReductionMode | mode ) |
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 SuperIndicatorF2D<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 superPlaneIntegralFluxMass2D.hh.
References olb::GenericF< T, S >::getName().
olb::SuperPlaneIntegralFluxMass2D< T >::SuperPlaneIntegralFluxMass2D | ( | FunctorPtr< SuperF2D< T > > && | velocityF, |
FunctorPtr< SuperF2D< T > > && | densityF, | ||
SuperGeometry< T, 2 > & | geometry, | ||
T | conversationFactorMass, | ||
T | conversationFactorTime, | ||
const Hyperplane2D< T > & | hyperplane, | ||
FunctorPtr< SuperIndicatorF2D< T > > && | integrationIndicator, | ||
FunctorPtr< IndicatorF2D< T > > && | subplaneIndicator, | ||
BlockDataReductionMode | mode ) |
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 CuboidGeometry2D<T>::getMinDeltaR. |
integrationIndicator | (non-)owning pointer or reference to SuperIndicatorF2D<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 superPlaneIntegralFluxMass2D.hh.
References olb::GenericF< T, S >::getName().
olb::SuperPlaneIntegralFluxMass2D< T >::SuperPlaneIntegralFluxMass2D | ( | FunctorPtr< SuperF2D< T > > && | velocityF, |
FunctorPtr< SuperF2D< T > > && | densityF, | ||
SuperGeometry< T, 2 > & | geometry, | ||
T | conversationFactorMass, | ||
T | conversationFactorTime, | ||
const Hyperplane2D< T > & | hyperplane, | ||
FunctorPtr< SuperIndicatorF2D< T > > && | integrationIndicator, | ||
BlockDataReductionMode | mode ) |
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 SuperIndicatorF2D<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 superPlaneIntegralFluxMass2D.hh.
References olb::GenericF< T, S >::getName().
olb::SuperPlaneIntegralFluxMass2D< T >::SuperPlaneIntegralFluxMass2D | ( | FunctorPtr< SuperF2D< T > > && | velocityF, |
FunctorPtr< SuperF2D< T > > && | densityF, | ||
SuperGeometry< T, 2 > & | geometry, | ||
T | conversationFactorMass, | ||
T | conversationFactorTime, | ||
const Vector< T, 2 > & | origin, | ||
const Vector< T, 2 > & | u, | ||
std::vector< int > | materials, | ||
BlockDataReductionMode | mode ) |
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 direction 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 superPlaneIntegralFluxMass2D.hh.
References olb::GenericF< T, S >::getName().
olb::SuperPlaneIntegralFluxMass2D< T >::SuperPlaneIntegralFluxMass2D | ( | FunctorPtr< SuperF2D< T > > && | velocityF, |
FunctorPtr< SuperF2D< T > > && | densityF, | ||
SuperGeometry< T, 2 > & | geometry, | ||
T | conversationFactorMass, | ||
T | conversationFactorTime, | ||
const Vector< T, 2 > & | origin, | ||
const Vector< T, 2 > & | u, | ||
BlockDataReductionMode | mode ) |
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 direction vector |
mode | defines how the values of the discrete hyperplane are determined |
Definition at line 141 of file superPlaneIntegralFluxMass2D.hh.
References olb::GenericF< T, S >::getName().
|
override |
Definition at line 163 of file superPlaneIntegralFluxMass2D.hh.
References olb::SuperPlaneIntegralF2D< T >::operator()().
void olb::SuperPlaneIntegralFluxMass2D< T >::print | ( | std::string | regionName, |
std::string | massFluxSiScaleName ) |
Definition at line 173 of file superPlaneIntegralFluxMass2D.hh.
References olb::singleton::mpi().