N-Body Simulation Data Operators¶
Class providing operators that act on data from N-body simulations—post-processing transformations applied sequentially to the nBodyData objects imported by nbodyImporterClass. Typical operations include computing halo masses, spin parameters, concentrations, merger histories, or galaxy occupation fractions from the raw particle data. Multiple operators can be chained to build a complete analysis pipeline, with the null operator leaving the data unchanged for pass-through use cases.
Default implementation: nbodyOperatorNull
Methods¶
operate→voidApply this operator to the provided array of N-body simulation datasets, transforming or augmenting particle and halo properties in place.
type(nBodyData), intent(inout), dimension(:) :: simulations
nbodyOperatorAddAttributes¶
An N-body data operator which attaches named scalar attributes to the simulation dataset, enabling metadata such as simulation parameters or analysis flags to be stored alongside particle data. Attribute names and corresponding values are specified as arrays via the [names] and [values] parameters.
Parameters
[names](string) — A list of attribute names.[values](string) — A list of attribute values.
nbodyOperatorAngularMomentum¶
An N-body data operator which determines the mean angular momentum of particles. Also finds the angular velocity vector for the rotating frame in which the angular momentum would be zero.
Parameters
[selfBoundParticlesOnly](boolean) — If true, the mean angular momentum is computed only for self-bound particles[bootstrapSampleCount](integer; default30_c_size_t) — The number of bootstrap resamples of the particles that should be used.
nbodyOperatorConcentrationDistributionFunction¶
An N-body data operator which computes the halo concentration distribution function by binning halos as a function of concentration within a specified mass and concentration range. Mass limits and binning are set by [massMinimum] , [massMaximum], and [massCountPerDecade], concentration limits and binning by [concentrationMinimum], [concentrationMaximum], and [concentrationCountPerDecade].
Parameters
[massMinimum](real) — The minimum halo mass (in \(\mathrm{M}_\odot\)) below which halos are excluded from the concentration distribution function.[massMaximum](real) — The maximum halo mass (in \(\mathrm{M}_\odot\)) above which halos are excluded from the concentration distribution function.[massCountPerDecade](integer) — The number of logarithmic bins per decade of mass used when constructing the concentration distribution function.[concentrationMinimum](real) — The minimum halo concentration parameter below which halos are excluded from the distribution function histogram.[concentrationMaximum](real) — The maximum halo concentration parameter above which halos are excluded from the distribution function histogram.[concentrationCountPerDecade](integer) — The number of logarithmic bins per decade of concentration parameter used when constructing the concentration distribution function.[description](string) — A human-readable description of this concentration distribution function dataset, stored as metadata in the output file.[simulationReference](string) — A bibliographic reference for the N-body simulation from which this concentration distribution is derived, stored as output metadata.[simulationURL](string) — A URL pointing to the publicly accessible dataset or documentation for the N-body simulation, stored as output metadata.
nbodyOperatorConvexHull¶
An N-body data operator which constructs the convex hull of the particles.
Methods
tabulate— Tabulate the virial density contrast as a function of mass and time.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
nbodyOperatorConvexHullOverdensity¶
An N-body data operator which computes the overdensity within the convex hull of the particles.
nbodyOperatorConvexHullVolume¶
An N-body data operator which computes the convex hull volume of the particles.
nbodyOperatorDeleteProperties¶
An N-body data operator which removes one or more named properties from the N-body simulation dataset, reducing memory usage or eliminating unwanted quantities before further processing. The list of properties to be deleted is specified as an array of names via the [names] parameter.
Parameters
[propertyNames](string) — A list of named properties to be deleted from the simulation.
nbodyOperatorDistanceFromPoint¶
An N-body data operator which computes and stores the Euclidean distance of each particle from a fixed reference point in three-dimensional Cartesian space, adding this as a new particle property. The reference point coordinates are specified as a three-element array via the [point] parameter.
Parameters
[point](real) — The Cartesian coordinates of the point from which to compute the distance.
nbodyOperatorEnergyTensors¶
An N-body data operator which determines the kinetic and Chandrasekhar potential energy tensors of a particle distribution, characterizing the dynamical state and shape of N-body halos. Self-bound particle restriction is controlled by [selfBoundOnly], and statistical uncertainties can be estimated using bootstrap resampling via [bootstrapSampleCount].
Parameters
[selfBoundParticlesOnly](boolean) — If true, the mean position and velocity are computed only for self-bound particles[bootstrapSampleCount](integer; default30_c_size_t) — The number of bootstrap resamples of the particles that should be used.
nbodyOperatorEnvironmentalOverdensity¶
An N-body data operator which measures the local environmental overdensity around each particle by counting neighbors within a spherical aperture and comparing to the mean simulation density. The aperture radius is set by [radiusEnvironment], periodic boundary conditions by [usePeriodic], and sampling efficiency by [sampleRate].
Parameters
[radiusSphere](real) — The radius of the sphere within which to measure environmental overdensity.[densityParticleMean](real) — The mean density of particles in the simulation.[sampleRate](integer; default1_c_size_t) — One in[sampleRate]particles will be sampled when computed environmental overdensities.[lengthBox](real; default0.0d0) — The length of the periodic box.[periodic](boolean; default.false.) — If true, periodic boundary conditions will be used.
nbodyOperatorExportIRATE¶
An N-body data operator which exports N-body simulation data to the IRATE (IRvine Astrophysical simulaTion structurE) HDF5 format for interoperability with other analysis tools. The output file path is set by [fileName], with the snapshot index and redshift specified by [snapshot] and [redshift].
Methods
readHalos— Read a snapshot from the IRATE format file.writeHalos— Write a snapshot to a IRATE format file.readSimulation— Read the requested properties of the simulation from an IRATE format file.writeSimulation— Write the requested properties of the simulation from an IRATE format file.copySimulation— Copy “SimulationProperties” group from one IRATE file to another.copyCosmology— Copy “Cosmology” group from one IRATE file to another.
Parameters
[fileName](string) — The name of the file to read.[snapshot](integer) — The snapshot number to read.[redshift](real) — The redshift of the data.
nbodyOperatorFilterBox¶
An N-body data operator which retains only particles whose positions fall within a specified axis-aligned cuboid region, enabling spatially localized analysis of simulation volumes. The lower and upper boundaries of the cuboid are specified as three-element coordinate arrays via [cornerLower] and [cornerUpper].
Parameters
[boundLow](real) — The lower boundary of the cuboid region.[boundHigh](real) — The upper boundary of the cuboid region.
nbodyOperatorFilterConvexHull¶
An N-body data operator which retains only particles whose positions fall inside the convex hull of another simulation dataset, enabling filtering to an irregular survey geometry or simulation subvolume boundary. The convex hull is taken from the simulation identified by the [simulationIndex] parameter.
Parameters
[hullFromSimulation](integer) — The index of the simulation from which to take the convex hull.
nbodyOperatorFilterID¶
An N-body data operator which retains only the subset of particles whose unique IDs match a specified list, enabling targeted analysis of individual halos or particle subsets. The IDs to retain can be specified directly via [IDs] or loaded from a file using [fileName].
Parameters
[idSelection](integer) — The IDs of particles to retain.[idSelectionFileName](string) — The name of a file containing the IDs of particles to retain.[idSelectionDatasetName](string; defaultid) — The name of the dataset containing the IDs of particles to retain.
nbodyOperatorFilterProperties¶
An N-body data operator which retains only particles whose named property values fall within specified minimum and maximum bounds, enabling selection by mass, concentration, spin, or any other stored property. Property names and their lower and upper limits are specified as arrays via [names], [minimum], and [maximum].
Parameters
[propertyNames](string) — A list of named properties on which to filter.[rangeLow](string) — The lowest value of each property to pass (”-infinity” is interpreted as the lowest possible value for the property).[rangeHigh](string) — The highest value of each property to pass (”+infinity” is interpreted as the highest possible value for the property).
nbodyOperatorFilterUncontaminatedSphere¶
An N-body data operator which filters particles to select those within a sphere such that the contamination by particles of non-preferred type is below a specified level.
Parameters
[point](real) — The point at which to center the filtered sphere.[fractionContamination](real) — The contamination fraction allowed within the sphere.[particleType](integer) — The preferred particle type for filtering.[massWeighted](boolean) — If true, contamination is weighted by particle mass, otherwise it is unweighted (i.e. depends on the number of particles only).
nbodyOperatorFlagAlwaysIsolated¶
An N-body data operator which identifies and flags particles that have remained isolated throughout the simulation, never having been part of a larger halo, by tracking their merger history. A particle is considered always-isolated unless its virial mass increased by more than the factor specified by [massGrowthFactor], which ignores transient accretion events.
Parameters
[massFactor](real; default2.0d0) — The factor by which virial mass must increase for previous non-isolation to be ignored.
nbodyOperatorHaloCrossingTime¶
An N-body data operator which computes and stores the crossing time of halos defined as \(t_\mathrm{cross} = 2 r_\mathrm{vir}/V_\mathrm{vir}\).
nbodyOperatorHostedRootID¶
An N-body data operator which determines the ID of the topmost root halo in the host hierarchy by iteratively following host links upward from each particle. The errorIfNotFound parameter controls whether a missing host causes a fatal error or instead assigns a sentinel value of \(-1\).
Parameters
[missingHalosAreFatal](boolean; default.true.) — If true, if a halo is not found during the search through hosts and descendants then a fatal error occurs. Otherwise, such missing halos are ignored, and ahostedRootIDvalue of \(-1\) is assigned to the particle.
nbodyOperatorIdentifyFlybysMansfieldKravtsov2020¶
An N-body data operator which identifies flyby halos using the algorithm of Mansfield and Kravtsov (2020), classifying halos that pass through a larger host without merging as flybys. The errorIfNotFound parameter controls how missing host halos are handled during the flyby search.
Parameters
[missingHostsAreFatal](boolean) — If true, missing hosts cause a fatal error. Otherwise, a missing host causes the halo to be ignored in flyby analysis of its descendants.
nbodyOperatorInertiaTensor¶
An N-body data operator which computes the inertia tensor eigenvalues, eigenvectors, and resulting axis ratios of an N-body halo, characterizing its three-dimensional shape. Parameters control whether only self-bound particles are used, the maximum radius for inclusion, and the number of bootstrap resamples.
Parameters
[selfBoundParticlesOnly](boolean) — If true, the maximum velocity is computed only for self-bound particles[bootstrapSampleCount](integer; default30_c_size_t) — The number of bootstrap resamples of the particles that should be used.[radiusMaximum](real) — The maximum radius (relative to the position of the most-bound particle) to include when computing the inertia tensor.
nbodyOperatorMassFunction¶
An N-body data operator which computes the halo mass function from N-body simulation data, binning halos logarithmically in mass. Parameters specify the minimum and maximum halo mass, the number of bins per decade, and metadata such as a description, reference, and URL for the simulation.
Methods
tabulate— Tabulate the virial density contrast as a function of mass and time.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
Parameters
[massMinimum](real) — The minimum halo mass (in \(\mathrm{M}_\odot\)) below which halos are excluded from the mass function histogram.[massMaximum](real) — The maximum halo mass (in \(\mathrm{M}_\odot\)) above which halos are excluded from the mass function histogram.[massCountPerDecade](integer) — The number of logarithmic bins per decade of halo mass used when constructing the halo mass function.[description](string) — A human-readable description of this mass function dataset, stored as metadata in the output file.[simulationReference](string) — A bibliographic reference for the N-body simulation from which this mass function is derived, stored as metadata.[simulationURL](string) — A URL pointing to the publicly accessible dataset or documentation for the N-body simulation, stored as metadata.
nbodyOperatorMassFunctionCorrelation¶
An N-body data operator which computes correlations between mass functions at different redshifts.
Methods
correlationLength— Return the current correlation length in the chains.correlationLengthCompute— Compute correlation lengths in the chains.postConvergenceCorrelationCount— Return the number of post-convergence correlation lengths that have accrued.
Parameters
[missingRootHalosAreFatal](boolean; default.true.) — If true, if a hosted root halo is not found then a fatal error occurs. Otherwise, such cases are ignored and will not contribute to the halo mass function.[massMinimum](real) — The minimum mass to consider counts.[massMaximum](real) — The maximum mass to consider.[massCountPerDecade](integer) — The number of bins per decade of mass.[countBootstraps](integer) — The number of bootstrap samples to perform.[description](string) — A description of this mass function.[simulationReference](string) — A reference for the simulation.[simulationURL](string) — A URL for the simulation.
nbodyOperatorMassTotal¶
An N-body data operator which computes the total mass of particles.
nbodyOperatorMeanPosition¶
An N-body data operator which computes the mass-weighted mean position and mean velocity of particles within an N-body halo. The selfBoundOnly parameter restricts the calculation to self-bound particles, and bootstrapSampleCount controls the number of bootstrap resamples for error estimation.
Parameters
[selfBoundParticlesOnly](boolean) — If true, the mean position and velocity are computed only for self-bound particles[bootstrapSampleCount](integer; default30_c_size_t) — The number of bootstrap resamples of the particles that should be used.
nbodyOperatorMergerRates¶
An N-body data operator which computes halo–halo merger rates from N-body simulation snapshots. Parameters control the snapshot index, primary and secondary halo mass ranges, whether to consider only always-isolated halos, and an optional suffix for labeling multiple merger rate outputs.
Parameters
[indexSnapshot](integer) — The snapshot index of the descendant epoch at which halo mergers are identified; progenitors from the immediately preceding snapshot are matched to descendants at this epoch.[massMinimum](real) — The minimum mass (of the secondary halo) for which to accumulate merging statistics.[massMaximum](real) — The maximum mass (of the secondary halo) for which to accumulate merging statistics.[massHostMinimum](real) — The minimum mass (of the primary halo) for which to accumulate merging statistics.[massHostMaximum](real) — The maximum mass (of the primary halo) for which to accumulate merging statistics.[missingHostIsFatal](boolean; default.true.) — If true, missing host halos are cause for a fatal error. Otherwise they are ignored.[alwaysIsolatedOnly](boolean; default.true.) — If true, only mergers of halos which have been always isolated are considered. Otherwise, all halos are considered.[suffix](string) — A suffix to append to the output merger rate attribute. Useful if you want to write output multiple merger rates.
nbodyOperatorNull¶
A null (no-op) N-body data operator that performs no transformation on the simulation data, used as a default or placeholder in operator pipelines.
(Default implementation)
nbodyOperatorPairCounts¶
An N-body data operator which counts particle pairs in logarithmic bins of physical separation, enabling correlation function measurements. Parameters control the separation range and bin count, particle sampling rate, bootstrap resample count, and whether to compute cross-simulation or within-simulation pair counts.
Parameters
[crossCount](boolean; default.false.) — If true, compute cross-simulation pair counts between the first and all simulations. Otherwise, compute pair counts within each simulation.[bootstrapSampleCount](integer; default30_c_size_t) — The number of bootstrap resamples of the particles that should be used.[bootstrapSampleRate](real; default1.0d0) — The sampling rate for particles.[separationMinimum](real) — The minimum pairwise separation (in the same units as particle positions) of pairs to include when counting and binning particle pairs.[separationMaximum](real) — The maximum pairwise separation (in the same units as particle positions) of pairs to include when counting and binning particle pairs.[separationCount](integer) — The number of bins in separation for pair counts.[includeUnbootstrapped](boolean; default.true.) — If true, include results for the unbootstrapped (i.e. original) sample.
nbodyOperatorPairwiseVelocityStatistics¶
An N-body data operator which computes statistics of pairwise relative velocities between particles in bins of physical separation, useful for constraining galaxy peculiar velocity fields. Parameters control the separation range, redshift, Hubble flow correction, sampling rate, and bootstrap resample count.
Parameters
[crossCount](boolean; default.false.) — If true, compute cross-simulation pairwise velocity statistics between the first and all simulations. Otherwise, compute pairwise velocity statistics within each simulation.[addHubbleFlow](boolean; default.false.) — If true, add the Hubble flow contribution \(H(z)\,\mathbf{r}\) to each particle velocity before computing pairwise statistics, converting peculiar velocities to total line-of-sight velocities.[redshift](real; default0.0d0) — The redshift at which to evaluate the Hubble flow when adding the Hubble flow correction to particle velocities.[bootstrapSampleCount](integer; default30_c_size_t) — The number of bootstrap resamples of the particles that should be used.[bootstrapSampleRate](real; default1.0d0) — The fraction of particles to sample randomly at each bootstrap iteration, between 0 and 1; values less than 1 reduce computational cost at the expense of statistical precision.[separationMinimum](real) — The minimum separation to consider for pairwise velocity statistics.[separationMaximum](real) — The maximum separation to consider for pairwise velocity statistics.[separationCount](integer) — The number of bins in separation for pairwise velocity statistics.[includeUnbootstrapped](boolean; default.true.) — If true, include results for the unbootstrapped (i.e. original) sample.
nbodyOperatorPhysicalToComoving¶
An N-body data operator which converts physical to comoving coordinates.
nbodyOperatorPotentialEnergy¶
An N-body data operator which computes the gravitational potential energy of each particle in an N-body halo using a tree-based algorithm. Parameters control whether only self-bound particles contribute, the tree opening-angle criterion, particle sampling rate, and bootstrap resample count.
Parameters
[selfBoundParticlesOnly](boolean) — If true, the gravitational potential is computed only from self-bound particles.[bootstrapSampleCount](integer; default30_c_size_t) — The number of bootstrap resamples of the particles that should be used.[bootstrapSampleRate](real; default1.0d0) — The sampling rate for particles.[thetaTolerance](real; default0.5d0) — The Barnes-Hut opening-angle tolerance \(\theta\); cells subtending an angle smaller than \(\theta\) at a particle are treated as point masses, trading accuracy for speed.
nbodyOperatorProgenitorMassFunction¶
An N-body data operator which computes the progenitor mass function by tabulating mass ratios of progenitor halos relative to their parent halos in logarithmic bins. Parameters specify the parent and progenitor mass ranges, bin counts per decade, the snapshot indices for parent and progenitor selection, and simulation metadata.
Parameters
[massParentMinimum](real) — The minimum halo mass (in \(\mathrm{M}_\odot\)) of parent halos to include in the progenitor mass function calculation.[massParentMaximum](real) — The maximum halo mass (in \(\mathrm{M}_\odot\)) of parent halos to include in the progenitor mass function calculation.[massParentCountPerDecade](integer) — The number of logarithmic bins per decade of parent halo mass used when tabulating the progenitor mass function.[massRatioProgenitorMinimum](real) — The minimum progenitor-to-parent mass ratio to include when binning the progenitor mass function.[massRatioProgenitorMaximum](real) — The maximum progenitor-to-parent mass ratio to include when binning the progenitor mass function.[massRatioProgenitorCountPerDecade](integer) — The number of logarithmic bins per decade of progenitor-to-parent mass ratio used when tabulating the progenitor mass function.[snapshotParents](integer) — The snapshot index identifying the epoch at which parent halos are selected for the progenitor mass function.[snapshotsProgenitors](integer) — An array of snapshot indices identifying the epochs at which progenitor halos are selected and matched to parent halos in the progenitor mass function.[description](string) — A description of this mass function.[simulationReference](string) — A reference for the simulation.[simulationURL](string) — A URL for the simulation.
nbodyOperatorProgenitorOrderStatistics¶
An N-body data operator which computes progenitor halo order statistics.
Parameters
[massParentMinimum](real) — The minimum parent mass to consider.[massParentMaximum](real) — The maximum parent mass to consider.[massParentCountPerDecade](integer) — The number of bins per decade of parent mass.[massRatioProgenitorMinimum](real) — The minimum mass ratio to consider.[massRatioProgenitorMaximum](real) — The maximum mass ratio to consider.[massRatioProgenitorCountPerDecade](integer) — The number of bins per decade of mass ratio.[snapshotParents](integer) — The snapshot at which to select parent halos.[orderMaximum](integer) — The maximum order for which to compute the distribution.[snapshotsProgenitors](integer) — The snapshots at which to select progenitor halos.[description](string) — A description of this mass function.[simulationReference](string) — A reference for the simulation.[simulationURL](string) — A URL for the simulation.
nbodyOperatorRotationCurve¶
An N-body data operator which computes the circular velocity rotation curve of an N-body halo by summing enclosed particle mass at a set of user-specified radii. Parameters specify the radii at which the rotation curve is evaluated, whether to restrict to self-bound particles, and the bootstrap resample count.
Parameters
[selfBoundParticlesOnly](boolean) — If true, the mean position and velocity are computed only for self-bound particles.[radius](real) — An array of galactocentric radii (in the same units as particle positions) at which the circular velocity rotation curve will be evaluated.[bootstrapSampleCount](integer; default30_c_size_t) — The number of bootstrap resamples of the particles that should be used.
nbodyOperatorSelectProperties¶
An N-body data operator which filters N-body particles by retaining only those whose named integer property matches one of a user-supplied list of allowed values, enabling selection of subsets such as particles belonging to specific halos or simulation runs.
Parameters
[propertyName](string) — The name of the integer particle property whose values will be compared against the allowed list to determine which particles to retain.[selectedValues](integer) — A list of integer values of the named property that a particle must match to be retained; particles whose property value is not in this list are removed.
nbodyOperatorSelfBound¶
An N-body data operator which iteratively determines the gravitationally self-bound subset of particles within an N-body halo. Parameters control convergence tolerance, the minimum number of representative particles, the sampling rate, the bound fraction used to compute the halo center, and how prior-snapshot binding information is used.
Methods
tabulate— Tabulate the virial density contrast as a function of mass and time.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
Parameters
[bootstrapSampleCount](integer; default30_c_size_t) — The number of bootstrap resamples of the particles that should be used.[representativeMinimumCount](integer; default10_c_size_t) — Minimum number of representative particles used to compute the center of a halo.[tolerance](real; default1.0d-2) — The tolerance in the summed weight of bound particles which must be attained to declare convergence.[bootstrapSampleRate](real; default1.0d0) — The sampling rate for particles.[representativeFraction](real; default0.05d0) — Fraction of bound particles used to compute the center of a halo.[analyzeAllParticles](boolean; default.true.) — If true, all particles are assumed to be self-bound at the beginning of the analysis. Unbound particles at previous times are allowed to become bound in the current snapshot. If false and the self-bound information from the previous snapshot is available, only the particles that are self-bound at the previous snapshot are assumed to be bound at the beginning of the analysis.[useVelocityMostBound](boolean; default.false.) — If true, the velocity of the most bound particle in velocity space is used as the representative velocity of the satellite. If false, use the mass weighted mean velocity (center-of-mass velocity) of self-bound particles instead.
nbodyOperatorSelfBoundBarnesHut¶
An N-body data operator which determines the subset of particles that are self-bound. The potential is computed using a tree method following Barnes and Hut (1986).
Parameters
[thetaTolerance](real; default0.5d0) — The Barnes-Hut opening-angle tolerance \(\theta\); cells subtending an angle smaller than \(\theta\) at a particle are treated as point masses, trading accuracy for speed.[bootstrapSampleCount](integer; default30_c_size_t) — The number of bootstrap resamples of the particles that should be used. (inherited fromnbodyOperatorSelfBound)[representativeMinimumCount](integer; default10_c_size_t) — Minimum number of representative particles used to compute the center of a halo. (inherited fromnbodyOperatorSelfBound)[tolerance](real; default1.0d-2) — The tolerance in the summed weight of bound particles which must be attained to declare convergence. (inherited fromnbodyOperatorSelfBound)[bootstrapSampleRate](real; default1.0d0) — The sampling rate for particles. (inherited fromnbodyOperatorSelfBound)[representativeFraction](real; default0.05d0) — Fraction of bound particles used to compute the center of a halo. (inherited fromnbodyOperatorSelfBound)[analyzeAllParticles](boolean; default.true.) — If true, all particles are assumed to be self-bound at the beginning of the analysis. Unbound particles at previous times are allowed to become bound in the current snapshot. If false and the self-bound information from the previous snapshot is available, only the particles that are self-bound at the previous snapshot are assumed to be bound at the beginning of the analysis. (inherited fromnbodyOperatorSelfBound)[useVelocityMostBound](boolean; default.false.) — If true, the velocity of the most bound particle in velocity space is used as the representative velocity of the satellite. If false, use the mass weighted mean velocity (center-of-mass velocity) of self-bound particles instead. (inherited fromnbodyOperatorSelfBound)
nbodyOperatorSelfFrictionAcceleration¶
An N-body data operator which determines the acceleration of self-bound particles from unbound ones. The interaction between particles is computed using a tree method following Barnes and Hut (1986).
Parameters
[bootstrapSampleCount](integer; default30_c_size_t) — The number of bootstrap resamples of the particles that should be used.[thetaTolerance](real; default0.5d0) — The Barnes-Hut opening-angle tolerance \(\theta\); cells subtending an angle smaller than \(\theta\) at a particle are treated as point masses, trading accuracy for speed.
nbodyOperatorSequence¶
An N-body data operator which applies a sequence of other operators.
Methods
prepend— Prepend an operator to a sequence of weight operators.
nbodyOperatorSetBoxSize¶
An N-body data operator which assigns or overrides the periodic simulation box size for an N-body data set. This is useful when the box size metadata is absent or incorrect in the original data. The boxSize parameter specifies the side length to apply.
Parameters
[boxSize](real) — The side length of the periodic simulation box to assign to the dataset, in the same units as particle positions.
nbodyOperatorShiftProperty¶
An N-body data operator which shifts values of a property by an integer amount.
Parameters
[propertyName](string) — The name of the integer particle property whose values will be shifted by adding the constantshiftBy.[shiftBy](integer) — The integer constant added to every value of the named property, enabling renumbering or offset corrections for IDs and indices.
nbodyOperatorSimulationSelector¶
An N-body data operator which applies a delegate nbodyOperatorClass to a single element of the simulation array identified by [indexSimulation], leaving all other simulations unchanged.
Parameters
[indexSimulation](integer) — The 1-based index into the simulation array selecting the single simulation dataset to which the delegate operator will be applied.
nbodyOperatorSpinDistributionFunction¶
An N-body data operator which computes the halo spin distribution function by binning halos as a function of dimensionless spin parameter within a specified mass and spin range. Mass limits and binning are set by [massMinimum], [massMaximum], and [massCountPerDecade], spin limits and binning by [spinMinimum], [spinMaximum], and [spinCountPerDecade].
Parameters
[massMinimum](real) — The minimum mass to consider.[massMaximum](real) — The maximum mass to consider.[massCountPerDecade](integer) — The number of logarithmic bins per decade of mass used when constructing the spin distribution function.[spinMinimum](real) — The minimum dimensionless spin parameter below which halos are excluded from the spin distribution function histogram.[spinMaximum](real) — The maximum dimensionless spin parameter above which halos are excluded from the spin distribution function histogram.[spinCountPerDecade](integer) — The number of logarithmic bins per decade of spin parameter used when constructing the spin distribution function.[description](string) — A human-readable description of this spin distribution function dataset, stored as metadata in the output file.[simulationReference](string) — A bibliographic reference for the N-body simulation from which this spin distribution is derived, stored as output metadata.[simulationURL](string) — A URL pointing to the publicly accessible dataset or documentation for the N-body simulation, stored as output metadata.
nbodyOperatorSubhaloMassFunction¶
An N-body data operator which computes subhalo mass functions.
Methods
finalizeAnalysis— Finalize analysis.
Parameters
[massHost](real) — The mass of the host halo.[massRatioMinimum](real) — The minimum mass ratio to consider.[massRatioMaximum](real) — The maximum mass ratio to consider.[massCountPerDecade](integer) — The number of bins per decade of mass ratio.[description](string) — A description of this subhalo mass function.[simulationReference](string) — A reference for the simulation.[simulationURL](string) — A URL for the simulation.
nbodyOperatorSubhaloRadiusFunction¶
An N-body data operator which computes subhalo radial distribution functions.
Parameters
[massMinimum](real) — The minimum subhalo mass to include.[radiusVirialHost](real) — The virial radius of the host halo.[radiusRatioMinimum](real) — The minimum radius ratio to consider.[radiusRatioMaximum](real) — The maximum radius ratio to consider.[radiusCountPerDecade](integer) — The number of bins per decade of radius ratio.[description](string) — A description of this subhalo radial distribution function.[simulationReference](string) — A reference for the simulation.[simulationURL](string) — A URL for the simulation.
nbodyOperatorSubhaloVelocityMaximumMeanFunction¶
An N-body data operator which computes the mean subhalo \(V_\mathrm{max}\) as a function of subhalo mass.
Parameters
[massMinimum](real) — The minimum mass to consider.[massMaximum](real) — The maximum mass to consider.[massCountPerDecade](integer) — The number of bins per decade of mass.[description](string) — A description of this subhalo mass function.[simulationReference](string) — A reference for the simulation.[simulationURL](string) — A URL for the simulation.
nbodyOperatorSubsample¶
An N-body data operator which filters out particles based on a property range.
Parameters
[rate](real; > 0.0, ≤ 1.0) — The probability (between 0 and 1) that each particle is retained; particles are drawn independently from a uniform distribution to achieve the target subsampling fraction.
nbodyOperatorTimeFormation¶
An N-body data operator which computes progenitor halo order statistics.
Parameters
[massParentMinimum](real) — The minimum parent mass to consider.[massParentMaximum](real) — The maximum parent mass to consider.[massParentCountPerDecade](integer) — The number of bins per decade of parent mass.[redshiftFormationMinimum](real) — The minimum formation redshift to consider.[redshiftFormationMaximum](real) — The maximum formation redshift to consider.[redshiftFormationCountPerUnit](integer) — The number of bins per unit of formation redshift.[snapshotParents](integer) — The snapshot at which to select parent halos.[fractionFormation](real) — The mass fraction used to define the formation epoch.[description](string) — A description of this mass function.[simulationReference](string) — A reference for the simulation.[simulationURL](string) — A URL for the simulation.
nbodyOperatorTimeLastMajorMerger¶
An N-body data operator which computes the time of the last major merger.
Parameters
[massParentMinimum](real) — The minimum parent mass to consider.[massParentMaximum](real) — The maximum parent mass to consider.[massParentCountPerDecade](integer) — The number of bins per decade of parent mass.[redshiftMergerMinimum](real) — The minimum merger redshift to consider.[redshiftMergerMaximum](real) — The maximum merger redshift to consider.[redshiftMergerCountPerUnit](integer) — The number of bins per unit of merger redshift.[snapshotParents](integer) — The snapshot at which to select parent halos.[ratioMajor](real) — The mass ratio used to define a major merger.[description](string) — A description of this mass function.[simulationReference](string) — A reference for the simulation.[simulationURL](string) — A URL for the simulation.
nbodyOperatorTimeOfFormation¶
An N-body data operator which computes formation times of halos.
Parameters
[fractionFormation](real) — The mass fraction used to define the formation epoch.
nbodyOperatorTimeSinceFormationFractional¶
An N-body data operator which computes and stores the time since formation as a fraction of crossing time for halos.
nbodyOperatorVelocityDispersion¶
An N-body data operator which computes the rotation curve at a set of given radii.
Parameters
[selfBoundParticlesOnly](boolean) — If true, the velocity dispersion is computed only for self-bound particles.[radiusInner](real) — Inner radii of spherical shells within which the velocity dispersion should be computed.[radiusOuter](real) — Outer radii of spherical shells within which the velocity dispersion should be computed.[bootstrapSampleCount](integer; default30_c_size_t) — The number of bootstrap resamples of the particles that should be used.
nbodyOperatorVirialCrossingOrbitStatistics¶
An N-body data operator which computes statistics of particle pairs on virial-crossing orbits, binning pairs as a function of radial velocity (in virial units) and pairwise separation (in virial radii). This is used to characterize the infall kinematics around dark matter halos. Parameters control the velocity and separation ranges, redshift, Hubble flow correction, velocity outlier cut, sampling rate, and bootstrap resample count.
Parameters
[crossCount](boolean; default.false.) — If true, compute cross-simulation virial crossing orbit statistics between the first and all simulations. Otherwise, compute virial crossing orbit statistics within each simulation.[addHubbleFlow](boolean; default.false.) — If true, add the Hubble flow contribution \(H(z)\,\mathbf{r}\) to each particle velocity before computing virial crossing orbit statistics, converting peculiar velocities to total line-of-sight velocities.[redshift](real; default0.0d0) — The redshift at which to evaluate the Hubble flow when adding the Hubble flow correction to particle velocities.[bootstrapSampleCount](integer; default30_c_size_t) — The number of bootstrap resamples of the particles that should be used.[bootstrapSampleRate](real; default1.0d0) — The fraction of particles to sample randomly at each bootstrap iteration, between 0 and 1; values less than 1 reduce computational cost at the expense of statistical precision.[velocityMinimum](real) — The minimum velocity to consider for virial crossing orbit statistics.[velocityMaximum](real) — The maximum velocity to consider for virial crossing orbit statistics.[velocityCount](integer) — The number of bins in separation for virial crossing orbit statistics.[separationMinimum](real) — The minimum separation (in units of virial radii) to consider for virial crossing orbit statistics.[separationMaximum](real) — The maximum separation (in units of virial radii) to consider for virial crossing orbit statistics.[includeUnbootstrapped](boolean; default.true.) — If true, include results for the unbootstrapped (i.e. original) sample.[velocityCut](real; defaulthuge(0.0d0)) — Pairs with (radial or tangential) velocities in excess of this value (in virial units) are cut from the sample.