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

Besancon2003

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.Kinematics

Kinematic 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.