Reference documentation for deal.II version 9.4.1
|
Functions | |
template<int dim> | |
std::array< double, dim > | to_spherical (const Point< dim > &point) |
template<std::size_t dim> | |
Point< dim > | from_spherical (const std::array< double, dim > &scoord) |
static ::ExceptionBase & | NegativeRadius (double arg1) |
static ::ExceptionBase & | SphericalAzimuth (double arg1) |
static ::ExceptionBase & | SphericalPolar (double arg1) |
A namespace for coordinate transformations.
std::array< double, dim > GeometricUtilities::Coordinates::to_spherical | ( | const Point< dim > & | point | ) |
Return spherical coordinates of a Cartesian point point
. The returned array is filled with radius, azimuth angle \(\in [0,2 \pi)\) and polar/inclination angle \( \in [0,\pi]\) (omitted in 2D).
In 3D the transformation is given by
\begin{align*} r &= \sqrt{x^2+y^2+z^2} \\ \theta &= {\rm atan}(y/x) \\ \phi &= {\rm acos} (z/r) \end{align*}
The use of this function is demonstrated in step-75.
Definition at line 43 of file geometric_utilities.cc.
Point< dim > GeometricUtilities::Coordinates::from_spherical | ( | const std::array< double, dim > & | scoord | ) |
Return the Cartesian coordinates of a spherical point defined by scoord
which is filled with radius \(r \in [0,\infty)\), azimuth angle \(\theta \in [0,2 \pi)\) and polar/inclination angle \(\phi \in [0,\pi]\) (omitted in 2D).
In 3D the transformation is given by
\begin{align*} x &= r\, \cos(\theta) \, \sin(\phi) \\ y &= r\, \sin(\theta) \, \sin(\phi) \\ z &= r\, \cos(\phi) \end{align*}
Definition at line 69 of file geometric_utilities.cc.