EllipticalLBD

modspectra.EllipticalLBD(resolution, bd_max, Hz, z_sigma_lim, dens0, velocity_factor, vel_0, el_constant1, el_constant2, alpha, beta, theta, L_range, B_range, D_range, species='hi', LSR_options={}, galcen_options={}, visualize=False, flaring=False, flaring_radial=False, min_bd=None, memmap=False, da_chunks_xyz=50, return_all=False, **kwargs)[source]

Creates kinematic disk following Elliptical Orbits of the from from Burton & Liszt (1982) or Krishnarao, Benjamin, Haffner (2019) Numerically solves for ellipse equation for every point within the disk space output is used directly to create a Longitude-Latitude-Velocity SpectralCube object using ‘modspectra.cube.EllipticalLBD’

Uses numexpr package to evaluate math Uses multiprocessing to solve Ellipse Equation Uses Dask for memory mapping

Parameters:

resolution: ‘tuple, list’

Resolution to create grid

bd_max: ‘number’

Maximum semi-minor axis allowed within defined elliptical disk

Hz: ‘number’

Scale height along z axis

z_sigma_lim: ‘number’

sigma cuttoff to stop solving Ellipse equation for for z above a specified scale height threshold

dens0: ‘number’

Density at midplane of Elliptical Disk

velocity_factor: ‘number’

Constant used to define velocity field in Burton & Liszt model

vel_0: ‘number’

Max velocity of Elliptical orbit Corresponds to velocity of outermost orbit on semi-minor axis

el_constant1: ‘number’

First parameter for defining ellipse

el_constant2: ‘number’

second parameter for defining ellipse

alpha: ‘number’

Tilt angle alpha - see :class:’TiltedDisk’

beta: ‘number’

Tilt angle Beta - see :class:’TiltedDisk’ 90 - beta is the inclination

theta: ‘number’

Tilt angle of major axis of Ellipse - see :class:’TiltedDisk’

L_range: :list:’number’

Range of Longtiude to create grid over

B_range: :list:’number’

Range of Latitude to create grid over

D_range: :list:’number’

Range of Distances to create grid over

species: ‘str’, optional, must be keyword

Can be ‘hi’ or ‘ha’ to set whether disk will be for neutral or ionized hydrogen (HI 21cm or H-Alpha) Default is ‘hi’

LSR_options: ‘dictionary’, optional, must be keyword

Dictionary of **kwargs to pass into :class:’~astropy.coordinates.GalacticLSR’

galcen_options: ‘dictionary’, optional, must be keyword

set galcen_options to be passed to coordinate frames

visualize: ‘bool’, optional, must be keyword

if using dask, returns dask visualization map

flaring: ‘bool, number’, optional, must be keyword

if False, disk has a constant scale height if a number, then sets the flaring parameter, F_z, as described in Krishnarao, Benjamin, Haffner (2019)

flaring_radial: ‘bool’, optional, must be keyword

if flaring is present then

if False (default), flaring of scale height is a function of bd, the semi minor axis if True, flaring of scale height is a function of r, the cyclindrical radius coordinate in the TiltedDisk Frame

min_bd: ‘number’, optional, must be keyword

sets the minimum value of the semi minor axis to allow Used to make a ring, rather than a disk structure

memmap: ‘bool’, optional, must be keyword

if True, use dask for memory mapping when creating disk structure useful for higher resolution computes

da_chunks_xyz = ‘number’, optional, must be keyword

if memmap is True, sets the dask chunk size Default to 50, likely too small for efficiency

return_all: ‘bool’, optional, must be keyword

if True, will return all output components used for diagnostic purposes

**kwargs:

currenlty not implemented

Returns:

lbd_coords_withvel: :class:’~astropy.coordinates.GalacticLSR’

astropy.coord array containing all coordinates corresponding to fabricated grid of points

dens_grid: ‘numpy.ndarray’

ndarray with shape (resolution) containing density of points in Longitude-Latitude-Distance grid axes order swapped to be ready for SpectralCube creation (Distance, Latitude, Longitude)

cdelt: ‘numpy.ndarray’

ndarray with shape (3) containing the step size for Longitude, Latitude, and Distance used in the grid Used for WCS object creation in later instances

disk_coordinates: :class:’TiltedDisk’, optional, only if return_all == True

TiltedDisk coordinate class containing grid coordinates in original tilted disk space

galcen_coords_withvel: :class:’~astropy.coordinates.Galactocentric’

TiltedDisk class transformed to Galactocentric frame

bd_grid: ‘numpy.ndarray’

ndarray with shape (resolution) containing solved values of bd from Ellipse Equation solutions axes order swapped to match dens_grid

vel_magnitude_grid: ‘numpy.ndarray’

ndarray with shape (resolution) contianing velocity vector magnitude at corresponding grid position