OpenLB 1.7
|
This functor returns a quadratic Poiseuille profile for use with a pipe with util::round cross-section. More...
#include <frameChangeF3D.h>
Public Member Functions | |
CirclePowerLaw3D (olb::Vector< T, 3 > axisPoint, std::vector< T > axisDirection, T maxVelocity, T radius, T n, T scale=T(1)) | |
CirclePowerLaw3D (T center0, T center1, T center2, T normal0, T normal1, T normal2, T radius, T maxVelocity, T n, T scale=T(1)) | |
CirclePowerLaw3D (const SuperGeometry< T, 3 > &superGeometry, int material, T maxVelocity, T n, T distance2Wall, T scale=T(1)) | |
CirclePowerLaw3D (bool useMeanVelocity, std::vector< T > axisPoint, std::vector< T > axisDirection, T Velocity, T radius, T n, T scale=T(1)) | |
CirclePowerLaw3D (bool useMeanVelocity, T center0, T center1, T center2, T normal0, T normal1, T normal2, T radius, T Velocity, T n, T scale=T(1)) | |
CirclePowerLaw3D (bool useMeanVelocity, SuperGeometry< T, 3 > &superGeometry, int material, T Velocity, T n, T distance2Wall, T scale=T(1)) | |
olb::Vector< T, 3 > | getCenter () |
Returns centerpoint vector. | |
std::vector< T > | getNormal () |
Returns normal vector. | |
T | getRadius () |
Returns radi. | |
bool | operator() (T output[], const T x[]) override |
Public Member Functions inherited from olb::AnalyticalF< D, T, S > | |
AnalyticalF< D, T, S > & | operator- (AnalyticalF< D, T, S > &rhs) |
AnalyticalF< D, T, S > & | operator+ (AnalyticalF< D, T, S > &rhs) |
AnalyticalF< D, T, S > & | operator* (AnalyticalF< D, T, S > &rhs) |
AnalyticalF< D, T, S > & | operator/ (AnalyticalF< D, T, S > &rhs) |
Public Member Functions inherited from olb::GenericF< T, S > | |
virtual | ~GenericF ()=default |
int | getSourceDim () const |
read only access to member variable _m | |
int | getTargetDim () const |
read only access to member variable _n | |
std::string & | getName () |
read and write access to name | |
std::string const & | getName () const |
read only access to name | |
virtual bool | operator() (T output[], const S input[])=0 |
has to be implemented for 'every' derived class | |
bool | operator() (T output[]) |
wrapper that call the pure virtual operator() (T output[], const S input[]) from above | |
bool | operator() (T output[], S input0) |
bool | operator() (T output[], S input0, S input1) |
bool | operator() (T output[], S input0, S input1, S input2) |
bool | operator() (T output[], S input0, S input1, S input2, S input3) |
Protected Attributes | |
olb::Vector< T, 3 > | _center |
std::vector< T > | _normal |
T | _radius |
T | _maxVelocity |
T | _n |
T | _scale |
Additional Inherited Members | |
Public Types inherited from olb::AnalyticalF< D, T, S > | |
using | identity_functor_type = AnalyticalIdentity<D,T,S> |
Public Types inherited from olb::GenericF< T, S > | |
using | targetType = T |
using | sourceType = S |
Public Attributes inherited from olb::GenericF< T, S > | |
std::shared_ptr< GenericF< T, S > > | _ptrCalcC |
memory management, frees resouces (calcClass) | |
Static Public Attributes inherited from olb::AnalyticalF< D, T, S > | |
static constexpr unsigned | dim = D |
Protected Member Functions inherited from olb::AnalyticalF< D, T, S > | |
AnalyticalF (int n) | |
Protected Member Functions inherited from olb::GenericF< T, S > | |
GenericF (int targetDim, int sourceDim) | |
This functor returns a quadratic Poiseuille profile for use with a pipe with util::round cross-section.
It uses cylinder coordinates and is valid for the entire length of the pipe.
This functor gives a parabolic velocity profile for a given point x as it computes the distance between x and the axis.
The axis is set in the input with axisPoint and axisDirection. The axisPoint can be the coordinate of any point where the axis passes. axisDirection has to be normed to 1. Once the axis is set in the middle of the pipe, the radius of the pipe "radius" and the velocity in the middle of the pipe "maxVelocity" determine the Poisseuille profile entierly. Velocity profile for util::round pipes and power law fluids: u(r)=u_max*(1-(r/R)^((n+1)/n)). The exponent n characterizes the fluid behavior. n<1: Pseudoplastic, n=1: Newtonian fluid, n>1: Dilatant
Definition at line 154 of file frameChangeF3D.h.
olb::CirclePowerLaw3D< T >::CirclePowerLaw3D | ( | olb::Vector< T, 3 > | axisPoint, |
std::vector< T > | axisDirection, | ||
T | maxVelocity, | ||
T | radius, | ||
T | n, | ||
T | scale = T(1) ) |
Definition at line 166 of file frameChangeF3D.hh.
olb::CirclePowerLaw3D< T >::CirclePowerLaw3D | ( | T | center0, |
T | center1, | ||
T | center2, | ||
T | normal0, | ||
T | normal1, | ||
T | normal2, | ||
T | radius, | ||
T | maxVelocity, | ||
T | n, | ||
T | scale = T(1) ) |
Definition at line 172 of file frameChangeF3D.hh.
References olb::CirclePowerLaw3D< T >::_center, and olb::CirclePowerLaw3D< T >::_normal.
olb::CirclePowerLaw3D< T >::CirclePowerLaw3D | ( | const SuperGeometry< T, 3 > & | superGeometry, |
int | material, | ||
T | maxVelocity, | ||
T | n, | ||
T | distance2Wall, | ||
T | scale = T(1) ) |
Definition at line 187 of file frameChangeF3D.hh.
References olb::CirclePowerLaw3D< T >::_center, olb::CirclePowerLaw3D< T >::_normal, olb::CirclePowerLaw3D< T >::_radius, olb::SuperGeometry< T, D >::getStatistics(), and olb::util::normalize().
olb::CirclePowerLaw3D< T >::CirclePowerLaw3D | ( | bool | useMeanVelocity, |
std::vector< T > | axisPoint, | ||
std::vector< T > | axisDirection, | ||
T | Velocity, | ||
T | radius, | ||
T | n, | ||
T | scale = T(1) ) |
Definition at line 206 of file frameChangeF3D.hh.
References olb::CirclePowerLaw3D< T >::_maxVelocity, and olb::util::pow().
olb::CirclePowerLaw3D< T >::CirclePowerLaw3D | ( | bool | useMeanVelocity, |
T | center0, | ||
T | center1, | ||
T | center2, | ||
T | normal0, | ||
T | normal1, | ||
T | normal2, | ||
T | radius, | ||
T | Velocity, | ||
T | n, | ||
T | scale = T(1) ) |
Definition at line 215 of file frameChangeF3D.hh.
References olb::CirclePowerLaw3D< T >::_maxVelocity, and olb::util::pow().
olb::CirclePowerLaw3D< T >::CirclePowerLaw3D | ( | bool | useMeanVelocity, |
SuperGeometry< T, 3 > & | superGeometry, | ||
int | material, | ||
T | Velocity, | ||
T | n, | ||
T | distance2Wall, | ||
T | scale = T(1) ) |
Definition at line 224 of file frameChangeF3D.hh.
References olb::CirclePowerLaw3D< T >::_maxVelocity, and olb::util::pow().
|
inline |
Returns centerpoint vector.
Definition at line 173 of file frameChangeF3D.h.
References olb::CirclePowerLaw3D< T >::_center.
|
inline |
Returns normal vector.
Definition at line 178 of file frameChangeF3D.h.
References olb::CirclePowerLaw3D< T >::_normal.
|
inline |
Returns radi.
Definition at line 183 of file frameChangeF3D.h.
References olb::CirclePowerLaw3D< T >::_radius.
|
override |
Definition at line 233 of file frameChangeF3D.hh.
References olb::util::pow(), and olb::util::sqrt().
|
protected |
Definition at line 156 of file frameChangeF3D.h.
|
protected |
Definition at line 159 of file frameChangeF3D.h.
|
protected |
Definition at line 160 of file frameChangeF3D.h.
|
protected |
Definition at line 157 of file frameChangeF3D.h.
|
protected |
Definition at line 158 of file frameChangeF3D.h.
|
protected |
Definition at line 161 of file frameChangeF3D.h.