OpenLB 1.7
|
This class converts Cartesian coordinates of point x to polar coordinates wrote into output field (output[0] = radius>= 0, output[1] = phi in [0, 2Pi). More...
#include <frameChangeF2D.h>
Public Member Functions | |
CartesianToPolar2D (olb::Vector< T, 3 > cartesianOrigin, olb::Vector< T, 3 > axisDirection, olb::Vector< T, 3 > orientation={T(1), T(), T()}) | |
CartesianToPolar2D (T cartesianOriginX, T cartesianOriginY, T cartesianOriginZ, T axisDirectionX, T axisDirectionY, T axisDirectionZ, T orientationX=T(1), T orientationY=T(), T orientationZ=T()) | |
bool | operator() (T output[], const S x[]) override |
operator writes polar coordinates of Cartesian point x into output field, returns output[0] = radius ( >= 0 ), output[1] = phi in [0, 2Pi) | |
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 | |
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 > | _cartesianOrigin |
origin of the Cartesian coordinate system | |
olb::Vector< T, 3 > | _axisDirection |
direction of the axis along which the polar coordinates are calculated | |
olb::Vector< T, 3 > | _orientation |
direction to know orientation for math positive to obtain angle phi of Cartesian point x | |
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 class converts Cartesian coordinates of point x to polar coordinates wrote into output field (output[0] = radius>= 0, output[1] = phi in [0, 2Pi).
Initial situation for the polar coordinate system is that angle phi lies in plane perpendicular to the _axisDirection and turns around the _cartesianOrigin. The radius is the distance of point x to the _axisDirection.
Definition at line 146 of file frameChangeF2D.h.
olb::CartesianToPolar2D< T, S >::CartesianToPolar2D | ( | olb::Vector< T, 3 > | cartesianOrigin, |
olb::Vector< T, 3 > | axisDirection, | ||
olb::Vector< T, 3 > | orientation = {T(1),T(),T()} ) |
Definition at line 211 of file frameChangeF2D.hh.
References olb::GenericF< T, S >::getName().
olb::CartesianToPolar2D< T, S >::CartesianToPolar2D | ( | T | cartesianOriginX, |
T | cartesianOriginY, | ||
T | cartesianOriginZ, | ||
T | axisDirectionX, | ||
T | axisDirectionY, | ||
T | axisDirectionZ, | ||
T | orientationX = T(1), | ||
T | orientationY = T(), | ||
T | orientationZ = T() ) |
Definition at line 191 of file frameChangeF2D.hh.
References olb::CartesianToPolar2D< T, S >::_axisDirection, olb::CartesianToPolar2D< T, S >::_cartesianOrigin, and olb::CartesianToPolar2D< T, S >::_orientation.
|
overridevirtual |
operator writes polar coordinates of Cartesian point x into output field, returns output[0] = radius ( >= 0 ), output[1] = phi in [0, 2Pi)
Implements olb::GenericF< T, S >.
Definition at line 225 of file frameChangeF2D.hh.
References olb::crossProduct3D(), olb::util::fromVector3(), olb::util::nearZero(), olb::norm(), olb::normalize(), and olb::util::sqrt().
|
protected |
direction of the axis along which the polar coordinates are calculated
Definition at line 151 of file frameChangeF2D.h.
|
protected |
origin of the Cartesian coordinate system
Definition at line 149 of file frameChangeF2D.h.
|
protected |
direction to know orientation for math positive to obtain angle phi of Cartesian point x
Definition at line 154 of file frameChangeF2D.h.