.. _physics-darkMatterHaloScale: Dark Matter Halo Scales ======================= Class providing the characteristic physical scales of dark matter halos, including the virial radius, virial velocity, virial temperature, mean density, and dynamical timescale. These scales define the boundary and characteristic properties of a dark matter halo and are required by many other classes that compute cooling rates, star formation, and satellite orbital dynamics. **Default implementation:** ``darkMatterHaloScaleVirialDensityContrastDefinition`` Methods ------- ``timescaleDynamical`` → ``double precision`` The characteristic dynamical timescale of a dark matter halo. * ``type(treeNode), intent(inout) :: node`` ``velocityVirial`` → ``double precision`` Returns the virial velocity (in km/s) of the dark matter halo associated with ``node``, defined as the circular velocity at the virial radius and providing a characteristic velocity scale for the halo. * ``type(treeNode), intent(inout) :: node`` ``velocityVirialGrowthRate`` → ``double precision`` The growth rate of the virial velocity of a dark matter halo. * ``type(treeNode), intent(inout) :: node`` ``temperatureVirial`` → ``double precision`` Returns the virial temperature (in K) of the dark matter halo associated with ``node``, i.e. the characteristic gas temperature corresponding to the virial velocity, below which gas can be thermally supported against gravitational collapse. * ``type(treeNode), intent(inout) :: node`` ``radiusVirial`` → ``double precision`` Returns the virial radius (in Mpc) of the dark matter halo associated with ``node``, defined as the radius within which the mean interior density equals a specified overdensity threshold times the critical or mean density. * ``type(treeNode), intent(inout) :: node`` ``radiusVirialGradientLogarithmicMass`` → ``double precision`` The logarithmic gradient of virial radius of a dark matter halo with halo mass at fixed epoch. * ``type(treeNode), intent(inout) :: node`` ``radiusVirialGrowthRate`` → ``double precision`` Returns the time derivative of the virial radius (in Mpc/Gyr) of the dark matter halo associated with ``node``, indicating how rapidly the halo is growing or shrinking in physical size. * ``type(treeNode), intent(inout) :: node`` ``densityMean`` → ``double precision`` Returns the mean interior density (in :math:`\mathrm{M}_\odot` Mpc\ :math:`^{-3}`) of the dark matter halo associated with ``node``, computed as the halo mass divided by its virial volume, representing the average density within the virial radius. * ``type(treeNode), intent(inout) :: node`` ``densityMeanGrowthRate`` → ``double precision`` Returns the time derivative of the mean interior density (in :math:`\mathrm{M}_\odot` Mpc\ :math:`^{-3}` Gyr\ :math:`^{-1}`) of the dark matter halo associated with ``node``, reflecting how the balance between mass accretion and volume growth changes over time. * ``type(treeNode), intent(inout) :: node`` .. _physics-darkMatterHaloScaleVirialDensityContrastDefinition: ``darkMatterHaloScaleVirialDensityContrastDefinition`` ------------------------------------------------------ Dark matter halo scales derived from virial density contrasts. **(Default implementation)** **Methods** * ``calculationReset`` — Reset memoized calculations.