This class implements the density structure for a rotationally flattened and infalling envelope, with a density given by:
where $mu_0$ is given by the equation for the streamline:
Once the UlrichEnvelope class has been instantiated, the parameters for the density structure can be set via attributes:
>>> from hyperion.util.constants import msun, au, pc
>>> envelope = UlrichEnvelope()
>>> envelope.rho_0 = 1.e-19
>>> envelope.rmin = 0.1 * au
>>> envelope.rmax = pc
UlrichEnvelope instances can only be used with spherical polar grids at this time.
Attributes
mdot | infall rate (g/s) |
rho_0 | density factor (g/cm^3) |
rmin | inner radius (cm) |
rc | inner radius (cm) |
rmax | outer radius (cm) |
cavity | BipolarCavity instance |
star | central star instance (needs a mass attribute) |
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 (in the midplane). |
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)
Return the density grid
Parameters : | grid : SphericalPolarGrid instance.
|
---|---|
Returns : | rho : np.ndarray
|
Find the outermost radius at which the density of the envelope has fallen to rho (in the midplane).
Parameters : | rho : float
|
---|---|
Returns : | r : float
|
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
|
---|---|
Returns : | rho : np.ndarray
|
Add a bipolar cavity to the envelope.
Returns : | cavity : BipolarCavity instance
|
---|