Merger Tree Evolution Concurrency¶
Class providing logic that controls which nodes in a merger tree are evolved in each phase of a multi-phase evolution scheme. When halo and subhalo evolution are decoupled, different sets of nodes (e.g.isolated halos vs.satellite subhalos) can be evolved in separate phases to maintain consistency. Each implementation specifies how many phases to use and which nodes participate in each phase, enabling flexible parallelism and ordering of the ODE integration.
Default implementation: mergerTreeEvolveConcurrencyHalosSubhalos
Methods¶
initializeTree→voidInitialize concurrency for a new tree.
countPhases→integerReturn a count of the number of evolution phases.
includeInEvolution→logicalReturn true if the node should be included in the given phase of merger tree evolution.
integer , intent(in ) :: evolutionPhasetype (treeNode), intent(inout), target :: node
mergerTreeEvolveConcurrencyHalosSubhalos¶
A merger tree evolution concurrency class which separates evolution of halos and their subhalos.
(Default implementation)