Face-Centered Cubic Vacuum from Discrete Entanglement Networks

Million-Node Simulations of K = 12 Growth
in the Selection-Stitch Model: Why the Stacking
Is FCC and Which Voids Trap Matter
Raghu Kulkarni
SSMTheory Group, IDrive Inc., Calabasas, CA 91302, USA
raghu@idrive.com
Abstract
The Selection-Stitch Model (SSM) treats space as a network of unit-length bonds. The network
grows one node at a time into a face-centred cubic (FCC) crystal with coordination K = 12.
Two rules drive the growth. Stitch extends a triangle within its own plane. Lift places a node
above a triangle. The SSM identifies matter and antimatter with nodes left over from an earlier,
disordered phase and trapped in the crystal’s two kinds of tetrahedral void. Growth in one
direction could favour one kind, and so favour matter over antimatter. We test these ideas in
664 simulations of up to 10
6
nodes. We grow clusters from a three-node seed. We also grow
patches upward from a flat sheet, to represent regions far from the seed.
The rules produce FCC, with about 98% of interior nodes in FCC order at 10
6
nodes. We
show why. Stitch reflects a corner of a triangle through the midpoint of the opposite edge. FCC
is the only close-packed stacking that this reflection maps onto itself, so only lift can create
other stackings. The lift rate follows from geometry, at about 4.5% of the stitch rate for a
5% bond tolerance, with no tuning. In a growing patch, the two kinds of void occur in equal
numbers. If leftover nodes settle onto the growing surface, they are captured only in voids that
point along the growth direction. None of 2,400 ended in the other kind. New sheets start at
the edges of existing ones, and this passes the stacking order from sheet to sheet. Mirror-image
stacking domains form, and one wins at random. The growth does not pass through the global
K = 4 stage that the SSM posits. Keywords: crystal growth; face-centred cubic; stacking
selection; twin domains; discrete space; Selection-Stitch Model
1 Introduction
The Selection-Stitch Model (SSM) proposes that space is a discrete network that crystallizes into
the face-centred cubic (FCC) lattice [1, 2]. Its nodes are joined by bonds of a single length L,
which the SSM identifies with entangled (Bell) pairs. Two operators grow the network. Stitch
adds a node in the plane of an existing triangle. Lift adds a node above or below a triangle, at
the apex of a regular tetrahedron. FCC and hexagonal close packing (hcp) both reach the kissing
number K = 12 and the Kepler packing bound [3]. Packing alone does not decide between them.
For hard spheres the two differ in free energy by only about 10
−3
kT per particle [10], and grown
crystals often show random stacking [11]. This paper shows why the SSM rules select FCC.
Far from the point where growth began, a region of the crystal grows in nearly one direction.
We call such a region a patch. Its growth front is flat on a local scale and moves one way. In
FCC each node sits between two kinds of tetrahedral void, whose tips point in opposite directions
along a stacking axis. In a patch these two kinds differ: one points along the growth direction
ˆg, and the other points against it. In the SSM, a remnant node of an earlier K = 4 phase
trapped in a tetrahedral void is a baryon, and the two void orientations correspond to matter and
antimatter [1]. Ref. [1] attributes the observed excess of matter to a local excess of one orientation.
1
Suppose remnants that settle on the growing surface could be trapped in only one kind of void.
Then a patch would hold matter but no antimatter.
Relation to previous work. Ref. [1] reported a smaller simulation of the same rules. It
reached a few thousand nodes and judged structure by coordination number. This paper extends
it in scale and in structural detail. It also adds simulations of patches, modelled as periodic slabs
grown upward from a complete flat sheet. Where our results differ from [1], we say so in place.
We ask six questions. Do the rules produce FCC, and not only 12-fold coordination? What sets
the lift rate? How does a patch grow? Is the void population biased along the growth direction?
Where are remnant nodes trapped? Why is the stacking ABC? The simulation is classical geometry.
Bonds are distance constraints, and no quantum state is evolved. The Bell-pair picture motivates
the unit-length rule and the bond condition of Section 2.4. We do not test it here.
Section 2 states the model, and Section 3 derives the lift rate. Section 4 gives the methods.
Section 5 covers growth from a seed, and Section 6 covers patches. Section 7 tests robustness,
and Section 8 discusses the results. Two interactive 3D views go with the paper and can be read
alongside it. A growth viewer replays both kinds of growth node by node, using the same rules and
parameters as this paper: https://raghu91302.github.io/ssmtheory/lattice_growth.html.
A second view shows, step by step, how a new sheet starts at a step edge: https://raghu91302.
github.io/ssmtheory/step_edge_sheet.html.
2 Model
The model rests on five rules: unit-length bonds, two growth operators, hard-shell exclusion,
proximity bonding and a unit-bond condition (Section 2.4), which all slab runs use. Lengths are
in units of L = 1.
2.1 Bonds and initial conditions
Every bond is a Bell-pair bond of length L. A cluster starts from three nodes joined by three
bonds, which form an equilateral triangle of side L. A slab starts from one complete close-packed
sheet, periodic in x and y (Section 2.6).
2.2 Growth operators
Every triangle offers five growth sites. Stitch offers three, one per edge. It places a node in the
plane of the triangle, across that edge, on the side away from the third corner, at distance (
√
3/2)L
from the edge midpoint. Lift offers two. It places a node on the normal through the centroid, at
the tetrahedral height
h =
p
2/3 L ≈ 0.8165 L, (1)
one above the triangle and one below (Fig. 1a). A candidate is rejected if any node lies closer
than the exclusion radius r
ex
(0.95L by default). An accepted node bonds to every node within
r
b
(1.05L by default). Together these defaults set the bond tolerance, δ = 0.05. New bonds make
new triangles, and these add new sites.
A triangle lies either within a sheet or between two neighbouring sheets. A between-sheet
triangle has two corners in one sheet and one in the next. Such triangles are faces of the tetrahedra
and octahedra between sheets. They lie in the inclined close-packed planes of the crystal. Stitch
and lift act on both kinds, and every sheet stays flat. The step-edge view (Section 1) shows these
triangles in 3D.
2
stitch
top view
a
lift (+)
lift ( )
p
2
/
3
L
side view
0.000 0.025 0.050 0.075 0.100
bond tolerance
δ
0.00
0.02
0.04
0.06
0.08
0.10
P
lift
/P
stitch
(both directions)
e
−
3
(earlier value)
b
Regge-closure range of
(2
p
2
/π
)
δ
exclusive form
r/
(1
−
r
)
Monte Carlo
Figure 1: Growth operators and the lift rate. (a) Stitch places a node in the plane of a triangle across one
edge (top view); lift places a node at height
p
2/3 L above or below the centroid (side view, triangle edge-on).
(b) Ratio of lift to stitch acceptance volumes against bond tolerance δ, both lift directions: leading-order
result (2
√
2/π)δ (solid), exclusive form r/(1 − r) (dotted) and Monte Carlo integration (4 × 10
7
points per
value). The shaded band is the range of δ set by closing the Regge deficit; the dashed line is the earlier
assignment e
−3
.
2.3 Kinetics
Sites are drawn at random by weight. Each stitch site has weight 1, and each lift site has weight w
per direction. At each step, lift is chosen with probability proportional to w times the number of
open lift sites, and stitch otherwise. A site of the chosen kind is then picked uniformly. Section 3
derives w = (
√
2/π)δ ≈ 0.0225 for a bond tolerance δ = 0.05. Nodes never move, and exclusion
only grows. So a blocked site stays blocked, and a used site is filled. Each site is tried once and
then removed. For comparison with earlier work, we also use a legacy rule, in which each step
picks lift with a fixed probability p whenever a lift site is available. In both schemes a node’s index
equals its creation time. The first t nodes are thus the exact state of the cluster at time t. A
cluster stops at N nodes, and a slab stops after a set number of layers’ worth of nodes.
2.4 Unit-bond condition
After placement, a node with three or more bonds is moved to make its bonds as close to L as
possible. It minimises
E(x) =
X
j
|x − p
j
| − L
2
(2)
over its bonded partners p
j
, using four Gauss–Newton steps. The move is undone if it exceeds
0.02L or breaks exclusion or bonding. This is the direct reading of the rule that every bond has
length L. It is also needed for stability. Without it, position errors grow by about 30% per layer
(Appendix A). The slab results of Section 6 use it, and the cluster results of Section 5 do not.
Section 7 shows that this changes them only slightly.
2.5 Lift orientation
We study three lift orientations. With both, every triangle offers a lift above and a lift below. With
axis, a triangle offers only the lift on the side whose normal points toward +z (both, if the triangle
3
is vertical). This is one global lift orientation. With radial, a triangle offers only the lift that faces
away from the seed.
2.6 Two growth geometries
A cluster models the start of growth. The crystal grows outward from a seed in every direction,
and sheets form both above and below the seed plane.
A slab models a patch far from the seed. There the growth front is so large that it is flat on
a local scale. It moves in one direction, with crystal behind it and empty space ahead. In the
SSM, the observable universe would be such a patch. The slab’s starting sheet, at z = 0, is the
crystal already grown. No node may be placed below it, and it offers lifts only upward. The slab is
periodic in x and y, with an n
x
×n
y
rectangular cell of a close-packed sheet (n
y
even). Its periodic
sides stand for a front much wider than the patch.
The growth viewer (Section 1) shows both geometries node by node. The simulations test
growth geometry in each case. They do not test whether our universe is such a patch.
3 The lift rate from tolerance volumes
Lift is rare because it must meet one more distance condition than stitch. Each extra condition
costs one factor of the bond tolerance δ. Earlier work fixed a per-step lift probability P
lift
= e
−3
[1].
Here we derive the rate.
3.1 Acceptance volumes
A bond is accepted if its length lies within L(1 ± δ). So a new node has a small volume of
acceptable positions. We take each operator’s weight to be proportional to that volume. This
assumes that every position near the front is equally likely to be tried, and the derivation rests on
that assumption.
The scaling follows from the shapes. Points at distance L from one node form a thin shell.
Two shells, as in stitch, meet in a thin ring. The ring is long and thin only in cross-section, so
its volume scales as δ
2
. Three shells, as in lift, meet in two small blobs. These are thin in every
direction, so their volume scales as δ
3
. The ratio is therefore linear in δ. The calculation below
gives the prefactor.
A stitch needs unit distance to both ends of an edge. Two shells of radius L and thickness 2δL,
with centres L apart, meet in a thin torus. The torus runs around a circle of radius (
√
3/2)L. The
shell normals meet at 60
◦
there, so the cross-section is a parallelogram of area (2δL)
2
/ sin 60
◦
. To
leading order,
V
stitch
= 2π ·
√
3
2
L ·
(2δL)
2
sin 60
◦
= 8π δ
2
L
3
. (3)
A lift needs unit distance to all three corners of a triangle. Three shells meet in two small paral-
lelepipeds, one above and one below. Each has volume (2δL)
3
divided by the determinant of the
three unit normals. For a regular tetrahedron that determinant is 1/
√
2. Counting both directions,
V
lift
= 2 × 8
√
2 δ
3
L
3
= 16
√
2 δ
3
L
3
,
P
lift
P
stitch
=
V
lift
V
stitch
=
2
√
2
π
δ ≈ 0.90 δ. (4)
Per direction the ratio is (
√
2/π)δ ≈ 0.45δ. The factor of two comes from the two directions. At
δ = 0.05 the ratio is 4.50% for both directions and 2.25% per direction. In the simulation this gives
weight 1 per stitch site and w = (
√
2/π)δ per lift site. The stitch weight counts the whole ring,
although stitch then places the node at the in-plane point on it. Each lift apex is at distance L
from both ends of every edge, so the lift regions lie inside the stitch tori. If stitch means placement
4
with exactly two bonds, the ratio becomes r/(1 − r), with r = (2
√
2/π)δ. This changes 4.50% to
4.71% at δ = 0.05, a change of order δ
2
. The simulations use the first form.
3.2 Monte Carlo check
We sampled 4 × 10
7
random points around a unit triangle. We counted those within tolerance of
two corners (stitch) and of all three (lift); see Table 1 and Fig. 1b. All values agree with theory
within the sampling noise, which is about 2% for the lift counts. The δ = 0.02 row comes from a
separate run.
Table 1: Monte Carlo check of the acceptance volumes (δ = 0.05 unless stated).
Quantity Monte Carlo Theory
Stitch volume, one edge (L
3
) 0.06287 0.06283
Lift volume, above (L
3
) 0.001399 0.001414
Lift volume, below (L
3
) 0.001442 0.001414
Lift volume, both (L
3
) 0.002841 0.002828
Ratio, both directions 0.0452 0.0450
Ratio at δ = 0.02 0.0175 0.0180
3.3 What sets δ
The derivation does not fix δ. One natural scale is the strain needed to close the Regge deficit [4].
Five regular tetrahedra around a shared edge leave a gap of 2π − 5 arccos(1/3) ≈ 0.128 rad.
Stretching the shared edge closes it at 5.2% strain. Stretching the five rim edges closes it at 1.8%,
with less elastic energy. This is a heuristic, not a derivation. The geometry places δ between about
2% and 5%. The lift-to-stitch ratio then lies between about 1.6% and 4.6%.
The weight w is not the share of placements that are lifts. Most lift sites are blocked when
drawn. At w = 0.0225 per direction, only 0.66% of placements are lifts. The legacy setting p = 0.05
gives about 1%. We report the realized lift fraction throughout.
4 Methods
Implementation. The simulator is written in Python and compiled with Numba [9]. Neighbour
search uses a uniform cell grid, periodic in x and y for the slab. Site lists use swap-removal, so each
attempt costs O(1) apart from the local search. A cluster of 10
6
nodes grows in about 20 s on one
core. Runs are deterministic for a given seed, and each node records the triangle it was built on.
A test suite checks the structure classifier on perfect FCC, hcp and icosahedral environments. It
also checks that bond lengths lie in [r
ex
, r
b
), that exclusion holds and that runs reproduce exactly.
Structure classification. We classify each node by common neighbour analysis (CNA) [6, 7],
with cutoff (1 +
√
2)L/2 ≈ 1.207L. A node with 12 neighbours is FCC if all bonds have signature
(4,2,1). It is hcp if six have (4,2,1) and six have (4,2,2), and icosahedral if all have (5,5,5). Any
other node is labelled other. CNA uses geometric neighbours within the cutoff, while tetrahedra
are counted on the bond graph. Positions lie within about 10
−8
L of ideal sites (Section 7), so a
fixed cutoff is safe; results do not change for cutoffs from 1.15L to 1.25L. We also count the bonded
tetrahedra (4-cliques) that contain each node. A node in perfect FCC is in 8, an icosahedral node
in 20, and a neighbour of a single vacancy in 6.
Bulk and depth. A node is bulk if at least 42 nodes lie within 2L, the population of the
first three FCC shells [1]. This test still admits the first layers below a rough surface, so we also
compute depth. Non-bulk nodes have depth 0. A node at depth d lies within 1.2L of a node at
depth d − 1, with d the smallest such value.
5
Slab analysis. The stacking axis z is the substrate’s [111] direction. A node is on-lattice if
its height is within 0.05h of a layer height kh. Its lateral registry is the nearest of the close-packed
positions A, B and C, with the substrate as A. In a layer with k not divisible by 3, an ABC
domain has registry k mod 3, and its mirror twin ACB has (−k) mod 3. The twin imbalance is
|f
ABC
− f
ACB
|/(f
ABC
+ f
ACB
), in bins of 10 layers. Twin fractions count only on-lattice nodes.
A bonded tetrahedron is up if three corners share a layer and the fourth is one layer above. It is
down if the fourth is one layer below. A perfect FCC or hcp crystal has equal numbers of each.
Runs. Table 2 lists the runs. With 8 remnant-trapping slabs (Section 6.5), 2 sheet-formation
slabs (Section 6.6) and 6 lattice-check clusters (Section 6.7), and 24 robustness runs (Section 7),
the study has 664 runs. Uncertainties, where shown, are standard errors over seeds. Methods
specific to Sections 6.5–6.7 are given there.
Table 2: Simulation sets of Sections 5 and 6.1–6.3.
Set Geometry Size Varied Seeds/point Runs
Size scaling cluster, both N = 10
3
–10
6
N (7) 32–4 156
Lift sweep cluster, both N = 10
5
w = 5 × 10
−4
–1 (11) 8 88
Legacy rule cluster, both N = 10
5
p = 0.01–0.4 (6) 8 48
Exclusion sweep cluster, both N = 3 × 10
4
r
ex
= 0.50–1.02L (27) 4 108
Orientation, size cluster, axis/radial N = 10
3
–10
6
N (4) 16–4 88
Orientation, lift cluster, axis N = 10
5
w (11) 8 88
Slab periodic slab, axis/both 32
2
, 48
2
, 64
2
width, orientation 8 48
Total 624
5 Results I: growth from a seed
This section covers clusters grown from the three-node seed. Its runs use the bare rule, without
the unit-bond condition (Section 2.4); Section 7 gives the small effect of adding it.
5.1 The interior is FCC
At N = 10
6
, nodes at depth 4 or more are 98.5–98.7% FCC in every depth shell from 4 to 11.
Their hcp fraction is below 10
−4
, and no icosahedral node appears at any size (Fig. 2a,b). Among
bulk nodes, 94% belong to exactly 8 bonded tetrahedra and 3.4% to 6. Six is the count for a
vacancy neighbour. Each vacancy has twelve neighbours, so this is consistent with about 0.3%
vacant sites. The interior defects therefore look like isolated vacancies rather than stacking faults,
and they show as isolated pockets in Fig. 2a. A vacancy can form in a growth that only adds
nodes: a site is enclosed after every triangle that could have filled it has been used.
5.2 Finite-size scaling
The FCC fraction rises with size (Table 3). The bulk fraction levels off near 94%, because the
42-neighbour test counts the first three layers below the surface. Those layers (depths 1–3) are
69–96% FCC. The depth-resolved value of 98.5% is the better measure of the interior. The non-
FCC fraction over all nodes falls with an effective exponent of 0.23 over N = 10
3
–10
6
(Fig. 2c). A
monolayer surface would give N
−1/3
. The disordered region is thus a few layers thick, as expected
for a rough growth front. Ref. [1] used N
−1/3
.
6
25 0 25
y
(
L
)
40
20
0
20
40
z
(
L
)
a
fcc other hcp
0 5 10
depth below surface (hops)
0.0
0.2
0.4
0.6
0.8
1.0
fraction
b
fcc
hcp × 100
10
3
10
4
10
5
10
6
N
0.4
0.5
0.6
0.7
0.8
0.9
FCC fraction
c
fit
N
−
0
.
23
bulk
all nodes
Figure 2: Growth from a seed. (a) Central cross-section (|x−¯x| < 0.45L) of a 3×10
5
-node cluster coloured
by common neighbour analysis: the interior is FCC, with isolated vacancy pockets and a disordered surface
a few layers thick; hcp is essentially absent. (b) FCC and hcp (×100) fractions against depth below the
surface, N = 10
6
(4 runs). (c) FCC fraction against N for bulk and all nodes, with the fit 1 − f ∝ N
−0.23
.
Table 3: Finite-size scaling. Isotropy is the ratio of smallest to largest eigenvalue of the position covariance.
N Seeds Bulk FCC Bulk hcp All-node FCC Lift fraction Isotropy
10
3
32 0.859 ± 0.011 0.0032 0.419 ± 0.007 0.0082 0.62
3 × 10
3
32 0.892 ± 0.009 0.0024 0.552 ± 0.007 0.0070 0.71
10
4
32 0.914 ± 0.007 0.0021 0.664 ± 0.006 0.0068 0.80
3 × 10
4
32 0.927 ± 0.005 0.0018 0.743 ± 0.005 0.0066 0.86
10
5
16 0.941 ± 0.003 0.0009 0.813 ± 0.004 0.0066 0.91
3 × 10
5
8 0.942 ± 0.004 0.0009 0.849 ± 0.006 0.0066 0.93
10
6
4 0.943 ± 0.005 0.0008 0.877 ± 0.007 0.0066 0.95
5.3 Insensitivity to the lift rate
FCC does not need a tuned lift rate. The bulk FCC fraction is flat at 96–98% for realized lift
fractions below about 0.2%, and it falls steadily above that (Table 4). The legacy rule gives the
same curve against the realized lift fraction (Fig. 3a). Rare lift does not leave disconnected sheets,
contrary to the expectation in [1]. One lift per 10
4
placements still gives 97.5% FCC.
The reason is that stitch acts on every triangle, including the between-sheet triangles that a
lift creates. After a few lifts, growth spreads in three dimensions by stitching on these triangles
(Section 6.6). Lift then has two remaining roles. It rounds the cluster: the isotropy is 0.73 at the
smallest weight and 0.91 at the geometric one. It also creates stacking faults, and the hcp signal
grows with the lift rate.
5.4 Exclusion radius
Results are nearly identical for every r
ex
from 0.58L to 0.98L. Bulk FCC is 0.925–0.929 and
mean coordination is 11.14–11.16 at N = 3 ×10
4
. At r
ex
= 0.54L and 0.56L, no FCC forms and
mean coordination exceeds 12. At 1.00L the FCC fraction falls to 0.77, and at 1.02L no growth
is possible. The lower edge lies between 0.56L and 0.58L. This matches L/
√
3 ≈ 0.577L, the
distance from a triangle’s centroid to its corners. The plateau is flat because candidates almost
never fall at a distance in this range from an existing node. It is a check of the rules, not an
emergent transition. Runs at 0.50L and 0.52L overflowed the triangle buffer and are left out.
7
Table 4: Lift sweep at N = 10
5
, 8 seeds per point.
w (per direction) Realized lift fraction Bulk FCC Bulk hcp Isotropy
0.0005 0.0001 0.975 ± 0.006 0.0001 0.73
0.001 0.0003 0.964 ± 0.007 0.0004 0.79
0.002 0.0006 0.962 ± 0.007 0.0004 0.81
0.005 0.0015 0.971 ± 0.005 0.0002 0.83
0.0113 0.0033 0.940 ± 0.006 0.0017 0.86
0.0225 (δ = 0.05) 0.0066 0.939 ± 0.004 0.0009 0.91
0.045 0.0132 0.893 ± 0.004 0.0020 0.90
0.1 0.0282 0.811 ± 0.006 0.0048 0.89
0.2 0.0554 0.691 ± 0.005 0.0107 0.86
0.5 0.129 0.505 ± 0.004 0.0286 0.82
1.0 0.225 0.370 ± 0.003 0.0576 0.82
10
4
10
3
10
2
10
1
realized lift fraction of placements
0.0
0.2
0.4
0.6
0.8
1.0
bulk fraction
geometric range
a
hcp × 10 (site rule, both)
site rule, both
site rule, one orientation
legacy per-step rule
10
2
10
3
10
4
10
5
10
6
growth time t (nodes placed)
0.0
0.2
0.4
0.6
0.8
1.0
b
bulk fcc fraction
tetrahedra per node / 8 (FCC = 1)
mean K / 12
fraction of nodes with K = 4
Figure 3: (a) Bulk FCC fraction against the realized lift fraction at N = 10
5
for the site-weighted rule
with lift in both directions, with one global orientation, and for the legacy per-step rule; dashed: hcp (×10).
The shaded band is the realized lift fraction for the geometric weight with δ between 2% and 5%. FCC is
best when lift is rarest. (b) Growth history of the N = 10
6
runs: bulk FCC, tetrahedra per node relative
to FCC, mean coordination relative to 12, and the fraction of nodes with K = 4, all against the number of
nodes placed. No tetrahedra-rich stage occurs.
5.5 Growth history: tetrahedral units, but no K = 4 stage
Node index equals creation time, so every earlier state of a run is available exactly. In the four
N = 10
6
runs, all structural measures rise steadily toward their FCC values (Table 5, Fig. 3b).
The tetrahedron count never exceeds the FCC value of 8 per node, and no icosahedral node forms
at any time. Growth thus goes from flat sheets straight to FCC, with no tetrahedra-rich stage.
Locally, every lift makes a tetrahedral unit. The lifted node bonds to the three corners of its
triangle. The four nodes are then all bonded to each other and form the complete graph K
4
. These
units carry growth into three dimensions. In this local sense the tetrahedron is the natural step
between a sheet and the bulk.
This local unit differs from coordination K = 4, which is what K means in this paper. The
new corner of a tetrahedron usually has coordination 3. In one run of N = 10
5
(seed 0, with the
unit-bond condition), 173 of 665 lifted nodes (26%) had 3 bonds when placed, and 58 (9%) had 4.
The rest landed in partly built pockets with 5 to 12 bonds.
8
Nor is coordination 4 a stage that nodes stay in. Bonds are added one at a time, so a node
placed with fewer than 4 bonds must pass through 4 on its way to 12. Only 33% of nodes do so,
since most start with 5 or more bonds. Those that reach K = 4 leave it as fast as any other value
(Table 6). Nodes stay longest at K = 10 and 11, just before they fill up.
Table 5: Growth history of the N = 10
6
runs (4 seeds).
t (nodes placed) Bulk FCC Mean K Tetrahedra per node Fraction with K = 4
30 – 4.80 0.63 0.158
100 0.685 7.32 3.00 0.103
300 0.793 8.63 4.23 0.055
10
3
0.861 9.73 5.38 0.029
10
4
0.913 10.82 6.58 0.014
10
5
0.937 11.39 7.24 0.006
10
6
0.943 11.66 7.56 0.003
Table 6: Median number of placements a node spends at each coordination (nodes in the first half of an
N = 10
5
run).
K 2 3 4 5 6 7 8 9 10 11
Placements at K 526 453 430 410 423 455 496 579 722 1095
5.6 Lift orientation
The three lift orientations grow the same crystal (Table 7). The axis variant is slightly cleaner,
and almost all of the difference comes from its halved lift rate. At equal realized lift fractions the
two give the same structure. Lift in both directions gives 0.939 bulk FCC at 0.66%, and axis gives
0.939 at 0.65% (Fig. 3a). One-sided lift leaves no mark on the cluster’s shape. Under axis lift,
49.8% of nodes lie below the seed plane, and the cluster spans z = −56L to +56L at N = 10
6
.
Stitching on between-sheet triangles extends growth downward as fast as upward.
Table 7: Lift orientation at N = 10
6
.
Orientation Interior FCC (depth ≥ 4) All-node FCC Lift fraction Nodes with 6 tetrahedra
Both 0.985 0.877 0.0066 0.034
Axis (+z only) 0.992 0.896 0.0033 0.023
Radial (outward) 0.985 0.885 0.0061 0.032
6 Results II: a patch of the universe
A patch grows as twinned FCC. The two mirror-image stacking variants start evenly mixed. They
coarsen with height until one dominates, and the winner is random. All slab runs use the unit-bond
condition and w = 0.0225 per direction.
6.1 Overview
Table 8 summarizes the 48 production slabs. Their interior FCC fraction, 0.84–0.92, is below the
cluster value, because twin boundaries leave layers about 91% full and tilted grains lower it further
in some runs.
9
Table 8: Slab runs, 8 seeds per row. A tilted grain appears when the on-lattice fraction in any 10-layer
bin drops below 0.98, and takes over when it averages below 0.5 in the top three bins. Interior FCC counts
layers 2 to two below the top complete layer. For the last column see Section 6.4.
Width Layers Orient. Grain appears Takes over Final imbalance ABC wins Int. FCC (down−up)/total
32
2
600 axis 2 0 1.00 4 0.922 6.5 × 10
−4
32
2
600 both 5 2 0.81 2 0.873 10.1 × 10
−4
48
2
400 axis 2 2 0.75 4 0.868 9.2 × 10
−4
48
2
400 both 3 0 0.85 7 0.884 7.9 × 10
−4
64
2
300 axis 2 1 0.37 6 0.843 9.5 × 10
−4
64
2
300 both 1 1 0.74 4 0.853 11.5 × 10
−4
6.2 Twin domains and their coarsening
The first layer above the substrate places nodes at B and C positions in about equal numbers.
These seed the two twin variants, ABC and ACB. Domain boundaries leave layers about 91% full.
Every third layer is the exception: it is A in both variants and fills completely. Higher up, one
variant slowly takes over (Table 9; Fig. 4a,c). A 32-wide slab becomes a single variant by about
layer 300. Wider slabs take longer. An imbalance of 0.5 is reached near layers 65, 115 and 210 for
widths 32, 48 and 64. This suggests that the height needed grows roughly as width
1.8
, so domains
widen roughly as height
0.55
. An unbounded patch would never become a single variant at finite
height. Instead it forms single-variant domains that keep growing.
The winning variant is random. In the six takeover runs (Section 6.3), the winner is the
variant that dominates the remaining on-lattice nodes at the top. ABC won 27 of 48 runs (56%),
as expected for a fair coin, and lift orientation makes no difference. This follows from symmetry. A
vertical mirror plane swaps ABC and ACB but leaves +z unchanged. So no global lift orientation
can favour either variant.
Table 9: Mean twin imbalance against height, 16 runs per width.
Height (layers) 10 50 80 120 200 300
Width 32 0.23 0.45 0.55 0.77 0.94 1.00
Width 48 0.16 0.30 0.40 0.51 0.62 0.80
Width 64 0.11 0.18 0.23 0.32 0.48 –
6.3 Tilted grains
In 15 of 48 slabs, a grain grew whose close-packed planes are inclined to the substrate. In the case
we examined, it started when a lift on a between-sheet triangle placed a node off the substrate’s
layer heights. The grain then competes with the main crystal. It died out in 9 runs and took over
in 6, which became polycrystalline (Fig. 4b). At this sample size there is no clear effect of lift
orientation. Axis lift gave 6 events and 3 takeovers, and both gave 9 events and 3 takeovers. In
thin-film growth, grains whose fastest growth direction points along the growth direction tend to
win [8]. This is a likely mechanism here too. The nucleation rate and the takeover criterion need
more runs.
6.4 Tetrahedron orientation
In the SSM the two orientations of tetrahedral voids correspond to matter and antimatter [1]. A
front that moves one way makes the two classes distinct, so the void population could carry an
along-growth bias. We measured it directly in the slab, where depth below the front is clear. The
10
0 50 100 150 200 250 300
height (layers)
0
20
40
y
(
L
)
a
twin coarsening (64 × 64, lift both, seed 3)
ABC ACB other registry off-lattice (tilted) substrate
0 50 100 150 200 250 300
height (layers)
0
20
40
y
(
L
)
b
tilted-grain takeover (64 × 64, axis lift, seed 0)
0 200 400 600
height (layers)
0.0
0.2
0.4
0.6
0.8
1.0
twin imbalance
|
f
ABC
−
f
ACB
|
/
(
f
ABC
+
f
ACB
)
c
width 32
width 48
width 64
Figure 4: Growth of a patch. (a, b) Vertical sections (0 ≤ x < 0.9L) through 64 × 64 slabs, coloured by
stacking variant. (a) The two twin variants ABC and ACB start mixed and coarsen until one dominates.
(b) A tilted grain (black, off the substrate’s layer heights) nucleates near layer 150 and takes over. (c) Mean
twin imbalance against height for three slab widths, 16 runs each; shading is the standard error.
bias is confined to the outermost layers (Table 10, Fig. 5b). Below the top two layers there is no
meaningful along-growth bias.
A small residual signal remains. Counted layer pair by layer pair, down tetrahedra exceed
up by about 10
−3
where twin boundaries are present, with a three-layer pattern that tracks the
domains. In single-variant regions (layers 300–400 of 32-wide slabs), an excess of 3.4–5.3 × 10
−4
remains. This is the same signal as the deep bins of Table 10. All seven seeds checked give a
positive excess of similar size, and axis and both lift give the same result, so the excess is tied to
the growth direction rather than the lift orientation. We have not found its cause. It may come
from a defect that forms at the growth front, or from misclassified tetrahedra next to defects. It
should not be read physically until this is settled. In a defect-free FCC crystal the two counts are
equal by symmetry, so any asymmetry must sit in defects.
Table 10: Along-growth void bias (up−down)/total against depth below the outermost complete layer (6
slabs, 32 × 32 × 260, axis lift). Standard errors are 0.001–0.003 in the shallow bins and 0.0001 in the deep
ones.
Depth (gaps) 0–1 2–3 4–5 6–7 8–9 10–11 12–19 20–49 50–99 100–200
Bias +0.017 −0.001 −0.001 +0.002 +0.002 −0.002 0.000 −0.0003 −0.0004 −0.0006
11
6.5 Remnant trapping and matter–antimatter selection
Remnant nodes that settle on a one-way front are never trapped in a tetrahedral void that points
against growth. The void population itself is balanced, so any selection of one void class for matter
must come from trapping. Geometry suggests why. On a flat close-packed surface, a remnant can
rest only in a three-fold hollow, not on top of an atom. The hollows that the next layer covers
become tetrahedral voids whose apex points along the growth direction (Fig. 5a). We tested
whether this holds on rough, realistic fronts.
Model. A remnant is a sphere that must stay at least R =
p
3/8 L ≈ 0.612L from every
lattice node. This is its closest approach inside a void. At a random time t, we drop a remnant at
a random lateral position onto the surface formed by the first t nodes. It settles along −z, against
the growth direction, in small downward steps that push it out of contact, until it comes to rest.
The rest of the growth then runs unchanged, so the remnant acts as a passive tracer. We classify
its final site by the nodes within R + 0.04L. Three below and one above is a tetrahedral void
pointing along growth. One below and three above is a tetrahedral void pointing against growth.
Three below and none above is the open hollow, which becomes the octahedral side. Anything else
is irregular. A later node closer than R − 0.04L would mark a conflict, where the remnant would
have blocked growth.
Validation. On a perfect ABC crystal, we dropped 40 remnants onto the third layer. Of
these, 19 ended in voids along growth and 21 on the octahedral side. None ended against growth,
as the geometry requires.
Results. Each run used a 32 × 32 slab of 150 layers with 300 remnants, with four seeds per
lift orientation (Table 11, Fig. 5c). Of 2,400 remnants, 2,394 came to rest on three contacts in
a hollow, and 6 on two. No conflict occurred, so the passive-tracer approach is consistent. The
two lift orientations give the same result. Rough fronts, steps and twin boundaries produced no
trap pointing against growth. Seven remnants (0.3%) ended with one node below and two above.
This looks like a void pointing against growth with one node missing. We did not examine these
cases one by one. Even counting all seven as against growth, the fraction is at most 0.3%. The
split between along-growth voids (41%) and the octahedral side (59%) differs from the 50/50 of a
perfect surface; we have not analysed why.
Table 11: Final sites of remnant nodes dropped onto one-way slabs.
Lift orientation Remnants Tet., along Octahedral side Tet., against Irregular
Axis 1,200 479 711 0 10
Both 1,200 498 698 0 4
Total 2,400 977 (41%) 1,409 (59%) 0 14 (0.6%)
The result confirms this geometric selection on disordered surfaces. It does not test the premise
behind it. The selection enters through the settling direction, that is, the assumption that remnants
arrive from the growth side and rest on the front. Remnants might instead be overgrown from the
side, move by thermal motion or be captured from below. Whether they settle as assumed is a
physical assumption of the model.
6.6 How new sheets form
New sheets do not start from lifted nodes. They advance from step edges, mostly by stitching on
the triangles that join neighbouring flat sheets. This carries the stacking order from one sheet to
the next.
We followed every new layer in one 32 × 32 and one 64 × 64 slab (99 layers each, axis lift;
Table 12). The front is rough, so it always has step edges where an island of the top sheet ends.
At such an edge, a triangle can have two corners on the island’s edge and one in the sheet below.
12
surface layer, top view
(growth
ˆ
g
out of page)
covered hollow tet. void along
ˆ
g
open hollow octahedral side
atop a surface atom: not held
atom of the next layer (dashed)
0 1
2 3
4 5
6 7
8 9
10 11
12 19
20 49
50 99
100 200
depth below the front (layer gaps)
1.0
0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
along-growth void bias (%)
b
one-way slab (6 runs)
tet.,
along
oct.
side
tet.,
against
irreg.
0
200
400
600
800
remnant nodes
0 of 2,400
c
final site of 2,400 remnant nodes
one lift orientation
lift both directions
a
Figure 5: Void classes and remnant trapping. (a) Top view of a growing (111) surface. A remnant node
can rest in either three-fold hollow but not atop an atom; the hollows that the next layer covers become
tetrahedral voids pointing along the growth direction ˆg, and the others become the octahedral side. (b)
Along-growth bias of the void population against depth below the front in one-way slabs: confined to the
outermost layers. (c) Final sites of 2,400 remnant nodes dropped onto one-way slabs: none ends in a
tetrahedral void pointing against growth.
Stitching it across its top edge puts a node one layer higher, on the island (Fig. 6). That node’s
own triangle is then stitched across its slanted edge. This places the next node one bond along, so
a bonded row grows along the step. Triangles that bridge the row and the island add more rows.
Flat triangles form in the new sheet once two rows meet. New layers thus advance from step edges,
and their first in-sheet triangle appears only after most of the layer is placed. This is step-flow
growth. An interactive version of Fig. 6 is at https://raghu91302.github.io/ssmtheory/step_
edge_sheet.html.
This mechanism explains two earlier results. FCC does not depend on the lift rate (Section 5.3),
because sheets are not made by lifts. And twin domains form because a layer advances from many
step edges at once. Each edge grows on its own, and the regions meet at twin boundaries.
Table 12: How layers start in a growing patch (one slab per width).
32 × 32 64 × 64
Layers whose first node was made by a lift 2% 1%
Lifted nodes per layer ≈ 6 of 1,024 ≈ 24 of 4,096
Placements before the layer’s first in-sheet triangle ≈ 650 (0.6 layer) ≈ 2,900 (0.7 layer)
6.7 Why the stacking is ABC
The geometry of stitch forces the stacking. Stitch is a point inversion, and FCC is the only close-
packed stacking that stays intact under it. So every node placed by stitch lies on a single FCC
lattice, and only lift can create another stacking.
Stitch is a point inversion. For an equilateral triangle with corners a, b and c, the stitch
13
a triangle between two flat sheets b stitch places one node a layer higher
c the next node, one bond along the step
d a second row: flat triangles form
lower sheet upper sheet (island) triangle being stitched new sheet
Figure 6: How a new sheet starts at a step edge. All sheets are flat. (a) At the edge of an island of the
upper sheet, a triangle (amber) has two corners in the upper sheet and one in the lower sheet. (b) Stitching
it across its top edge places a node one layer higher. (c) That node’s own triangle is stitched across its
slanted edge, placing the next node one bond along the step; repeating this lays a bonded row. (d) Triangles
bridging the row and the island add a second row, and the two rows bond into flat triangles of the new
sheet.
apex across edge ab is
x = a + b − c. (5)
This is the corner c reflected through the midpoint of the edge. The simulation places the apex
at (
√
3/2)L from the edge midpoint. For an equilateral triangle this is the same point, and the
unit-bond condition keeps triangles equilateral.
FCC is closed under it. Other stackings are not. FCC is a Bravais lattice, so every node
is a lattice point; hcp is not, as Ref. [1] also notes. For any three nodes, the point a + b −c is then
a lattice point too. Among all stackings of close-packed sheets, ABCABC. . . is the only Bravais
lattice. ABAB. . . (hcp) and all other stackings have more than one node per primitive cell, and
for them a + b − c can fall off the structure. Consider a step edge (Fig. 6a,b), with b
1
and b
2
in
sheet B and a in sheet A below. The new node b
1
+ b
2
− a lies two layers above A. It sits over
the hollow of sheet B that is not above a node of A. This is the C position. ABA would need the
new node directly above a, and no stitch can put it there.
One tetrahedron fixes the lattice. The three edge vectors at a corner of a regular tetra-
hedron are primitive vectors of the FCC lattice. Once a lift makes one tetrahedron, every node
that stitch adds from it lies on that FCC lattice. The stacking along each close-packed direction
is then ABC. It is ACB, the mirror twin, if the first lift went to the other side of its triangle.
Only lift leaves the lattice. Each triangle within a sheet has two lift apices. One is a lattice
site, and the other is the matching site of the mirror twin. A lift on the second side starts a twin
or a stacking fault. A lift on a between-sheet triangle can start a grain with a different orientation.
The two competing hollow positions above a sheet are L/
√
3 apart. With r
ex
> L/
√
3, exclusion
14
lets only one of them be filled. This is the lower edge of the exclusion plateau in Section 5.4.
Consequences. The rule explains three earlier results. The hcp fraction grows with the lift
rate (Section 5.3). A patch grows as twin domains, because its flat starting sheet fits both twins;
each first lift picks one, and stitch then carries it forward. Finally, the exclusion radius must exceed
L/
√
3.
Numerical check. We recorded the triangle each node was built on. We then tested every
placement against the FCC lattice set by the seed triangle and the first lift, in six clusters of
N = 10
5
(Table 13). There were 485,073 stitches built on triangles lying fully on the lattice. All
but 17 (0.004%) landed on the lattice. All 17 were in one high-lift run, and we have not traced
them. Lifts from such triangles left the lattice 20–29% of the time. Raising the lift weight to 0.2
raised these off-lattice lifts about sevenfold and the bulk hcp fraction about eightfold. In seed 2,
a large part of the cluster lies off the seed lattice. It belongs to a twin grain started by an early
off-lattice lift.
Table 13: Placements tested against the seed’s FCC lattice (N = 10
5
).
w Seed On seed lattice Stitches from on-lattice triangles Of these off Lifts on / off Bulk hcp
0.0225 0 0.994 98,761 0 526 / 135 0.0009
0.0225 1 0.989 98,115 0 469 / 163 0.0011
0.0225 2 0.618 47,367 0 229 / 92 0.0018
0.0225 3 0.992 98,567 0 496 / 130 0.0009
0.2 0 0.861 78,678 17 3,464 / 1,163 0.0101
0.2 1 0.745 63,585 0 2,831 / 934 0.0071
7 Robustness
The main results hold across kinetic schemes (below), lift orientations (Sections 5.6 and 6.1), the
unit-bond condition, the structure classifier and the bonding radius. Appendix B compares the
present code with that of [1].
Kinetic scheme. The site-weighted and legacy rules give the same FCC fraction at the same
realized lift fraction, over the full range (Fig. 3a).
Unit-bond condition. We regrew the four N = 10
6
clusters of Section 5 with the condition.
In every seed it lowers the interior (depth ≥ 4) FCC fraction from 98.6% to 98.0%. The mean
bulk FCC fraction changes from 0.943 to 0.939, and bulk hcp from 0.0008 to 0.0011. The effect
is small and systematic, and no conclusion changes. Without the condition, the median error in
bond length grows from 10
−15
at radius 10L to 10
−8
at 60L, far below the 5% tolerance. Clusters
several times larger would need the condition.
Structure classifier. Reclassifying one N = 10
6
cluster with CNA cutoffs of 1.15L, 1.207L
and 1.25L gives identical fractions. At 1.30L the bulk FCC fraction changes only in the fifth
decimal place.
Bonding radius. At N = 3 × 10
4
(4 seeds each, with the unit-bond condition), bulk FCC
is 0.914, 0.915, 0.925 and 0.917 for r
b
= 1.02L, 1.05L, 1.08L and 1.10L. All agree within one
standard error (0.010–0.016).
Not yet tested. A different seed shape, such as a tetrahedron, and a finer r
ex
sweep near
L/
√
3.
15
8 Discussion
What the results show. The SSM rules select FCC over a wide range of settings. Bulk FCC
exceeds 90% for realized lift fractions below about 1%. It holds across the exclusion plateau from
0.58L to 0.98L, for three lift orientations and two kinetic schemes. hcp and icosahedral order are
almost absent. Sequential deposition of hard spheres behaves differently and gives random close
packing with polytetrahedral order [5]. The difference lies in the operators. Stitch and lift place
nodes only at close-packed positions next to an existing triangle, so close packing is built into the
rules. The stacking is not put in by hand, but it is forced. Stitch is a point inversion through a
bond midpoint, and FCC is the only close-packed stacking closed under it. So stitch keeps every
node on one FCC lattice, and only lift can create hcp, twins and misoriented grains (Section 6.7).
The lift rate needs no fitted value. Geometry predicts that lift is suppressed by one power of δ.
This gives a few percent for δ between 2% and 5%, and any rate in that range gives FCC.
What the results do not show. The network as a whole does not pass through a K = 4
phase. Locally, each lift makes a tetrahedral K
4
unit, and these units carry growth into three
dimensions. The tetrahedron is the natural local step between a sheet and the bulk. But coor-
dination 4 is neither common nor lasting. Only a third of nodes ever have it, they leave it as
fast as any other value, and the tetrahedral content never exceeds that of FCC. The sequence
K = 6 → K = 4 → K = 12 holds as a local docking step, not as a global stage. If the SSM
needs a global K = 4 phase, that phase is an assumption about the initial state. A rule set that
produces it would be a separate test, for example lift-first growth or a high early lift rate that falls
off. The value e
−3
has no special status. As a per-step probability it gives about 1% realized lift
and 91% FCC, slightly below the values at rarer lift. The bare rule also cannot keep long-range
order. Position noise ε would destroy order after about ln(δ/ε)/ ln 1.3 layers, or about 15 layers for
ε = 10
−3
. The unit-bond condition is therefore part of the model. It is the most direct form of the
Bell-pair rule in the simulation. More generally, the model is pure geometry. It has no energetics,
no thermal motion and no motion of remnant nodes.
A patch of the universe. A global lift orientation leaves no trace on the crystal. Twin
coarsening, though, provides a spontaneous symmetry-selection mechanism in finite patches. A
patch starts with both mirror variants and develops single-variant domains whose width grows
roughly as height
0.55
. If the SSM gives the two twin variants a physical meaning, this is a way for
large regions to share one variant without a global bias. In [1], the two orientations of tetrahedral
voids stand for matter and antimatter, and the observed excess of matter is attributed to a local
excess of one orientation. They are balanced in any FCC crystal by symmetry, and in the simulation
they are balanced to within about 10
−3
below the outermost layers. So selection of one class for
matter must come from trapping. On a one-way front, remnants that settle on the surface are
trapped only in voids pointing along growth (Section 6.5). A patch would then hold only one class,
that is, matter and no antimatter. This is the local excess that [1] requires. On a front that grows
outward, “along growth” means outward everywhere, so every patch would select the same class
relative to its own growth direction. The simulation confirms the geometry of this selection, but
not the settling premise. The small excess of down tetrahedra points against growth. At a few
parts in 10
4
, it is too small to affect this.
Open questions. (1) Whether remnants settle onto the front as assumed. This is the premise
behind the trapping result, and a model of remnant motion near the front would test it. (2) The
cause of the tetrahedron excess. Classifying the local setting of every unbalanced tetrahedron, and
testing the classifier’s tolerance, would settle it. (3) The nucleation rate and takeover criterion of
tilted grains. (4) The domain-growth exponent, from slabs wider than 64. (5) The off-lattice lift
rate. Section 6.7 traces stacking disorder to lifts on the twin side of a triangle. A model of how
often such lifts succeed, given exclusion by nearby nodes, would turn the measured 20–29% into a
prediction.
16
9 Conclusions
The SSM growth rules crystallize into FCC, and this is forced, not just observed. Stitch is a point
inversion through a bond midpoint, and only the FCC stacking is closed under it, so only lifts can
create other stackings. At 10
6
nodes, about 98% of interior nodes are FCC (98.5% with the bare
rule and 98.0% with the unit-bond condition). New sheets grow from step edges by stitching on
the triangles that join neighbouring flat sheets, and this carries the stacking from sheet to sheet.
In a patch that grows one way, the void population is balanced: the two classes of tetrahedral
void agree to within 10
−3
below the outermost layers. Selection of one class comes from trapping
instead. Of 2,400 remnant nodes that settled on realistic one-way fronts, none ended in a void
pointing against growth, and at most 7 even counting the irregular cases. If remnants settle in this
way, a patch grown one way holds matter and no antimatter. The patch also grows as twinned
FCC, whose mirror variants coarsen into ever wider single-variant domains. The winner is random
and does not depend on any global lift orientation.
The lift rate follows from geometry as P
lift
/P
stitch
= (2
√
2/π)δ and needs no tuning. A least-
squares unit-bond condition, the direct form of the Bell-pair rule, is needed to keep long-range
order. Each lift makes a tetrahedral unit, but the rules produce no global K = 4 stage, which
remains an assumption of the SSM. The main open question is whether remnants settle onto the
front as assumed, which a model of remnant motion could test.
Declarations
Funding
No external funding was received for this work.
Competing interests
The author is employed by IDrive Inc. and declares no other competing interests.
Data availability
The simulator (ssmsim), tests, analysis scripts, raw results for all 664 runs and figure scripts
are in one archive, ssm-growth-sim.zip, in the repository https://github.com/raghu91302/
ssmtheory. We will create a permanent deposit with a DOI before submission. Two interactive
views go with the paper. The growth viewer for both cases is at https://raghu91302.github.
io/ssmtheory/lattice_growth.html. The formation of a new sheet at a step edge (Fig. 6) is at
https://raghu91302.github.io/ssmtheory/step_edge_sheet.html.
Code availability
The simulator and all analysis and figure scripts are in the same archive and repository, under the
terms stated there.
Author contributions
R.K. is the sole author and carried out all parts of the work.
17
A Instability of the bare growth rule
Without the unit-bond condition, a new node’s position comes straight from its triangle, and any
error in the triangle carries over. Each node depends on several earlier nodes, so errors grow from
layer to layer. In a 32 × 32 slab, the median deviation from the ideal lattice grows from 10
−14
at layer 10 to 2 × 10
−3
at layer 100. That is a factor of about 1.3 per layer (Fig. 7). By layer
108 ± 1 it reaches the bond tolerance, and the crystal breaks into misoriented grains. This height
was the same within ±3 layers for every width and orientation tested, which showed it was an
artifact. With the unit-bond condition, the deviation stays between 10
−14
and 5 × 10
−13
through
300 layers, and slabs stay ordered through 600 layers. An earlier set of 48 slab runs without the
condition is superseded. We keep it in the archive.
0 25 50 75 100 125 150
layer
10
14
10
12
10
10
10
8
10
6
10
4
10
2
10
0
median deviation from
ideal lattice (
L
)
bond tolerance
bare rule
with unit-bond condition
Figure 7: Median deviation of node positions from the ideal lattice against layer in a 32 ×32 slab, for the
bare growth rule and with the unit-bond condition. Without the condition, rounding errors grow by about
30% per layer and reach the bond tolerance near layer 110.
B Comparison with the earlier implementation
The earlier code [1] differs in three ways. It bonds nearby nodes in batches every 40 placements.
It grows edges that belong to no triangle in a direction set by the global z axis. And it keeps a site
active until both candidate positions fail. We changed one feature at a time (N = 1,500, p = 0.05,
8 seeds; Table 14). Batched bonding explains about 9 of the 16 percentage points between the two
codes. The rest comes from site bookkeeping. The global-z rule has no measurable effect.
Table 14: Earlier implementation versus present code (N = 1,500).
Variant Bulk FCC (CNA)
Earlier code as published 0.675 ± 0.019
Bonding at every placement 0.763 ± 0.029
No global-z growth of triangle-free edges 0.671 ± 0.022
Both changes 0.764 ± 0.024
Present code, legacy per-step rule (16 seeds) 0.839 ± 0.017
Present code, site-weighted rule (16 seeds) 0.883 ± 0.013
References
[1] R. Kulkarni, Matter as incomplete crystallization: quark charges, color confinement, and the
proton mass from a single extra node in the vacuum lattice, Physics Open 27 (2026) 100423,
18
doi:10.1016/j.physo.2026.100423.
[2] R. Kulkarni, The mass-energy-information equivalence: a bottom-up identification of the
particle spectrum via FCC lattice error correction, Physics Open 27 (2026) 100414,
doi:10.1016/j.physo.2026.100414.
[3] T.C. Hales, A proof of the Kepler conjecture, Ann. of Math. 162 (2005) 1065–1185,
doi:10.4007/annals.2005.162.1065.
[4] T. Regge, General relativity without coordinates, Il Nuovo Cimento 19 (1961) 558–571,
doi:10.1007/BF02733251.
[5] C.H. Bennett, Serially deposited amorphous aggregates of hard spheres, J. Appl. Phys. 43 (1972)
2727–2734.
[6] J.D. Honeycutt, H.C. Andersen, Molecular dynamics study of melting and freezing of small Lennard-
Jones clusters, J. Phys. Chem. 91 (1987) 4950–4963, doi:10.1021/j100303a014.
[7] D. Faken, H. J´onsson, Systematic analysis of local atomic structure combined with 3D computer
graphics, Comput. Mater. Sci. 2 (1994) 279–286.
[8] A. van der Drift, Evolutionary selection, a principle governing growth orientation in vapour-deposited
layers, Philips Res. Rep. 22 (1967) 267–288.
[9] S.K. Lam, A. Pitrou, S. Seibert, Numba: a LLVM-based Python JIT compiler, in: Proc. Second
Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC 2015), ACM, 2015, article 7,
doi:10.1145/2833157.2833162.
[10] P.G. Bolhuis, D. Frenkel, S.-C. Mau, D.A. Huse, Entropy difference between crystal phases, Nature
388 (1997) 235–236, doi:10.1038/40779.
[11] P.N. Pusey, W. van Megen, P. Bartlett, B.J. Ackerson, J.G. Rarity, S.M. Underwood, Structure of crys-
tals of hard colloidal spheres, Phys. Rev. Lett. 63 (1989) 2753–2756, doi:10.1103/PhysRevLett.63.2753.
19