OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
olb::SuperPlaneIntegralFluxMass3D< T > Class Template Referencefinal

Mass flux plane integral. More...

#include <superPlaneIntegralFluxMass3D.h>

+ Inheritance diagram for olb::SuperPlaneIntegralFluxMass3D< T >:
+ Collaboration diagram for olb::SuperPlaneIntegralFluxMass3D< T >:

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.
 

Detailed Description

template<typename T>
class olb::SuperPlaneIntegralFluxMass3D< T >

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.

Constructor & Destructor Documentation

◆ SuperPlaneIntegralFluxMass3D() [1/7]

template<typename T >
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.

Parameters
velocityF(non-)owning pointer or reference to velocity functor.
densityF(non-)owning pointer or reference to density functor.
conversationFactorMassMass conversation factor
conversationFactorTimeTime conversation factor e.g. converter.getConversionFactorTime()
hyperplaneLatticeParametrization 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.
modeDefines 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.

51 : SuperPlaneIntegralF3D<T>(
52 (*densityF) * (*velocityF),
53 geometry,
54 hyperplaneLattice,
55 std::forward<decltype(integrationIndicator)>(integrationIndicator),
56 std::forward<decltype(subplaneIndicator)>(subplaneIndicator),
57 mode),
58 _velocityF(std::move(velocityF)),
59 _densityF(std::move(densityF)),
60 _conversationFactorMass(conversationFactorMass),
61 _conversationFactorTime(conversationFactorTime)
62{
63 this->getName() = "SuperPlaneIntegralFluxMass3D";
64}
std::string & getName()
read and write access to name
Definition genericF.hh:51

References olb::GenericF< T, S >::getName().

+ Here is the call graph for this function:

◆ SuperPlaneIntegralFluxMass3D() [2/7]

template<typename T >
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.

Parameters
velocityF(non-)owning pointer or reference to velocity functor.
densityF(non-)owning pointer or reference to density functor.
conversationFactorMassMass conversation factor
conversationFactorTimeTime conversation factor e.g. converter.getConversionFactorTime()
hyperplaneParametrization 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.
modeDefines 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.

77 : SuperPlaneIntegralF3D<T>(
78 (*densityF) * (*velocityF),
79 geometry,
80 hyperplane,
81 std::forward<decltype(integrationIndicator)>(integrationIndicator),
82 std::forward<decltype(subplaneIndicator)>(subplaneIndicator),
83 mode),
84 _velocityF(std::move(velocityF)),
85 _densityF(std::move(densityF)),
86 _conversationFactorMass(conversationFactorMass),
87 _conversationFactorTime(conversationFactorTime)
88{
89 this->getName() = "SuperPlaneIntegralFluxMass3D";
90}

References olb::GenericF< T, S >::getName().

+ Here is the call graph for this function:

◆ SuperPlaneIntegralFluxMass3D() [3/7]

template<typename T >
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.

Parameters
velocityF(non-)owning pointer or reference to velocity functor.
densityF(non-)owning pointer or reference to density functor.
conversationFactorMassMass conversation factor
conversationFactorTimeTime conversation factor e.g. converter.getConversionFactorTime()
hyperplaneParametrization 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.
modeDefines 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.

102 : SuperPlaneIntegralF3D<T>(
103 (*densityF) * (*velocityF),
104 geometry,
105 hyperplane,
106 std::forward<decltype(integrationIndicator)>(integrationIndicator),
107 mode),
108 _velocityF(std::move(velocityF)),
109 _densityF(std::move(densityF)),
110 _conversationFactorMass(conversationFactorMass),
111 _conversationFactorTime(conversationFactorTime)
112{
113 this->getName() = "SuperPlaneIntegralFluxMass3D";
114}

References olb::GenericF< T, S >::getName().

+ Here is the call graph for this function:

◆ SuperPlaneIntegralFluxMass3D() [4/7]

template<typename T >
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.

Parameters
velocityF(non-)owning pointer or reference to velocity functor.
densityF(non-)owning pointer or reference to density functor.
conversationFactorMassMass conversation factor
conversationFactorTimeTime conversation factor
originhyperplane origin
uhyperplane span vector
vhyperplane span vector
materialsmaterial numbers relevant for hyperplane integration
modedefines how the values of the discrete hyperplane are determined

Definition at line 117 of file superPlaneIntegralFluxMass3D.hh.

126 : SuperPlaneIntegralF3D<T>(
127 (*densityF) * (*velocityF),
128 geometry,
129 origin, u, v,
130 std::move(materials),
131 mode),
132 _velocityF(std::move(velocityF)),
133 _densityF(std::move(densityF)),
134 _conversationFactorMass(conversationFactorMass),
135 _conversationFactorTime(conversationFactorTime)
136{
137 this->getName() = "SuperPlaneIntegralFluxMass3D";
138}

References olb::GenericF< T, S >::getName().

+ Here is the call graph for this function:

◆ SuperPlaneIntegralFluxMass3D() [5/7]

template<typename T >
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.

