25#ifndef REDUCTION_F_2D_HH
26#define REDUCTION_F_2D_HH
35template <
typename T,
typename DESCRIPTOR>
42 this->
getName() =
"fromAnalyticalF(" +
_f->getName() +
")";
47 for (
int iC = 0; iC < load.
size(); ++iC) {
57template <
typename T,
typename DESCRIPTOR>
61 this->_sLattice.getCuboidGeometry().getPhysR(physR,input);
62 return _f(output,physR);
66template<
typename T,
typename DESCRIPTOR>
75 this->
getName() =
"blockFfromAnalyticalF(" +
_f.getName() +
")";
78template<
typename T,
typename DESCRIPTOR>
80 T output[],
const int input[])
83 _cuboid.getPhysR(physR,input);
84 return _f(output,physR);
AnalyticalF are applications from DD to XD, where X is set by the constructor.
represents all functors that operate on a DESCRIPTOR in general, e.g. getVelocity(),...
Block level functor for conversion of analytical to lattice functors.
AnalyticalF2D< T, T > & _f
bool operator()(T output[], const int input[]) override
has to be implemented for 'every' derived class
BlockLatticeFfromAnalyticalF2D(AnalyticalF2D< T, T > &f, BlockLattice< T, DESCRIPTOR > &lattice, Cuboid2D< T > &cuboid)
Platform-abstracted block lattice for external access and inter-block interaction.
A regular single 2D cuboid is the basic component of a 2D cuboid structure which defines the grid.
A cuboid structure represents the grid of a considered domain.
Cuboid2D< T > & get(int i)
Read and write access to the cuboids.
Smart pointer for managing the various ways of passing functors around.
std::string & getName()
read and write access to name
Base class for all LoadBalancer.
std::vector< std::unique_ptr< BlockF2D< T > > > _blockF
Super functors may consist of several BlockF2D<W> derived functors.
represents all functors that operate on a SuperLattice in general, e.g. getVelocity(),...
FunctorPtr< AnalyticalF2D< T, T > > _f
SuperLatticeFfromAnalyticalF2D(FunctorPtr< AnalyticalF2D< T, T > > &&f, SuperLattice< T, DESCRIPTOR > &sLattice)
bool operator()(T output[], const int input[]) override
Super class maintaining block lattices for a cuboid decomposition.
BlockLattice< T, DESCRIPTOR > & getBlock(int locC)
Return BlockLattice with local index locC.
CuboidGeometry< T, D > & getCuboidGeometry()
Read and write access to cuboid geometry.
LoadBalancer< T > & getLoadBalancer()
Read and write access to the load balancer.
Top level namespace for all of OpenLB.
The description of a 2D super lattice – header file.