 ASPECT
aspect::Utilities::Coordinates Namespace Reference

## Enumerations

enum  CoordinateSystem {
depth, cartesian, spherical, ellipsoidal,
invalid
}

## Functions

template<int dim>
std::array< double, dim > WGS84_coordinates (const ::Point< dim > &position)

template<int dim>
std::array< double, dim > cartesian_to_spherical_coordinates (const ::Point< dim > &position)

template<int dim>
::Point< dim > spherical_to_cartesian_coordinates (const std::array< double, dim > &scoord)

template<int dim>
Tensor< 1, dim > spherical_to_cartesian_vector (const Tensor< 1, dim > &spherical_vector, const ::Point< dim > &position)

template<int dim>
std::array< double, 3 > cartesian_to_ellipsoidal_coordinates (const ::Point< 3 > &position, const double semi_major_axis_a, const double eccentricity)

template<int dim>
::Point< 3 > ellipsoidal_to_cartesian_coordinates (const std::array< double, 3 > &phi_theta_d, const double semi_major_axis_a, const double eccentricity)

CoordinateSystem string_to_coordinate_system (const std::string &)

## § CoordinateSystem

This enum lists available coordinate systems that can be used for the function variables. Allowed values are 'cartesian', 'spherical', and 'depth'. 'spherical' coordinates follow: r, phi (2D) or r, phi, theta (3D); where r is radius, phi is longitude, and theta is the polar angle (colatitude). The 'depth' is a one-dimensional coordinate system in which only the distance below the 'top' surface (depth) as defined by each geometry model, is used.

Enumerator
depth
cartesian
spherical
ellipsoidal
invalid

Definition at line 40 of file coordinate_systems.h.

## § WGS84_coordinates()

template<int dim>
 std::array aspect::Utilities::Coordinates::WGS84_coordinates ( const ::Point< dim > & position )

Returns distance from the Earth's center, latitude and longitude from a given ECEF Cartesian coordinates that account for ellipsoidal shape of the Earth with WGS84 parameters.

Referenced by aspect::Utilities::MapParsing::Options::Options().

## § cartesian_to_spherical_coordinates()

template<int dim>
 std::array aspect::Utilities::Coordinates::cartesian_to_spherical_coordinates ( const ::Point< dim > & position )

Returns spherical coordinates of a Cartesian point. The returned array is filled with radius, phi and theta (polar angle). If the dimension is set to 2 theta is omitted. Phi is always normalized to [0,2*pi].

Referenced by aspect::Utilities::MapParsing::Options::Options().

## § spherical_to_cartesian_coordinates()

template<int dim>
 ::Point aspect::Utilities::Coordinates::spherical_to_cartesian_coordinates ( const std::array< double, dim > & scoord )

Return the Cartesian point of a spherical position defined by radius, phi and theta (polar angle). If the dimension is set to 2 theta is omitted.

Referenced by aspect::Utilities::MapParsing::Options::Options().

## § spherical_to_cartesian_vector()

template<int dim>
 Tensor<1,dim> aspect::Utilities::Coordinates::spherical_to_cartesian_vector ( const Tensor< 1, dim > & spherical_vector, const ::Point< dim > & position )

Given a vector defined in the radius, phi and theta directions, return a vector defined in Cartesian coordinates. If the dimension is set to 2 theta is omitted. Position is given as a Point in Cartesian coordinates.

Referenced by aspect::Utilities::MapParsing::Options::Options().

## § cartesian_to_ellipsoidal_coordinates()

template<int dim>
 std::array aspect::Utilities::Coordinates::cartesian_to_ellipsoidal_coordinates ( const ::Point< 3 > & position, const double semi_major_axis_a, const double eccentricity )

Returns ellipsoidal coordinates of a Cartesian point. The returned array is filled with phi, theta and radius.

Referenced by aspect::Utilities::MapParsing::Options::Options().

## § ellipsoidal_to_cartesian_coordinates()

template<int dim>
 ::Point<3> aspect::Utilities::Coordinates::ellipsoidal_to_cartesian_coordinates ( const std::array< double, 3 > & phi_theta_d, const double semi_major_axis_a, const double eccentricity )

Return the Cartesian point of a ellipsoidal position defined by phi, theta and radius.

Referenced by aspect::Utilities::MapParsing::Options::Options().

## § string_to_coordinate_system()

 CoordinateSystem aspect::Utilities::Coordinates::string_to_coordinate_system ( const std::string & )

A function that takes a string representation of the name of a coordinate system (as represented by the CoordinateSystem enum) and returns the corresponding value.

Referenced by aspect::Utilities::MapParsing::Options::Options().