.. _physics-excursionSetBarrier: Excursion Set Barrier ===================== Class providing the collapse barrier :math:`B(\sigma^2, t)` in the extended Press-Schechter excursion set formalism---the threshold overdensity that a random walk in the density field must first cross for a region of variance :math:`\sigma^2` to collapse by cosmic time :math:`t`. The barrier height and its gradient with respect to variance control the halo mass function and merger rate: a constant barrier (spherical collapse) gives the Press-Schechter result, while a moving or stochastic barrier (ellipsoidal collapse) produces mass functions in better agreement with N-body simulations. **Default implementation:** ``excursionSetBarrierCriticalOverdensity`` Methods ------- ``barrier`` → ``double precision`` Return the barrier height at the given variance and time. The ``rateCompute`` should be set to ``true`` if the barrier is being used in a calculation of barrier crossing rates, and to ``false`` otherwise. * ``double precision , intent(in ) :: variance , time`` * ``type (treeNode), intent(inout) :: node`` * ``logical , intent(in ) :: rateCompute`` ``barrierGradient`` → ``double precision`` Return the gradient of the barrier with respect to variance at the given variance and time. The ``rateCompute`` should be set to ``true`` if the barrier is being used in a calculation of barrier crossing rates, and to ``false`` otherwise. * ``double precision , intent(in ) :: variance , time`` * ``type (treeNode), intent(inout) :: node`` * ``logical , intent(in ) :: rateCompute`` .. _physics-excursionSetBarrierCriticalOverdensity: ``excursionSetBarrierCriticalOverdensity`` ------------------------------------------ A excursion set barrier class that adopts a barrier equal to the critical linear theory overdensity for halo collapse. **(Default implementation)** .. _physics-excursionSetBarrierLinear: ``excursionSetBarrierLinear`` ----------------------------- A linear excursion set barrier class. The barrier is given by: .. math:: B(S) = B_0 + B_1 S, where :math:`B_0=`\ ``[coefficientConstant]``, and :math:`B_0=`\ ``[coefficientLinear]``. **Parameters** * ``[coefficientConstant]`` (default ``1.67d0``) — The constant (zero-order) coefficient :math:`B_0` in the linear excursion-set barrier :math:`B(\sigma^2) = B_0 + B_1\,\sigma^2`; corresponds to the spherical collapse threshold :math:`\delta_\mathrm{c} \approx 1.686` in the simplest case. * ``[coefficientLinear]`` (default ``0.0d0``) — The linear (first-order in :math:`\sigma^2`) coefficient :math:`B_1` in the excursion-set barrier :math:`B(\sigma^2) = B_0 + B_1\,\sigma^2`; a non-zero value produces a moving barrier that mimics ellipsoidal collapse corrections to the halo mass function. .. _physics-excursionSetBarrierQuadratic: ``excursionSetBarrierQuadratic`` -------------------------------- A quadratic excursion set barrier class. The barrier is given by: .. math:: B(S) = B_0 + B_1 S + B_2 S^2, where :math:`B_0=`\ ``[coefficientConstant]``, :math:`B_0=`\ ``[coefficientLinear]``, and :math:`B_2=`\ ``[coefficientQuadratic]``. **Parameters** * ``[coefficientConstant]`` (default ``1.67d0``) — The constant (zero-order) coefficient :math:`B_0` in the quadratic excursion-set barrier :math:`B(\sigma^2) = B_0 + B_1\,\sigma^2 + B_2\,(\sigma^2)^2`; represents the flat threshold inherited from spherical collapse. * ``[coefficientLinear]`` (default ``0.0d0``) — The linear (first-order in :math:`\sigma^2`) coefficient :math:`B_1` in the quadratic excursion-set barrier :math:`B(\sigma^2) = B_0 + B_1\,\sigma^2 + B_2\,(\sigma^2)^2`; encodes the leading ellipsoidal collapse correction to the collapse threshold. * ``[coefficientQuadratic]`` (default ``0.0d0``) — The quadratic (second-order in :math:`\sigma^2`) coefficient :math:`B_2` in the excursion-set barrier :math:`B(\sigma^2) = B_0 + B_1\,\sigma^2 + B_2\,(\sigma^2)^2`; allows further curvature of the barrier to match simulation-calibrated mass functions. .. _physics-excursionSetBarrierRemapScale: ``excursionSetBarrierRemapScale`` --------------------------------- An excursion set barrier class which remaps the barrier values from another class by multiplying by a constant scaling factor given by ``[factor]``, allowing the effective collapse threshold to be rescaled uniformly. The rescaling can be applied selectively to barrier evaluations used in rate calculations, other calculations, or both, as controlled by ``[applyTo]``. **Parameters** * ``[factor]`` (default ``1.0d0``) — The multiplicative factor applied to the underlying excursion-set barrier value :math:`B(\sigma^2)`, uniformly rescaling the collapse threshold across all mass scales to adjust branching rates or halo abundances. * ``[applyTo]`` (default ``var_str('nonRates')``) — Specifies whether rescaling is to be applied to the barrier when used for rate calculation, for other calculations, or both. .. _physics-excursionSetBarrierRemapShethMoTormen: ``excursionSetBarrierRemapShethMoTormen`` ----------------------------------------- An excursion set barrier class which remaps another class using the :cite:t:`sheth_ellipsoidal_2001` ellipsoidal collapse parameterization: .. math:: B(S) \rightarrow \sqrt{A} B(S) \left(1 + b \left[ {S \over A B^2(S)}\right]^c\right), where :math:`A=0.707`, :math:`b=0.5`, and :math:`c=0.6`. **Parameters** * ``[a]`` (default ``0.707d0``) — The parameter :math:`a` in the :cite:t:`sheth_ellipsoidal_2001` ellipsoidal collapse excursion set barrier remapping. * ``[b]`` (default ``0.500d0``) — The parameter :math:`b` in the :cite:t:`sheth_ellipsoidal_2001` ellipsoidal collapse excursion set barrier remapping. * ``[c]`` (default ``0.600d0``) — The parameter :math:`c` in the :cite:t:`sheth_ellipsoidal_2001` ellipsoidal collapse excursion set barrier remapping. * ``[applyTo]`` (default ``var_str('nonRates')``) — Specifies whether rescaling is to be applied to the barrier when used for rate calculation, for other calculations, or both.