24#ifndef LATTICE_PHYS_EXTERNAL_PARTICLE_VELOCITY_2D_HH
25#define LATTICE_PHYS_EXTERNAL_PARTICLE_VELOCITY_2D_HH
44template<
typename T,
typename DESCRIPTOR>
49 this->
getName() =
"ExtPartVelField";
60template <
typename T,
typename DESCRIPTOR>
65 this->
getName() =
"ExtParticleVelocityField";
68template <
typename T,
typename DESCRIPTOR>
71 auto velocity_numerator = this->blockLattice.get(input).template getFieldPointer<descriptors::VELOCITY_NUMERATOR>();
72 auto velocity_denominator = this->blockLattice.get(input).template getFieldPointer<descriptors::VELOCITY_DENOMINATOR>();
74 if (velocity_denominator[0] > std::numeric_limits<T>::epsilon()) {
75 output[0]=this->_converter.getPhysVelocity(velocity_numerator[0]/velocity_denominator[0]);
76 output[1]=this->_converter.getPhysVelocity(velocity_numerator[1]/velocity_denominator[0]);
79 output[0]=this->_converter.getPhysVelocity(velocity_numerator[0]);
80 output[1]=this->_converter.getPhysVelocity(velocity_numerator[1]);
bool operator()(T output[], const int input[])
has to be implemented for 'every' derived class
BlockLatticePhysExternalParticleVelocity2D(BlockLattice< T, DESCRIPTOR > &blockLattice, const UnitConverter< T, DESCRIPTOR > &converter)
represents all functors that operate on a DESCRIPTOR with output in Phys, e.g. physVelocity(),...
Platform-abstracted block lattice for external access and inter-block interaction.
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.
SuperLatticePhysExternalParticleVelocity2D(SuperLattice< T, DESCRIPTOR > &sLattice, 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.
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.
Top level namespace for all of OpenLB.
Representation of a parallel 2D geometry – header file.