25#ifndef SUPER_LATTICE_INTEGRAL_F_2D_HH
26#define SUPER_LATTICE_INTEGRAL_F_2D_HH
41template<
typename T,
typename DESCRIPTOR>
47 _indicatorF(std::move(indicatorF)),
48 _facesF(*_indicatorF, converter),
49 _pBoundForceF(sLattice, *_indicatorF, converter),
50 _sumF(_pBoundForceF, *_indicatorF),
51 _factor(2./( converter.getPhysDensity()*converter.getCharPhysVelocity()*converter.getCharPhysVelocity() ))
59 indicatorF->getBlockIndicatorF(iC),
65template<
typename T,
typename DESCRIPTOR>
71 superGeometry.getMaterialIndicator(material),
75template<
typename T,
typename DESCRIPTOR>
81 _facesF(faces, input);
83 output[0] = _factor * sum[0] / faces[0];
84 output[1] = _factor * sum[1] / faces[1];
89template<
typename T,
typename DESCRIPTOR>
95 _indicatorF(std::move(indicatorF)),
96 _facesF(*_indicatorF, converter),
97 _pBoundForceF(sLattice, *_indicatorF, converter),
98 _sumF(_pBoundForceF, *_indicatorF),
99 _factor(2./( converter.getPhysDensity()*converter.getCharPhysVelocity()*converter.getCharPhysVelocity() ))
101 this->
getName() =
"physCorrDrag";
107 indicatorF->getBlockIndicatorF(iC),
113template<
typename T,
typename DESCRIPTOR>
119 superGeometry.getMaterialIndicator(material),
123template<
typename T,
typename DESCRIPTOR>
129 _facesF(faces, input);
131 output[0] = _factor * sum[0] / faces[0];
132 output[1] = _factor * sum[1] / faces[1];
functor to get pointwise phys force acting on a indicated boundary on local lattice
functor to get pointwise phys force acting on a indicated boundary on local lattice
Smart pointer for managing the various ways of passing functors around.
std::string & getName()
read and write access to name
std::vector< std::unique_ptr< BlockF2D< T > > > _blockF
Super functors may consist of several BlockF2D<W> derived functors.
SuperStructure< T, 2 > & getSuperStructure()
Representation of a statistic for a parallel 2D geometry.
functor to get pointwise phys force acting on a indicated boundary on local lattice
SuperLatticePhysCorrDrag2D(SuperLattice< T, DESCRIPTOR > &sLattice, FunctorPtr< SuperIndicatorF2D< T > > &&indicatorF, const UnitConverter< T, DESCRIPTOR > &converter)
bool operator()(T output[], const int input[]) override
functor to get pointwise phys force acting on a indicated boundary on local lattice
bool operator()(T output[], const int input[]) override
SuperLatticePhysDrag2D(SuperLattice< T, DESCRIPTOR > &sLattice, FunctorPtr< SuperIndicatorF2D< T > > &&indicatorF, const UnitConverter< T, DESCRIPTOR > &converter)
represents all functors that operate on a DESCRIPTOR with output in Phys, e.g. physVelocity(),...
Super class maintaining block lattices for a cuboid decomposition.
BlockLattice< T, DESCRIPTOR > & getBlock(int locC)
Return BlockLattice with local index locC.
LoadBalancer< T > & getLoadBalancer()
Read and write access to the load balancer.
Conversion between physical and lattice units, as well as discretization.
Top level namespace for all of OpenLB.