24#ifndef SUPER_PLANE_INTEGRAL_F_2D_H
25#define SUPER_PLANE_INTEGRAL_F_2D_H
168 std::vector<int> materials,
196 bool operator() (T output[],
const int input[])
override;
BlockReduction2D1D reduces the data of a SuperF2D functor to the intersection between a given 2D hype...
Smart pointer for managing the various ways of passing functors around.
Parametrization of a hyperplane lattice (i.e. a line lattice).
IndicatorF1D is an application from .
represents all functors that operate on a SuperStructure<T,2> in general
Representation of a statistic for a parallel 2D geometry.
Surface integral of a subset of a interpolated hyperplane.
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 > _normal
Orthogonal vector to _u.
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.
std::vector< int > _rankLocalSubplane
Subset of the discrete line points given by _reductionF as indicated by _integrationIndicatorF.
bool isToBeIntegrated(const Vector< T, 2 > &physR, int iC)
This is determined using the _integrationIndicatorF indicated subset of the 2d hyperplane reduced by ...
FunctorPtr< SuperIndicatorF2D< T > > _integrationIndicatorF
Indicator describing relevant discrete integration points.
SuperGeometry< T, 2 > & _geometry
Vector< T, 2 > _u
Direction vector u as given by hyperplane definition, normalized to h.
bool operator()(T output[], const int input[]) override
Returns the line integral in the following structure:
FunctorPtr< SuperF2D< T > > _f
Functor to be integrated on the line.
Vector< T, 2 > _origin
Origin vector as given by hyperplane definition, (0,0) in respect to the subplane indicator _subplane...
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 line embedded in 2D space.
Representation of a parallel 2D geometry – header file.
efficient implementation of a vector class