SphericalSymmetry#

class gala.potential.potential.SphericalSymmetry[source]#

Bases: PotentialSymmetry

Spherical symmetry for potentials with no angular dependence.

This symmetry is appropriate for potentials that depend only on the spherical radius r = sqrt(x² + y² + z²).

Examples

>>> import astropy.units as u
>>> import numpy as np
>>> from gala.potential import HernquistPotential
>>> pot = HernquistPotential(m=1e10*u.Msun, c=1*u.kpc)
>>> r = np.linspace(0.1, 10, 100) * u.kpc
>>> energy = pot.energy(r=r)

Attributes Summary

Methods Summary

to_cartesian(r)

Convert spherical radius to Cartesian coordinates.

validate_coords(**coords)

Validate spherical radius coordinate.

Attributes Documentation

coord_names = ('r',)#

Methods Documentation

to_cartesian(r)[source]#

Convert spherical radius to Cartesian coordinates.

Parameters:
rarray_like, Quantity

Spherical radius values. Can be scalar or array.

Returns:
xyzQuantity or ndarray

Cartesian coordinates with shape (3, n_points). The x-component is set to r, while y and z are set to zero. Units are preserved if input has units.

validate_coords(**coords)[source]#

Validate spherical radius coordinate.

Parameters:
**coords

Coordinate keyword arguments. Must contain ‘r’.

Raises:
ValueError

If radius values are negative or invalid coordinates are provided.