hyperion.densities.PowerLawEnvelope¶

class
hyperion.densities.
PowerLawEnvelope
¶ This class implements the density structure for a spherically symmetric powerlaw envelope, with a density given by:
Once the
PowerLawEnvelope
class has been instantiated, the parameters for the density structure can be set via attributes:>>> from hyperion.util.constants import msun, au, pc >>> from hyperion.densities.power_law_envelope import PowerLawEnvelope >>> envelope = PowerLawEnvelope() >>> envelope.mass = msun >>> envelope.rmin = 0.1 * au >>> envelope.rmax = pc
PowerLawEnvelope
instances can only be used with spherical polar grids at this time.Attributes
mass
total mass (g) rho_0
density at r_0
(g/cm^3)r_0
radius at which rho_0
is defined (cm)rmax
outer radius (cm) rmin
inner radius (cm) power
density powerlaw exponent dust
dust properties (filename or dust object) Methods
density
(grid[, ignore_cavity])Return the density grid outermost_radius
(rho)Find the outermost radius at which the density of the envelope has fallen to rho. midplane_cumulative_density
(r)Find the cumulative column density as a function of radius. add_bipolar_cavity
()Add a bipolar cavity to the envelope. Methods (detail)

density
(grid, ignore_cavity=False)¶ Return the density grid
Parameters: grid :
SphericalPolarGrid
orCylindricalPolarGrid
instance.The spherical polar grid object containing information about the position of the grid cells.
Returns: rho : np.ndarray
A 3dimensional array containing the density of the envelope inside each cell. The shape of this array is the same as
grid.shape
.

outermost_radius
(rho)¶ Find the outermost radius at which the density of the envelope has fallen to rho.
Parameters: rho : float
The density for which to determine the radius
Returns: r : float
The radius at which the density has fallen to
rho

midplane_cumulative_density
(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: r : np.ndarray
Array of values of the radius up to which to tabulate the cumulative density.
Returns: rho : np.ndarray
Array of values of the cumulative density.

add_bipolar_cavity
()¶ Add a bipolar cavity to the envelope.
Returns: cavity :
BipolarCavity
instanceThe bipolar cavity instance, which can then be used to set the parameters of the cavity.
