24#ifndef ANALYTICAL_FRAME_CHANGE_F_2D_H
25#define ANALYTICAL_FRAME_CHANGE_F_2D_H
73 PowerLaw2D(std::vector<T> axisPoint, std::vector<T> axisDirection, T maxVelocity, T radius, T exponent);
76 bool operator()(T output[],
const T input[])
override;
83 Poiseuille2D(std::vector<T> axisPoint, std::vector<T> axisDirection, T maxVelocity, T radius);
90template <
typename T,
typename S,
typename DESCRIPTOR>
98 bool operator()(T output[],
const S input[])
override;
112 bool operator()(T output[],
const T input[])
override;
123template <
typename T,
typename S>
134 bool operator()(T output[],
const S x[])
override;
145template <
typename T,
typename S>
161 T axisDirectionX, T axisDirectionY, T axisDirectionZ,
162 T orientationX = T(1), T orientationY = T(),
163 T orientationZ = T());
167 bool operator()(T output[],
const S x[])
override;
AnalyticalF are applications from DD to XD, where X is set by the constructor.
Analytical solution of porous media channel flow with low Reynolds number See Spaid and Phelan (doi:1...
bool operator()(T output[], const T input[]) override
std::vector< T > axisDirection
AnalyticalPorousVelocity2D(std::vector< T > axisDirection_, T K_, T mu_, T gradP_, T radius_, T eps_=T(1))
This class converts Cartesian coordinates of point x to polar coordinates wrote into output field (ou...
CartesianToPolar2D(olb::Vector< T, 3 > cartesianOrigin, olb::Vector< T, 3 > axisDirection, olb::Vector< T, 3 > orientation={T(1), T(), T()})
olb::Vector< T, 3 > _cartesianOrigin
origin of the Cartesian coordinate system
bool operator()(T output[], const S x[]) override
operator writes polar coordinates of Cartesian point x into output field, returns output[0] = radius ...
olb::Vector< T, 3 > _orientation
direction to know orientation for math positive to obtain angle phi of Cartesian point x
olb::Vector< T, 3 > _axisDirection
direction of the axis along which the polar coordinates are calculated
Poiseuille2D(std::vector< T > axisPoint, std::vector< T > axisDirection, T maxVelocity, T radius)
bool operator()(T output[], const S input[]) override
has to be implemented for 'every' derived class
PoiseuilleStrainRate2D(UnitConverter< T, DESCRIPTOR > const &converter, T ly)
This class converts polar coordinates of point x (x[0] = radius, x[1] = phi) to Cartesian coordinates...
bool operator()(T output[], const S x[]) override
operator writes Cartesian coordinates of polar coordinates x[0] = radius >= 0, x[1] = phi in [0,...
PolarToCartesian2D(olb::Vector< T, 3 > polarOrigin)
constructor to obtain Cartesian coordinates of polar coordinates
olb::Vector< T, 3 > _polarOrigin
origin of the polar coordinate system to which point x is related
PowerLaw2D(std::vector< T > axisPoint, std::vector< T > axisDirection, T maxVelocity, T radius, T exponent)
std::vector< T > _axisDirection
std::vector< T > _axisPoint
bool operator()(T output[], const T input[]) override
Representation of a statistic for a parallel 2D geometry.
Conversion between physical and lattice units, as well as discretization.
The description of a generic interface for all functor classes – header file.
Top level namespace for all of OpenLB.
The description of a 2D super lattice – header file.