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