CoordinateSystem
The coordinate system a vector operator is evaluated in.
All three are orthogonal curvilinear, so a single set of formulas parameterised by the scale factors (Lamé coefficients) covers them — see _VectorOperator.scaleFactors. Writing the cylindrical and spherical operators out by hand would have put three definitions of each in the source, free to drift apart; there is one.
Cylindrical and Spherical are inherently three-dimensional, and the coordinates are identified by position, not by name — the user may call them anything:
Cylindrical—(r, θ, z): radial, azimuthal, axial.Spherical—(r, θ, φ)withθthe polar angle (measured from the axis) andφthe azimuthal one. This is the physics convention; it cannot be inferred from the variable names, and choosing silently would make every spherical result wrong for half its readers, so it is stated here, in the cheat sheet and in the README.SphericalMaths— the mathematics convention(r, θ, φ)withθazimuthal andφpolar: the same geometry with the last two coordinates exchanged.
The difference between the two spherical cases is argument order, not naming. The operators read coords by position and never look at the spellings, so a reader who calls the polar angle φ but passes it second is already served by Spherical; SphericalMaths exists for those who pass it third.
Attributes
- Graph
-
- Supertypes
-
trait Enumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any