.. _physics-coolingTimeAvailable: Cooling Time Available ====================== Class providing models of the time available for cooling (in Gyr)---the elapsed time since gas in the hot halo was first able to start cooling. This quantity, together with the cooling time, determines whether gas has had enough time to cool and fall in. Implementations typically anchor this time to halo formation or to the time since the last major merger, and different choices lead to significantly different predictions for the cold gas supply and star formation history of galaxies. **Default implementation:** ``coolingTimeAvailableWhiteFrenk1991`` Methods ------- ``timeAvailable`` → ``double precision`` Return the time available for cooling in ``node`` in units of Gyr. * ``type(treeNode), intent(inout) :: node`` ``timeAvailableIncreaseRate`` → ``double precision`` Return the rate at which the time available for cooling increases in ``node`` (dimensionless). * ``type(treeNode), intent(inout) :: node`` .. _physics-coolingTimeAvailableBensonBower2010: ``coolingTimeAvailableBensonBower2010`` --------------------------------------- A time available for cooling class implementing the model of :cite:t:`benson_galaxy_2010-1`. .. _physics-coolingTimeAvailableFormationTime: ``coolingTimeAvailableFormationTime`` ------------------------------------- A time available for cooling class which implements the algorithm of :cite:t:`cole_hierarchical_2000`, that is, the time available is equal to .. math:: t_\mathrm{available} = t - t_\mathrm{form}, where :math:`t_\mathrm{form}` is the time at which the halo formed. .. _physics-coolingTimeAvailableWhiteFrenk1991: ``coolingTimeAvailableWhiteFrenk1991`` -------------------------------------- A time available for cooling class which implements the algorithm of :cite:t:`white_galaxy_1991`. The time available for cooling is equal to .. math:: t_\mathrm{available} = \exp\left[ f \ln t_\mathrm{Universe} + (1-f)\ln t_\mathrm{dynamical} \right], where :math:`f=`\ ``[ageFactor]`` is an interpolating factor, :math:`t_\mathrm{Universe}` is the age of the Universe and :math:`t_\mathrm{dynamical}` is the dynamical time in the halo. The original :cite:t:`white_galaxy_1991` algorithm corresponds to :math:`f=1`. **(Default implementation)** **Parameters** * ``[ageFactor]`` (default ``0.0d0``) — Interpolates (geometrically) between the age of the Universe and the halo dynamical time for the time available for cooling in the :cite:t:`white_galaxy_1991` method. * ``[velocityCutOff]`` (default ``1.0d4``) — The halo virial velocity (in km/s) above which cooling rates are forced to zero in the :cite:t:`white_galaxy_1991` cooling rate model.