24#ifndef SUPER_PLANE_INTEGRAL_F_3D_H
25#define SUPER_PLANE_INTEGRAL_F_3D_H
171 std::vector<int> materials,
199 std::vector<int> materials,
224 std::vector<int> materials,
247 std::vector<int> materials,
273 bool operator() (T output[],
const int input[])
override;
BlockReduction3D2D reduces the data of a SuperF3D functor to the intersection between a given hyperpl...
Smart pointer for managing the various ways of passing functors around.
Parametrization of a hyperplane lattice.
indicator function for a 3D circle
IndicatorF2D is an application from .
represents all functors that operate on a SuperStructure<T,3> in general
Representation of a statistic for a parallel 2D geometry.
Base indicator functor (discrete)
Surface integral of a subset of a interpolated hyperplane.
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.
FunctorPtr< SuperIndicatorF3D< T > > _integrationIndicatorF
Indicator describing relevant discrete integration points.
bool operator()(T output[], const int input[]) override
Returns the plane integral in the following structure:
BlockReduction3D2D< T > _reductionF
Functor describing plane to be interpolated and integrated.
Vector< T, 3 > _v
Span vector v as given by hyperplane definition, normalized to h.
Vector< T, 3 > _origin
Origin vector as given by hyperplane definition, (0,0) in respect to the subplane indicator _subplane...
FunctorPtr< IndicatorF2D< T > > _subplaneIndicatorF
Indicator describing the relevant subset of the interpolated hyperplane.
Vector< T, 3 > _u
Span vector u as given by hyperplane definition, normalized to h.
std::vector< std::tuple< int, int > > _rankLocalSubplane
Subset of the discrete plane points given by _reductionF as indicated by _integrationIndicatorF.
Vector< T, 3 > _normal
Orthogonal vector to _u and _v.
bool isToBeIntegrated(const Vector< T, 3 > &physR, int iC)
This is determined using the _integrationIndicatorF indicated subset of the 2d plane reduced by _redu...
SuperGeometry< T, 3 > & _geometry
FunctorPtr< SuperF3D< T > > _f
Functor to be integrated on the plane.
Groups all include files for the directory genericFunctions.
Top level namespace for all of OpenLB.
BlockDataReductionMode
Mode of reducing block data from given, possibly higher dimensional data.
@ Analytical
Interpolate block data at exact physical locations.
Definition of a analytical 2D plane embedded in 3D space.
Representation of a parallel 2D geometry – header file.
efficient implementation of a vector class