synthpop.modules.kinematics.velocity_gradient ============================================= .. py:module:: synthpop.modules.kinematics.velocity_gradient .. autoapi-nested-parse:: Velocity gradient kinematics module This module applies solid body rotation until it reaches the LSR rotation velocity, then uses that value. It can apply velocity dispersions in three dimensions. Classes ------- .. autoapisummary:: synthpop.modules.kinematics.velocity_gradient.VelocityGradient Module Contents --------------- .. py:class:: VelocityGradient(sigma_u: float, sigma_v: float, sigma_w: float, sun: types.ModuleType = None, vel_grad: float = 60.0, **kwargs) Bases: :py:obj:`synthpop.modules.kinematics._kinematics.Kinematics` Velocity gradient kinematics module Attributes ---------- kinematics_func_name : str name of the Kinematics Class sigma_u : float velocity dispersion in x direction sigma_v : float velocity dispersion in y direction sigma_w : float velocity dispersion in z direction vel_grad : float rotation velocity gradient Methods ------- draw_random_velocity(self, x: ndarray, y: ndarray, z: ndarray, mass: ndarray = None, all_x: ndarray = None, all_y: ndarray = None, all_z: ndarray = None, all_mass: ndarray = None ) : ndarray [km/s] returns a random velocity of a star in km/s. .. py:attribute:: kinematics_func_name :value: 'VelocityGradient' .. py:attribute:: sun .. py:attribute:: sigma_u .. py:attribute:: sigma_v .. py:attribute:: sigma_w .. py:attribute:: vel_grad :value: 60.0 .. py:method:: draw_random_velocity(x: np.ndarray or float, y: np.ndarray or float, z: np.ndarray or float, **kwargs) -> Tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray] Generate a random velocities u,v,w by using a velocity dispersion Parameters ---------- x, y, z : nparray, float [kpc] galactocentric coordinates Returns ------- u, v, w : ndarray [km/s] velocity in galactocentric x,y,and z direction.