hyperion.densities.AmbientMedium#
- class hyperion.densities.AmbientMedium(rho=None, rmin=None, rmax=None, subtract=[])#
This class implements the density structure for an ambient density medium defined by a constant density, and an inner and outer radius.
Once the
AmbientMedium
class has been instantiated, the parameters for the density structure can be set via attributes:>>> from hyperion.util.constants import au, pc >>> from hyperion.densities.ambient_medium import AmbientMedium >>> ambient = AmbientMedium() >>> ambient.rho = 1.e-20 # cgs >>> ambient.rmin = 0.1 * au # cm >>> ambient.rmax = pc # cm
AmbientMedium
instances can only be used with spherical polar grids at this time.By default, the ambient medium simply adds a constant density
rho
of dust to the whole model between the inner and outer radius. However, it is possible to pass components that should be subtracted from the constant density using thesubtract=
argument. In the following example:>>> e = PowerLawEnvelope() >>> AmbientMedium(subtract=[e])
the ambient medium does not simply add a constant density
rho
of dust everywhere, but it adds dust such that the density never falls belowrho
betweenrmin
andrmax
- that is, it subtracts the density of componente
from therho
, with a minimum of zero. In regions where the density of component ofe
is larger thanrho
, no dust is added.Attributes
rho
Density of the ambient medium (g/cm^3)
rmin
inner radius (cm)
rmax
outer radius (cm)
Methods
density
(grid)Return the density grid
Methods (detail)
- density(grid)#
Return the density grid
- Parameters:
- grid
SphericalPolarGrid
instance. 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
.