pyfracval.cca.pairing#
Pair generation and Gamma_pc calculation for CCA.
Mixed into pyfracval.cca.aggregator.CCAggregator - these methods
assume self carries the CCAggregator instance state (coords, radii,
i_orden, df, kf, etc.), set up in CCAggregator.__init__.
Module Contents#
- pyfracval.cca.pairing.cluster_surface_reach(r_max, radii)[source]#
Furthest a cluster’s particle surface reaches from its centre of mass.
The pairing gate must compare Gamma against this, not against
r_maxalone.r_maxis the distance to the furthest particle’s centre; a placement only needs the two clusters’ surfaces to touch, which buys another particle radius on each side.The difference is negligible for a 500-particle cluster (~14%) and decisive for a 3-particle one, where the radii are a large fraction of the whole reach. Screening on
r_maxtherefore discarded pairs that were perfectly placeable: measured at sigma=1.0, Df=1.4, N=8, Gamma=5.50 against r_max sum 4.02 (rejected) but surface reach 6.02 (feasible). Those cells simply never generated.This also makes the screen consistent with the candidate test it gates, which already works in surface terms - paper Eq. 10 is
D_i1+ + D_j2+ >= GammawithD+ = d + r.