synthpop.modules.kinematics.besancon2003
Kinematic module from the Besancon Model, as described by Robin et al. (2003), with the rotation curve as tabulated in the Galaxia code data files (Sharma et al., 2011).
The module can be adapted for all of the populations, based on assigning the appropriate keyword arguments for velocity dispersions, velocity dispersion gradients, and asymmetric drift handling.
Classes
Kinematic module for the Robin et al. (2003) Besancon Model. |
Module Contents
- class synthpop.modules.kinematics.besancon2003.Besancon2003(sigma_u: float, sigma_v: float, sigma_w: float, disp_grad: float = 0, do_V_ad=True, const_V_ad=None, **kwargs)
Bases:
synthpop.modules.kinematics._kinematics.KinematicsKinematic module for the Robin et al. (2003) Besancon Model.
Attributes
- sigma_ufloat
velocity dispersion in x direction
- sigma_vfloat
velocity dispersion in y direction
- sigma_wfloat
velocity dispersion in z direction
- disp_gradfloat
velocity dispersion gradient (dln(sigma_u^2)/dR)
- do_V_adboolean
if True, calculate assymmetric drift via the equation in Robin+2003
- const_V_adfloat
if provided, this will be used as a constant asymmetric drift value
Methods
- __init__(self, Population)None
initialize the Kinematics class
- 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.
- kinematics_func_name = 'Besancon2003'
- sigma_u
- sigma_v
- sigma_w
- disp_grad = 0
- do_V_ad = True
- const_V_ad = None
- grid_r
- grid_vcirc
- interp_vcirc
- 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, znparray, float [kpc]
galactocentric coordinates
Returns
- u, v, wndarray [km/s]
velocity in galactocentric x,y,and z direction.
- mean_galactic_uvw(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, znparray, float [kpc]
galactocentric coordinates
Returns
- u, v, wndarray [km/s]
velocity in galactocentric x,y,and z direction.