|
chombo-discharge
|
One candidate merge edge: a single particle's own nearest-neighbor query result. More...
#include <CD_NearestNeighborParticleMerge.H>
Public Attributes | |
| Real | distanceSquared |
| Squared distance between the query particle and its candidate. | |
| ParticleID | queryID |
| Global id of the query particle (always locally valid/owned – ghosts never initiate a query). | |
| ParticleID | candidateID |
| Global id of the candidate (query's nearest neighbor). May be a local valid particle (same patch) or a ghost. | |
| bool | candidateIsLocal |
| True iff the candidate is a locally-valid particle in the SAME patch as the query (i.e. not a ghost). Note this is NOT sufficient on its own to decide trivial-tier eligibility – see Realm::m_particleGhostExposure: a same-patch candidate can still require the propose/judge/verdict protocol if either participant is boundary-exposed. | |
| std::vector< NNFallbackCandidate > | fallbackCandidates |
| Next-nearest candidates beyond candidateID, in ascending distanceSquared order. | |
One candidate merge edge: a single particle's own nearest-neighbor query result.
Produced once per over-threshold, unconsumed valid particle by findNearestNeighborCandidates() – exactly one edge per query particle, its single nearest neighbor among {this patch's own other valid particles} union {every ghost}. Distance is carried explicitly (never recomputed downstream) so trivial-tier resolution and the judge apply the same "closest-first, with a deterministic id tiebreak on exact ties" ordering.
| Packed | See MergeParticle. |
| std::vector<NNFallbackCandidate> ParticleManagement::detail::NNMergeEdge< Packed >::fallbackCandidates |
Next-nearest candidates beyond candidateID, in ascending distanceSquared order.
Empty unless a_maxFallbackCandidates > 0 was passed to findNearestNeighborCandidates(); size at most a_maxFallbackCandidates. resolveTrivialTier() tries these in order when candidateID is blocked (stale, busy, exposed, a ghost, or too far), without re-querying the spatial index. Content is a generation-time snapshot; a candidate's validity is rechecked against a_consumedIDs/a_hasOutgoingCommitment when it is actually tried.