Hot Halo Ram Pressure History

Class providing the history of the ram pressure force (in \((\mathrm{km\,s}^{-1})^2 \mathrm{M}_\odot \mathrm{Mpc}^{-3}\)) exerted on a satellite galaxy by the hot gas atmosphere of its host halo, as needed by models of ram pressure stripping in which the outcome depends on the duration of the encounter as well as on its peak strength (Köppen et al., 2018). Two quantities are provided: the running maximum of the ram pressure, \(P\), and its time integral, \(I\), both accumulated since the satellite fell into its host. Implementations may apply a decay to both, so that they refer, effectively, to the most recent pericentric passage rather than to the whole orbital history. Both are zero for nodes which are not satellites.

Default implementation: hotHaloRamPressureHistoryAccumulated

Methods

forceMaximum → double precision

Return the (possibly decaying) running maximum of the ram pressure force experienced by node (in units of (km/s)\(^2\mathrm{M}_\odot\)/Mpc\(^3\)).

  • type(treeNode) node [inout]

forceTimeIntegrated → double precision

Return the (possibly decaying) time integral of the ram pressure force experienced by node (in units of (km/s)\(^2\mathrm{M}_\odot\)/Mpc\(^3\) Gyr).

  • type(treeNode) node [inout]

hotHaloRamPressureHistoryAccumulated

A hot halo ram pressure history class which returns the running maximum, \(P\), and time integral, \(I\), of the ram pressure accumulated along the satellite’s orbit by the nodeOperatorRamPressureHistory node operator, which must be included in the model (and which itself requires a satellite component, such as the orbiting component, which tracks the satellite’s position and velocity). Any decay of \(P\) and \(I\) is controlled by that operator.

(Default implementation)

hotHaloRamPressureHistoryVirialOrbit

A hot halo ram pressure history class which reconstructs the history of the ram pressure experienced by a satellite by integrating its orbit through its host, starting from its virial orbit at the time of infall. It therefore requires only the virial orbit to be stored by the satellite component, and so works with the standard satellite component, which does not track the satellite’s position and velocity.

The satellite is placed on its virial orbit at the time at which it was last an isolated halo, and its motion is integrated up to the present time in the mass distribution of its host as it is at the present time, treated as static. The gravitational acceleration is that used by nodeOperatorSatelliteOrbit, including the factor of \((1+M_\mathrm{sat}/M_\mathrm{host})\) which converts the two-body problem into the equivalent one-body problem. No dynamical friction, or loss of mass by the satellite, is included. Along this orbit the ram pressure is \(p=\rho_\mathrm{hot, host}(r) v^2\), where \(\rho_\mathrm{hot, host}(r)\) is the density of the host’s hot halo at the orbital radius, \(r\), and \(v\) is the orbital speed, and the time integral, \(I\), and running maximum, \(P\), of \(p\) are accumulated exactly as by the nodeOperatorRamPressureHistory node operator, including the decay over the orbital period controlled by [efficiencyDecay]. In a static host, and in the absence of dynamical friction and mass loss, the two therefore agree. (In both, \(P\) is the largest ram pressure found at the end of any ODE step, so it falls slightly short of the true pericentric peak, by an amount which depends on how closely a step ends at pericenter.)

The orbit is integrated afresh each time the history of a satellite is requested at a new time, so this class is substantially more expensive than hotHaloRamPressureHistoryAccumulated.

Methods

compute

Compute the ram pressure history of the given node.

  • type(treeNode) node [inout]

Parameters

  • [efficiencyDecay] (real; 0..1; default 1.0d0) — Efficiency of the decay of the time integral and running maximum of the ram pressure, in units of the inverse orbital period.

  • [toleranceRelative] (real; 0..1; default 1.0d-6) — The relative tolerance used in integrating the satellite’s orbit.