.. _physics-mergerProgenitorProperties: Merger Progenitor Properties ============================ Class providing models of the effective properties of merger progenitors---the masses, radii, and angular momentum factors of the satellite and host galaxies immediately before a merger event, which are passed to the remnant size calculator. The progenitor properties determine the energy budget available to the merger remnant: the satellite mass, host spheroid mass, pre-merger host spheroid mass, effective radii, angular momentum factor, and the expected remnant spheroid and gas-spheroid masses used to compute the post-merger structure. **Default implementation:** ``mergerProgenitorPropertiesStandard`` Methods ------- ``get`` → ``void`` Calculates the effective masses, radii, and angular momentum factors of the satellite and host galaxy progenitors immediately before a merger event, providing the energy budget inputs required by remnant size calculators. * ``type (treeNode), intent(inout), target :: nodeSatellite , nodeHost`` * ``double precision , intent( out) :: massSatellite , massHost`` * ``double precision , intent( out) :: massSpheroidSatellite , massSpheroidHost`` * ``double precision , intent( out) :: massSpheroidHostPreMerger, radiusSatellite`` * ``double precision , intent( out) :: radiusHost , factorAngularMomentum`` * ``double precision , intent( out) :: massSpheroidRemnant , massGasSpheroidRemnant`` .. _physics-mergerProgenitorPropertiesCole2000: ``mergerProgenitorPropertiesCole2000`` -------------------------------------- A merger progenitor properties class which uses the algorithms of :cite:t:`cole_hierarchical_2000` to compute progenitor properties. Masses of progenitors are set to .. math:: M_\mathrm{host|satellite} = \sum_{i=\mathrm{disk|spheroid}} \sum_{j=\mathrm{stars|gas}} M_{i,j}, where :math:`M_{i,j}` is the mass of mass type :math:`j` in :term:`component` :math:`i`. Masses of progenitors that will end up in the remnant spheroid are set to .. math:: M_\mathrm{spheroid\,\,host|satellite} = \sum_{i=\mathrm{disk|spheroid}} \sum_{j=\mathrm{stars|gas}} M_{i,j} \delta_{i,j}, where :math:`\delta_{i,j}=0` of mass type :math:`j` in :term:`component` :math:`i` will end up in the remnant spheroid and :math:`0` otherwise. Radii of material that will end up in the spheroid are set by finding the solution to: .. math:: \sum_{i=\mathrm{disk|spheroid}} \sum_{j=\mathrm{stars|gas}} M_{i,j}(r) \delta_{i,j} = {1 \over 2} \sum_{i=\mathrm{disk|spheroid}} \sum_{j=\mathrm{stars|gas}} M_{i,j} \delta_{i,j}, such that the radii are the half-mass radii of the material that will end up in the remnant spheroid. Finally, the angular momentum factor is set to .. math:: f_\mathrm{AM\,\,host|satellite} = {1 \over M_\mathrm{spheroid\,\,host|satellite}} \sum_{i=\mathrm{disk|spheroid}} \sum_{j=\mathrm{stars|gas}} M_{i,j} {J_{i,j} \over \mathrm{G} M^{3/2}_{i,j} r_{1/2\,\,i,j}} \delta_{i,j}, where :math:`J_{i,j}` is the angular momentum or pseudo-angular momentum of mass type :math:`j` in :term:`component` :math:`i`\ \footnoteThis is technically not quite what :cite:t:`cole_hierarchical_2000` do. Instead, when computing the masses of the material which ends up in the spheroid they include twice the mass of dark matter (accounting for the effects of adiabatic contraction) within the half-mass radius of each galaxy (as calculated above). The final angular momentum is then :math:`j=\sqrt{\mathrm{G} M_\mathrm{remnant} r_\mathrm{remnant}/2}` (where :math:`M_\mathrm{remnant}` includes the contribution from dark matter and the factor of :math:`2` appears to make this the half-mass). This approach is currently not used in Galacticus since there is no way to get the mass of dark matter enclosed accounting for adiabatic contraction in the general case. This is a solvable problem, and so this algorithm is expected to be modified to match that of :cite:t:`cole_hierarchical_2000` precisely in a future version of Galacticus.. **Methods** * ``reform`` — Implements a halo reformation event. .. _physics-mergerProgenitorPropertiesSimple: ``mergerProgenitorPropertiesSimple`` ------------------------------------ A merger progenitor properties class which uses a simple calculation. **Methods** * ``calculationReset`` — Reset memoized calculations. .. _physics-mergerProgenitorPropertiesStandard: ``mergerProgenitorPropertiesStandard`` -------------------------------------- A merger progenitor properties class which implements a standard method to compute progenitor properties. Masses of progenitors are set to .. math:: M_\mathrm{host|satellite} = \sum_{i=\mathrm{disk|spheroid}} \sum_{j=\mathrm{stars|gas}} M_{i,j}, where :math:`M_{i,j}` is the mass of mass type :math:`j` in :term:`component` :math:`i`. Masses of progenitors that will end up in the remnant spheroid are set to .. math:: M_\mathrm{spheroid\,\,host|satellite} = \sum_{i=\mathrm{disk|spheroid}} \sum_{j=\mathrm{stars|gas}} M_{i,j} \delta_{i,j}, where :math:`\delta_{i,j}=0` of mass type :math:`j` in :term:`component` :math:`i` will end up in the remnant spheroid and :math:`0` otherwise. Radii of material that will end up in the spheroid are set to .. math:: r_\mathrm{host|satellite} = {1 \over M_\mathrm{spheroid\,\,host|satellite}} \sum_{i=\mathrm{disk|spheroid}} \sum_{j=\mathrm{stars|gas}} M_{i,j} r_{1/2\,\,i,j} \delta_{i,j}. Finally, the angular momentum factor is set to .. math:: f_\mathrm{AM\,\,host|satellite} = {1 \over M_\mathrm{spheroid\,\,host|satellite}} \sum_{i=\mathrm{disk|spheroid}} \sum_{j=\mathrm{stars|gas}} M_{i,j} {J_{i,j} \over \mathrm{G} M^{3/2}_{i,j} r_{1/2\,\,i,j}} \delta_{i,j}, where :math:`J_{i,j}` is the angular momentum or pseudo-angular momentum of mass type :math:`j` in :term:`component` :math:`i`. **(Default implementation)** **Methods** * ``factors`` — Compute factors needed for tidal tensor calculation. * ``tidalTensorGet`` — Get the tidal tensor.