hyperion.densities.UlrichEnvelope#
- class hyperion.densities.UlrichEnvelope(mdot=None, rho_0=None, rmin=None, rmax=None, rc=None, ambient_density=0.0, star=None)#
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
UlrichEnvelopeclass 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.ulrich_envelope import UlrichEnvelope >>> envelope = UlrichEnvelope() >>> envelope.rho_0 = 1.e-19 >>> envelope.rmin = 0.1 * au >>> envelope.rmax = pc
UlrichEnvelopeinstances can only be used with spherical polar grids at this time.Attributes
mdotinfall rate (g/s)
rho_0density factor (g/cm^3)
rmininner radius (cm)
rcinner radius (cm)
rmaxouter radius (cm)
cavityBipolarCavity instance
starcentral star instance (needs a
massattribute)dustdust 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).
Find the cumulative column density as a function of radius.
Add a bipolar cavity to the envelope.
Methods (detail)
- density(grid, ignore_cavity=False)#
Return the density grid
- Parameters:
- grid
SphericalPolarGridorCylindricalPolarGridinstance. The spherical polar grid object containing information about the position of the grid cells.
- grid
- Returns:
- rhonp.ndarray
A 3-dimensional 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 (in the midplane).
- Parameters:
- rhofloat
The density for which to determine the radius
- Returns:
- rfloat
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:
- 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.
- add_bipolar_cavity()#
Add a bipolar cavity to the envelope.
- Returns:
- cavity
BipolarCavityinstance The bipolar cavity instance, which can then be used to set the parameters of the cavity.
- cavity