hyperion.densities.FlaredDisk

class hyperion.densities.FlaredDisk(mass=None, rho_0=None, rmin=None, rmax=None, p=- 1, beta=- 1.25, h_0=None, r_0=None, cylindrical_inner_rim=True, cylindrical_outer_rim=True, star=None, dust=None)

This class implements the density structure for a flared axisymmatric disk, with a density given by:

\rho(R,z,\phi) = \rho_0^{\rm disk}\,\left(\frac{R_0}{R}\right)^{\beta - p}\,\exp{\left[-\frac{1}{2}\left(\frac{z}{h(R)}\right)^2\right]} \\

where

h(R) = h_0\left(\frac{R}{R_0}\right)^\beta

The \rho_0^{\rm disk} parameter does not need to be set directly (although it can be), and is instead automatically calculated when you set the disk mass. The exact equation relating \rho_0^{\rm disk} to the disk mass can be found by integrating the equation for \rho(R,z,\phi) over three dimensions and setting the result equal to the disk mass.

Once the FlaredDisk class has been instantiated, the parameters for the density structure can be set via attributes:

>>> from hyperion.util.constants import msun, au
>>> from hyperion.densities.flared_disk import FlaredDisk
>>> disk = FlaredDisk()
>>> disk.mass = 2. * msun
>>> disk.rmin = 0.1 * au
>>> disk.rmax = 100 * au

Attributes

mass

Total disk mass (g)

rho_0

Scale-factor for the disk density (g/cm^3)

rmin

inner radius (cm)

rmax

outer radius (cm)

p

surface density power-law exponent

beta

scaleheight power-law exponent

h_0

scaleheight of the disk at r_0 (cm)

r_0

radius at which h_0 is defined (cm)

cylindrical_inner_rim

Whether the inner edge of the disk should be defined as a truncation in cylindrical or spherical polar coordinates

cylindrical_outer_rim

Whether the outer edge of the disk should be defined as a truncation in cylindrical or spherical polar coordinates

dust

dust properties (filename or dust object)

Methods

density(self, grid)

Return the density grid

midplane_cumulative_density(self, r)

Find the cumulative column density as a function of radius.

vertical_cumulative_density(self, r, theta)

Find the cumulative column density as a function of theta.

Methods (detail)

density(self, grid)

Return the density grid

Parameters
gridSphericalPolarGrid or CylindricalPolarGrid instance.

The spherical or cylindrical polar grid object containing information about the position of the grid cells.

Returns
rhonp.ndarray

A 3-dimensional array containing the density of the disk inside each cell. The shape of this array is the same as grid.shape.

midplane_cumulative_density(self, r)

Find the cumulative column density as a function of radius.

The cumulative density is measured outwards from the origin, and in the midplane.

Parameters
rnp.ndarray

Array of values of the radius up to which to tabulate the cumulative density.

Returns
rhonp.ndarray

Array of values of the cumulative density.

vertical_cumulative_density(self, r, theta)

Find the cumulative column density as a function of theta.

Parameters
rfloat

The spherical radius at which to calculate the cumulative density.

thetanp.ndarray

The theta values at which to tabulate the cumulative density.

Returns
rhonp.ndarray

Array of values of the cumulative density.