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 precisionReturn 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 precisionReturn 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
computeCompute the ram pressure history of the given node.
type(treeNode) node[inout]
Parameters
[efficiencyDecay](real;0..1; default1.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; default1.0d-6) — The relative tolerance used in integrating the satellite’s orbit.