Parameters
velocityF(non-)owning pointer or reference to velocity functor.
densityF(non-)owning pointer or reference to density functor.
conversationFactorMassMass conversation factor
conversationFactorTimeTime conversation factor
originhyperplane origin
uhyperplane span vector
vhyperplane span vector
modedefines how the values of the discrete hyperplane are determined

Definition at line 141 of file superPlaneIntegralFluxMass3D.hh.

149 : SuperPlaneIntegralF3D<T>(
150 (*densityF) * (*velocityF),
151 geometry,
152 origin, u, v,
153 mode),
154 _velocityF(std::move(velocityF)),
155 _densityF(std::move(densityF)),
156 _conversationFactorMass(conversationFactorMass),
157 _conversationFactorTime(conversationFactorTime)
158{
159 this->getName() = "SuperPlaneIntegralFluxMass3D";
160}

References olb::GenericF< T, S >::getName().

+ Here is the call graph for this function:

◆ SuperPlaneIntegralFluxMass3D() [6/7]

template<typename T >
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.

Parameters
velocityF(non-)owning pointer or reference to velocity functor.
densityF(non-)owning pointer or reference to density functor.
conversationFactorMassMass conversation factor
conversationFactorTimeTime conversation factor
circlecircle indicator to be used for hyperplane subset parametrization
materialsmaterial numbers relevant for hyperplane interpolation
modedefines how the values of the discrete hyperplane are determined

Definition at line 163 of file superPlaneIntegralFluxMass3D.hh.

172 : SuperPlaneIntegralF3D<T>(
173 (*densityF) * (*velocityF),
174 geometry,
175 circle,
176 std::move(materials),
177 mode),
178 _velocityF(std::move(velocityF)),
179 _densityF(std::move(densityF)),
180 _conversationFactorMass(conversationFactorMass),
181 _conversationFactorTime(conversationFactorTime)
182{
183 this->getName() = "SuperPlaneIntegralFluxMass3D";
184}

References olb::GenericF< T, S >::getName().

+ Here is the call graph for this function:

◆ SuperPlaneIntegralFluxMass3D() [7/7]

template<typename T >
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.

Parameters
velocityF(non-)owning pointer or reference to velocity functor.
densityF(non-)owning pointer or reference to density functor.
conversationFactorMassMass conversation factor
conversationFactorTimeTime conversation factor
circlecircle indicator to be used for hyperplane subset parametrization
materialsmaterial numbers relevant for hyperplane interpolation
modedefines how the values of the discrete hyperplane are determined

Definition at line 187 of file superPlaneIntegralFluxMass3D.hh.

195 : SuperPlaneIntegralF3D<T>(
196 (*densityF) * (*velocityF),
197 geometry,
198 circle,
199 mode),
200 _velocityF(std::move(velocityF)),
201 _densityF(std::move(densityF)),
202 _conversationFactorMass(conversationFactorMass),
203 _conversationFactorTime(conversationFactorTime)
204{
205 this->getName() = "SuperPlaneIntegralFluxMass3D";
206}

References olb::GenericF< T, S >::getName().

+ Here is the call graph for this function:

Member Function Documentation

◆ operator()()

template<typename T >
bool olb::SuperPlaneIntegralFluxMass3D< T >::operator() ( T output[],
const int input[] )
override

Definition at line 209 of file superPlaneIntegralFluxMass3D.hh.

210{
211 const bool result = SuperPlaneIntegralF3D<T>::operator()(output, input);
212
213 output[0] = output[0] * _conversationFactorMass / _conversationFactorTime;
214
215 return result;
216}
bool operator()(T output[], const int input[]) override
Returns the plane integral in the following structure:

References olb::SuperPlaneIntegralF3D< T >::operator()().

+ Here is the call graph for this function:

◆ print()

template<typename T >
void olb::SuperPlaneIntegralFluxMass3D< T >::print ( std::string regionName,
std::string massFluxSiScaleName )

Definition at line 219 of file superPlaneIntegralFluxMass3D.hh.

221{
222 OstreamManager clout("SuperPlaneIntegralFluxMass3D");
223 int input[1] = { };
224 T output[this->getTargetDim()]; // = 5
225 operator()(output, input);
226 if (regionName != "") {
227 clout << "regionName=" << regionName << "; regionSize[m^2]=" << output[1]
228 << std::flush;
229 }
230 else {
231 clout << "regionSize[m^2]=" << output[1] << std::flush;
232 }
233 if (singleton::mpi().isMainProcessor()) {
234 if (massFluxSiScaleName == "mcg/s") { // milli gramm
235 std::cout << "; massFlowRate[mcg/s]=" << output[0] * T(1.e6)
236 << std::endl;
237 }
238 else if (massFluxSiScaleName == "mg/s") { // micro gramm
239 std::cout << "; massFlowRate[mg/s]=" << output[0] * T(1.e3)
240 << std::endl;
241 }
242 else {
243 std::cout << "; massFlowRate[kg/s]=" << output[0] << std::endl;
244 }
245 }
246}
int getTargetDim() const
read only access to member variable _n
Definition genericF.hh:45
bool operator()(T output[], const int input[]) override
MpiManager & mpi()

References olb::singleton::mpi().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: