.. _physics-starFormationTimescale: Star Formation Timescales ========================= Class providing models of the timescale (in Gyr) over which gas is converted into stars in a galaxy component. The star formation timescale sets the depletion time of the gas reservoir---the ratio of available gas mass to star formation rate---and is a key regulator of galaxy growth. Implementations may tie the timescale to the local dynamical time, gas surface density, or molecular gas fraction, with different dependencies expected for disk versus spheroid components. **Default implementation:** ``starFormationTimescaleDynamicalTime`` Methods ------- ``timescale`` → ``double precision`` Returns the timescale (in Gyr) for star formation in the provided ``component``. * ``class(nodeComponent), intent(inout) :: component`` .. _physics-starFormationTimescaleBaugh2005: ``starFormationTimescaleBaugh2005`` ----------------------------------- A star formation timescale class which adopts the star formation rate given by a modified version of the :cite:t:`baugh_can_2005` prescription: .. math:: \tau_\star = \tau_0 (V_\mathrm{disk}/V_0)^\alpha a^\beta where :math:`\tau_0=`\ ``[timescale]``, :math:`\alpha=`\ ``[exponentVelocity]``, :math:`\beta=`\ ``[exponentExpansionFactor]``, and :math:`V_0=`\ ``[velocityNormalization]``. **Parameters** * ``[timescale]`` (default ``8.0d0``) — The timescale (in Gyr) for star formation in the :cite:t:`baugh_can_2005` prescription. * ``[exponentVelocity]`` (default ``-3.0d0``) — The exponent for velocity in the :cite:t:`baugh_can_2005` prescription for star formation. * ``[exponentExpansionFactor]`` (default ``0.0d0``) — The exponent for expansion factor in the :cite:t:`baugh_can_2005` prescription for star formation. * ``[velocityNormalization]`` (default ``200.0d0``) — The normalization velocity :math:`V_0` (in km/s) appearing in the :cite:t:`baugh_can_2005` star formation timescale relation :math:`\tau_\star = \tau_0 (V_\mathrm{disk}/V_0)^\alpha a^\beta`. * ``[massRatioMajorMerger]`` (default ``0.25d0``) — The mass ratio above which mergers are considered to be "major". * ``[ratioMassBurst]`` (default ``0.05d0``) — The mass ratio above which mergers are considered to trigger a burst. * ``[fractionGasCriticalBurst]`` (default ``0.75d0``) — The host gas fraction above which mergers are considered to trigger a burst. * ``[destinationGasMinorMerger]`` (default ``var_str('spheroid')``) — The component to which satellite galaxy gas moves to as a result of a minor merger. .. _physics-starFormationTimescaleDynamicalTime: ``starFormationTimescaleDynamicalTime`` --------------------------------------- A star formation timescale class in which the star formation timescale scales with the component dynamical time. Specifically: .. math:: \tau_\star = \epsilon_\star^{-1} \tau_\mathrm{dynamical} \left( {V \over 200\hbox{km/s}} \right)^{\alpha_\star}, where :math:`\epsilon_\star=`\ ``[efficiency]`` and :math:`\alpha_\star=`\ ``[exponentVelocity]`` are input parameters, :math:`\tau_\mathrm{dynamical}\equiv r/V` is the dynamical timescale of the :term:`component` and :math:`r` and :math:`V` are the characteristic radius and velocity respectively of the component. The timescale is not allowed to fall below a minimum value specified by ``[timescaleMinimum]`` (in Gyr). **(Default implementation)** **Parameters** * ``[efficiency]`` (default ``0.01d0``) — The efficiency of star formation for the dynamical time method. * ``[exponentVelocity]`` (default ``-1.50d0``) — The velocity exponent for star formation for the dynamical time method. * ``[timescaleMinimum]`` (default ``1.0d-3``) — The minimum allowed timescale for star formation (in Gyr) in the dynamical time prescription, preventing unphysically short formation timescales in high-density or high-velocity systems. * ``[dynamicalRateFraction]`` (default ``2.0d0``) — The fraction of the inverse dynamical time to use as the rate for infall of the cold mode component. .. _physics-starFormationTimescaleFixed: ``starFormationTimescaleFixed`` ------------------------------- A star formation timescale class that returns a constant, user-specified gas consumption timescale regardless of the galactic component properties. This implements the simplest possible star formation model for testing and comparison purposes. The timescale is set by the ``[timescale]`` parameter in units of Gyr. **Parameters** * ``[mass]`` (default ``100.0d0``) — The fixed mass (in :math:`\mathrm{M}_\odot`) assigned to all newly-formed seed black holes in this implementation, representing the initial black hole mass when a halo first forms a central black hole. * ``[spin]`` (default ``0.0d0``) — The dimensionless spin parameter (between :math:`-1` and :math:`+1`) assigned to all newly-formed seed black holes, where :math:`0` corresponds to a non-rotating Schwarzschild black hole and :math:`\pm 1` to a maximally rotating Kerr black hole. * ``[fraction]`` (default ``0.01d0``) — The fixed fraction :math:`f_\mathrm{outflow}` of the stellar energy input rate (normalized to a canonical :math:`1\,\mathrm{M}_\odot` population) that drives gas outflows, setting the mass loading factor for stellar feedback in the galaxy. * ``[escapeFraction]`` (default ``0.006d0``) — Escape fraction of ionizing photons from young HII regions. * ``[ageLimit]`` (default ``0.03d0``) — The age beyond which all ionizing photons are assumed to escape from HII regions. * ``[timescale]`` (default ``1.0d0``) — The timescale for star formation in the fixed timescale model. * ``[rateStarFormation]`` (default ``1.0d9``) — The rate of star formation in units of :math:`\mathrm{M}_\odot \hbox{Gyr}^{-1}`. * ``[proposalSize]`` — The fixed value of the proposal scaling parameter :math:`\gamma` used to scale the vector difference between two randomly selected chain states when forming differential evolution proposals. * ``[exponentValue]`` — The fixed value of the temperature-scaling exponent :math:`\alpha` by which the proposal size :math:`\gamma` is scaled as :math:`\gamma \propto T^{\alpha}` in tempered differential evolution runs. * ``[massResolution]`` (default ``5.0d9``) — The mass resolution to use when building merger trees. * ``[rootVariance]`` — The root variance of the random error distribution. * ``[velocityRadial]`` (default ``-0.90d0``) — The radial velocity (in units of the host virial velocity) to used for the fixed virial orbits distribution. Default value matches approximate peak in the distribution of :cite:t:`benson_orbital_2005`. * ``[velocityTangential]`` (default ``0.75d0``) — The tangential velocity (in units of the host virial velocity) to used for the fixed virial orbits distribution. Default value matches approximate peak in the distribution of :cite:t:`benson_orbital_2005`. * ``[rateCoefficient]`` — The rate coefficient (in units of cm\ :math:`^3` s\ :math:`^{-1}`) for radiative recombination. * ``[gamma]`` (default ``0.67d0``) — The multiplicative factor, :math:`\gamma`, used to compute the cooling coefficient. * ``[fractionLossAngularMomentum]`` (default ``0.3d0``) — Specifies the fraction of angular momentum that is lost from cooling/infalling gas. * ``[concentration]`` — The fixed NFW concentration parameter :math:`c = r_\mathrm{virial}/r_\mathrm{scale}` assigned to all halos regardless of mass or redshift, representing the ratio of the virial radius to the scale radius of the dark matter density profile. * ``[metallicity]`` — The metallicity (relative to Solar) of the :term:`IGM`. * ``[factor]`` (default ``sqrt(0.5d0)``) — The ratio of galaxy radius to :math:`\lambda r_\mathrm{vir}` in the "fixed" galactic structure radius solver algorithm. This will be applied to any component for which no component-specific value is provided. * ``[factorDisk]`` (default ``sqrt(0.5d0)``) — The ratio of galaxy radius to :math:`\lambda r_\mathrm{vir}` in the "fixed" galactic structure radius solver algorithm for disks. This will override the generic value supplied by ``[factor]`` for disks. * ``[factorSpheroid]`` (default ``sqrt(0.5d0)``) — The ratio of galaxy radius to :math:`\lambda r_\mathrm{vir}` in the "fixed" galactic structure radius solver algorithm for spheroids. This will override the generic value supplied by ``[factor]`` for spheroids. * ``[radiusFixed]`` (default ``var_str('virial')``) — The radius to use in the "fixed" galactic structure radius solver algorithm. Allowed options are "virial" and "turnaround". * ``[overdensity]`` — The fixed linear overdensity :math:`\delta` of the large-scale environment assigned uniformly to all halos; a positive value places halos in an overdense region, while negative values simulate voids. * ``[radiusEnvironment]`` (default ``0.0d0``) — The radius of the sphere used to determine the variance in the environmental density. * ``[massEnvironment]`` (default ``1.0d15``) — The mass within the sphere sphere used to determine the variance in the environmental density. * ``[densityContrastValue]`` (default ``200.0d0``) — The virial density contrast to use in the fixed value model. * ``[densityType]`` (default ``var_str('critical')``) — The reference density to use in the fixed value virial density contrast model. Either of ``critical`` and ``mean`` are allowed. * ``[turnAroundOverVirialRadius]`` (default ``2.0d0``) — The ratio of the turnaround to virial radii in the fixed value model. * ``[criticalOverdensity]`` (default ``(3.0d0/20.0d0)*(12.0d0*Pi)**(2.0d0/3.0d0)``) — The value to use for the critical overdensity for collapse of dark matter halos when using a fixed value. .. _physics-starFormationTimescaleHaloScaling: ``starFormationTimescaleHaloScaling`` ------------------------------------- A star formation timescale class in which the timescale scales with halo properties. Specifically, .. math:: \tau_\star = \tau_\mathrm{\star,0} \left( {V_\mathrm{vir} \over 200\hbox{km/s}} \right)^{\alpha_\star} (1+z)^{\beta_\star}, where :math:`\tau_\mathrm{\star,0}=`\ ``[timescale]``, :math:`\alpha_\star=`\ ``[exponentVelocityVirial]``, and :math:`\beta_\star=`\ ``[exponentRedshift]``. **Methods** * ``calculationReset`` — Reset memoized calculations. **Parameters** * ``[timescale]`` (default ``1.0d0``) — The timescale for star formation in the halo scaling timescale model. * ``[exponentVelocityVirial]`` (default ``0.0d0``) — The exponent of virial velocity in the timescale for star formation in the halo scaling timescale model. * ``[exponentRedshift]`` (default ``0.0d0``) — The exponent of redshift in the timescale for star formation in the halo scaling timescale model. .. _physics-starFormationTimescaleLowerLimited: ``starFormationTimescaleLowerLimited`` -------------------------------------- A timescale for star formation which limits the timescale to be above a given multiple of the component dynamical time. **Parameters** * ``[timescaleMinimum]`` (default ``1.0d-3``) — The minimum timescale for star formation in units of the dynamical time. .. _physics-starFormationTimescaleVelocityMaxScaling: ``starFormationTimescaleVelocityMaxScaling`` -------------------------------------------- A star formation timescale class that scales the gas consumption timescale as a power law in the host halo maximum circular velocity and redshift. The normalization is set by ``[timescale]``, and the power-law exponents with respect to velocity and :math:`(1+z)` are set by ``[exponentVelocity]`` and ``[exponentRedshift]`` respectively. **Methods** * ``calculationReset`` — Reset memoized calculations. **Parameters** * ``[fraction]`` (default ``0.01d0``) — The normalization :math:`f` of the outflow rate relative to the star formation rate, evaluated at the reference peak circular velocity of 200 km/s and expansion factor of 1, setting the overall amplitude of the feedback-driven outflow. * ``[exponentVelocity]`` (default ``-2.0d0``) — The exponent of virial velocity in the outflow rate in disks. * ``[exponentRedshift]`` (default ``0.0d0``) — The power-law exponent of the cosmological expansion factor in the peak-velocity-scaling outflow rate, controlling the redshift evolution of the mass-loading factor; a value of zero gives no redshift evolution. * ``[timescale]`` (default ``1.0d0``) — The timescale for star formation in the velocity maximum scaling timescale model. * ``[exponentVelocity]`` (default ``0.0d0``) — The exponent of virial velocity in the timescale for star formation in the velocity maximum scaling timescale model. * ``[exponentRedshift]`` (default ``0.0d0``) — The exponent of redshift in the timescale for star formation in the velocity maximum scaling timescale model. * ``[timeScale]`` (default ``1.0d0``) — The timescale in the velocity maximum scaling model for outflow reincorporation. * ``[velocityExponent]`` (default ``0.0d0``) — The exponent of maximum circular velocity in the velocity maximum scaling model for outflow reincorporation. * ``[redshiftExponent]`` (default ``-1.5d0``) — The exponent of redshift in the velocity maximum scaling model for outflow reincorporation. * ``[timescaleMinimum]`` (default ``1.0d-3``) — The minimum timescale for outflow reincorporation in the velocity maximum scaling model. * ``[timescale]`` (default ``1.0d0``) — The timescale (in Gyr) for cooling in low mass halos at :math:`z=0` in the velocity maximum scaling scaling cooling rate model. * ``[timescaleMinimum]`` (default ``0.001d0``) — The minimum timescale (in Gyr) for cooling the velocity maximum scaling scaling cooling rate model. * ``[exponentRedshift]`` (default ``-1.5d0``) — The exponent of :math:`(1+z)` in the cooling timescale for low mass halos in the velocity maximum scaling scaling cooling rate model. * ``[exponentVelocity]`` (default ``0.0d0``) — The exponent of velocity in the cooling timescale for low mass halos in the velocity maximum scaling scaling cooling rate model. * ``[velocityCutOff]`` (default ``200.0d0``) — The halo maximum velocity scale appearing in the exponential term for cooling timescale in the velocity maximum scaling cooling rate model. * ``[velocityCutOffExponentRedshift]`` (default ``0.0d0``) — The exponent of :math:`(1+z)` in the velocity scale appearing in the exponential term for cooling timescale in the velocity maximum scaling cooling rate model. * ``[widthCutOff]`` (default ``1.0d0``) — The width appearing in the exponential term for cooling timescale in the velocity maximum scaling scaling cooling rate model. * ``[exponentCutOff]`` (default ``1.0d0``) — The exponent appearing in the exponential term for cooling timescale in the velocity maximum scaling scaling cooling rate model.