.. _physics-hotHaloMassDistribution: Hot Halo Mass Distributions =========================== Class providing the radial mass distribution of hot (virialized) gas in the halo, returned as a :galacticus-class:`massDistributionClass` object. The density profile of the hot atmosphere sets the local cooling rate and pressure support, and determines the ram pressure experienced by satellite galaxies. Common profiles include the :math:`\beta`-model and hydrostatic equilibrium solutions. The distribution can be weighted by mass or by other quantities for use in different physical calculations. **Default implementation:** ``hotHaloMassDistributionBetaProfile`` Methods ------- ``get`` → ``class(massDistributionClass)`` Return the mass distribution of the hot halo. * ``type (treeNode ), intent(inout) :: node`` * ``type (enumerationWeightByType), intent(in ), optional :: weightBy`` * ``integer , intent(in ), optional :: weightIndex`` .. _physics-hotHaloMassDistributionBetaProfile: ``hotHaloMassDistributionBetaProfile`` -------------------------------------- A hot halo mass distribution class which adopts a spherically symmetric :math:`\beta`-profile density profile for the hot halo. Specifically, .. math:: \rho_\mathrm{hot halo}(r) \propto \left[ r^2 + r_\mathrm{core}^2 \right]^{3\beta/2}, where the core radius, :math:`r_\mathrm{core}`, is set using the selected cored profile core radius method (see :galacticus-class:`hotHaloMassDistributionCoreRadius`). The value of :math:`\beta` is specified by the ``[beta]`` parameter. The profile is normalized such that the current mass in the hot gas profile is contained within the outer radius of the hot halo, :math:`r_\mathrm{hot, outer}`. **(Default implementation)** **Methods** * ``initialize`` — (Re)initialize the parameters of the :math:`\beta`-profile mass distribution. **Parameters** * ``[beta]`` (default ``2.0d0/3.0d0``) — The value of :math:`\beta` in :math:`\beta`-profile hot halo cold mode mass distributions. * ``[beta]`` (default ``2.0d0/3.0d0``) — The value of :math:`\beta` in :math:`\beta`-profile hot halo mass distributions. * ``[beta]`` (default ``2.0d0/3.0d0``) — The value :math:`\beta` in a :math:`\beta`-model mass distribution. * ``[densityNormalization]`` (default ``0.0d0``) — The density normalization of a :math:`\beta`-model mass distribution. * ``[mass]`` (default ``0.0d0``) — The mass of a :math:`\beta`-model mass distribution. * ``[outerRadius]`` (default ``0.0d0``) — The outer radius of a :math:`\beta`-model mass distribution. * ``[coreRadius]`` (default ``0.0d0``) — The core radius of a :math:`\beta`-model mass distribution. * ``[dimensionless]`` (default ``.false.``) — If true then the :math:`\beta`-model mass distribution is considered to be in dimensionless units. * ``[truncateAtOuterRadius]`` (default ``.false.``) — If true then the :math:`\beta`-model mass distribution is truncated beyond the outer radius. * ``[componentType]`` (default ``var_str('unknown')``) — The component type that this mass distribution represents. * ``[massType]`` (default ``var_str('unknown')``) — The mass type that this mass distribution represents. .. _physics-hotHaloMassDistributionEnzoHydrostatic: ``hotHaloMassDistributionEnzoHydrostatic`` ------------------------------------------ A hot halo mass distribution class which adopts a spherically symmetric density profile for the hot halo motivated by the "hydrostatic" profile available in the :term:`ENZO` code. Specifically, .. math:: \rho_\mathrm{hot halo}(r) \propto \left\{ \begin{array}{ll} T^{-1} r^{-1} & \hbox{ if } r > r_\mathrm{core} \\ T^{-1} r_\mathrm{core}^{-1} & \hbox{ if } r \le r_\mathrm{core}, \end{array} \right. where the core radius, :math:`r_\mathrm{core}`, is set using the selected cored profile core radius method (see :galacticus-class:`hotHaloMassDistributionCoreRadius`). The profile is normalized such that the current mass in the hot gas profile is contained within the outer radius of the hot halo, :math:`r_\mathrm{hot, outer}`. Note that the :term:`ENZO` hydrostatic profile does not include this core, but without introducing this the profile mass can be divergent at small radii. **Methods** * ``normalizationDensity`` — Return the normalization of the density profile. **Parameters** * ``[componentType]`` (default ``var_str('unknown')``) — The component type that this mass distribution represents. * ``[massType]`` (default ``var_str('unknown')``) — The mass type that this mass distribution represents. * ``[mass]`` — The total mass (in :math:`\mathrm{M}_\odot`) of the hot gas distribution enclosed within ``radiusOuter``; used to normalize the Enzo hydrostatic density profile. * ``[radiusOuter]`` — The outer radius of the mass distribution. * ``[radiusScale]`` — The core radius of the mass distribution. * ``[truncateAtOuterRadius]`` (default ``.false.``) — If true then the mass distribution is truncated beyond the outer radius. .. _physics-hotHaloMassDistributionNull: ``hotHaloMassDistributionNull`` ------------------------------- A hot halo mass distribution class that assumes no hot halo mass distribution. It is useful, for example, when performing dark matter-only calculations. **Parameters** * ``[dimensionless]`` (default ``.true.``) — If true the null profile is considered to be dimensionless. .. _physics-hotHaloMassDistributionPatejLoeb2015: ``hotHaloMassDistributionPatejLoeb2015`` ---------------------------------------- Provides an implementation of the hot halo mass distribution class using the circumgalactic medium model of :cite:t:`patej_simple_2015`, in which the gas density follows a power-law profile tied to the dark matter distribution. The density slope is controlled by ``[gamma]``, and the shock radius by ``[radiusShock]``. **Methods** * ``radiusDarkMatter`` — Return the corresponding radius in the dark matter profile. * ``coordinatesDarkMatter`` — Return the corresponding coordinates in the dark matter profile. **Parameters** * ``[gamma]`` (default ``1.15d0``) — The parameter :math:`\Gamma` in the :cite:t:`patej_simple_2015` hot halo gas mass distribution model. * ``[radiusShock]`` (default ``1.0d0``) — The shock radius, :math:`s`, (in units of the halo virial radius) in the :cite:t:`patej_simple_2015` hot halo gas mass distribution model. * ``[gamma]`` (default ``1.15d0``) — The parameter :math:`\Gamma` in the :cite:t:`patej_simple_2015` mass distribution. * ``[densityNormalization]`` (default ``0.0d0``) — The density normalization of the :cite:t:`patej_simple_2015` mass distribution. * ``[mass]`` (default ``0.0d0``) — The mass of the :cite:t:`patej_simple_2015` mass distribution. * ``[radiusOuter]`` (default ``0.0d0``) — The outer radius of the :cite:t:`patej_simple_2015` mass distribution. * ``[truncateAtOuterRadius]`` (default ``.false.``) — If true then the :cite:t:`patej_simple_2015` mass distribution is truncated beyond the outer radius. * ``[componentType]`` (default ``var_str('unknown')``) — The component type that this mass distribution represents. * ``[massType]`` (default ``var_str('unknown')``) — The mass type that this mass distribution represents. .. _physics-hotHaloMassDistributionRicotti2000: ``hotHaloMassDistributionRicotti2000`` -------------------------------------- A hot halo mass distribution class which adopts a spherically symmetric :math:`\beta`-profile density profile for the hot halo with parameters selected using the fitting function of :cite:t:`ricotti_feedback_2000` who found these by solving for hydrostatic equilibrium in an :term:`NFW` density profile. Specifically, :math:`\beta = 0.9 b` where .. math:: b = {2 c \over 9 \Gamma} \left[ \log(1+c) - {c\over 1+c}\right]^{-1}, :math:`c` is the concentration parameter of the dark matter halo, and :math:`\Gamma` is the ratio of virial and gas temperatures, which is assumed to be unity. The core radius is :math:`r_\mathrm{core} = 0.22 r_\mathrm{s}` where :math:`r_\mathrm{s}` is the scale radius of the dark matter profile. The profile is normalized such that the current mass in the hot gas profile is contained within the outer radius of the hot halo, :math:`r_\mathrm{hot, outer}`.