24#ifndef EUKLID_NORM_2D_HH
25#define EUKLID_NORM_2D_HH
44template<
typename T,
typename DESCRIPTOR>
49 this->
getName() =
"l2(" + _f.getName() +
")";
50 int maxC = this->
_sLattice.getLoadBalancer().size();
52 for (
int iC = 0; iC < maxC; iC++) {
57template <
typename T,
typename DESCRIPTOR>
59 :
BlockF2D<T>(f.getBlockStructure(),1), _f(f)
64template <
typename T,
typename DESCRIPTOR>
68 T data[_f.getTargetDim()];
70 for (
int i = 0; i < _f.getTargetDim(); ++i) {
71 output[0] += data[i]*data[i];
BlockL2Norm2D returns pointwise the l2-norm, e.g. of a velocity.
BlockEuklidNorm2D(BlockF2D< T > &f)
bool operator()(T output[], const int input[]) override
has to be implemented for 'every' derived class
represents all functors that operate on a cuboid in general, mother class of BlockLatticeF,...
std::string & getName()
read and write access to name
SuperEuklidNorm2D(SuperLatticeF2D< T, DESCRIPTOR > &f)
std::vector< std::unique_ptr< BlockF2D< T > > > _blockF
Super functors may consist of several BlockF2D<W> derived functors.
BlockF2D< W > & getBlockF(int iCloc)
represents all functors that operate on a SuperLattice in general, e.g. getVelocity(),...
SuperLattice< T, DESCRIPTOR > & _sLattice
The description of a generic interface for all functor classes – header file.
This file contains indicator functions.
Wrapper functions that simplify the use of MPI.
cpu::simd::Pack< T > sqrt(cpu::simd::Pack< T > value)
Top level namespace for all of OpenLB.
Representation of a parallel 2D geometry – header file.