OpenLB 1.7
|
This class converts Cartesian coordinates of point x to cylindrical coordinates wrote into output field (output[0] = radius, output[1] = phi, output[2] = z). More...
#include <frameChangeF3D.h>
Public Member Functions | |
CartesianToCylinder3D (olb::Vector< T, 3 > cartesianOrigin, T &angle, olb::Vector< T, 3 > orientation={T(1), T(), T()}) | |
CartesianToCylinder3D (olb::Vector< T, 3 > cartesianOrigin, olb::Vector< T, 3 > axisDirection, olb::Vector< T, 3 > orientation={T(1), T(), T()}) | |
CartesianToCylinder3D (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 cylindrical coordinates of Cartesian point x into output field, output[0] = radius ( >= 0), output[1] = phi (in [0, 2Pi)), output[2] = z | |
olb::Vector< T, 3 > const & | getAxisDirection () const |
Read only access to _axisDirection. | |
olb::Vector< T, 3 > & | getAxisDirection () |
Read and write access to _axisDirection. | |
olb::Vector< T, 3 > const & | getCartesianOrigin () const |
Read only access to _catesianOrigin. | |
olb::Vector< T, 3 > & | getCartesianOrigin () |
Read and write access to _catesianOrigin. | |
void | setAngle (T angle) |
Read and write access to _axisDirection using angle. | |
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 cylindrical 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 cylindrical coordinates wrote into output field (output[0] = radius, output[1] = phi, output[2] = z).
Initial situation for the cylindrical 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 and z the distance to _cartesianOrigin along _axisDirection.
Definition at line 404 of file frameChangeF3D.h.
olb::CartesianToCylinder3D< T, S >::CartesianToCylinder3D | ( | olb::Vector< T, 3 > | cartesianOrigin, |
T & | angle, | ||
olb::Vector< T, 3 > | orientation = {T(1),T(),T()} ) |
Definition at line 916 of file frameChangeF3D.hh.
References olb::CartesianToCylinder3D< T, S >::_axisDirection.
olb::CartesianToCylinder3D< T, S >::CartesianToCylinder3D | ( | olb::Vector< T, 3 > | cartesianOrigin, |
olb::Vector< T, 3 > | axisDirection, | ||
olb::Vector< T, 3 > | orientation = {T(1),T(),T()} ) |
Definition at line 936 of file frameChangeF3D.hh.
References olb::GenericF< T, S >::getName().
olb::CartesianToCylinder3D< T, S >::CartesianToCylinder3D | ( | 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 949 of file frameChangeF3D.hh.
References olb::CartesianToCylinder3D< T, S >::_axisDirection, olb::CartesianToCylinder3D< T, S >::_cartesianOrigin, and olb::CartesianToCylinder3D< T, S >::_orientation.
olb::Vector< T, 3 > & olb::CartesianToCylinder3D< T, S >::getAxisDirection | ( | ) |
Read and write access to _axisDirection.
Definition at line 1027 of file frameChangeF3D.hh.
olb::Vector< T, 3 > const & olb::CartesianToCylinder3D< T, S >::getAxisDirection | ( | ) | const |
Read only access to _axisDirection.
Definition at line 1020 of file frameChangeF3D.hh.
olb::Vector< T, 3 > & olb::CartesianToCylinder3D< T, S >::getCartesianOrigin | ( | ) |
Read and write access to _catesianOrigin.
Definition at line 1041 of file frameChangeF3D.hh.
olb::Vector< T, 3 > const & olb::CartesianToCylinder3D< T, S >::getCartesianOrigin | ( | ) | const |
Read only access to _catesianOrigin.
Definition at line 1034 of file frameChangeF3D.hh.
|
overridevirtual |
operator writes cylindrical coordinates of Cartesian point x into output field, output[0] = radius ( >= 0), output[1] = phi (in [0, 2Pi)), output[2] = z
Implements olb::GenericF< T, S >.
Definition at line 971 of file frameChangeF3D.hh.
References olb::crossProduct3D(), olb::util::fromVector3(), olb::util::nearZero(), olb::norm(), and olb::normalize().
void olb::CartesianToCylinder3D< T, S >::setAngle | ( | T | angle | ) |
Read and write access to _axisDirection using angle.
Definition at line 1048 of file frameChangeF3D.hh.
|
protected |
direction of the axis along which the cylindrical coordinates are calculated
Definition at line 409 of file frameChangeF3D.h.
|
protected |
origin of the Cartesian coordinate system
Definition at line 407 of file frameChangeF3D.h.
|
protected |
direction to know orientation for math positive to obtain angle phi of Cartesian point x
Definition at line 412 of file frameChangeF3D.h.