A supplied cluster count: corner and edge atoms occupy a larger fraction of smaller shells

Supplied research · Reviewed finding · 30 October 2026

Incoprea Research · Supplied Round 3 · 30 October 2026

Evidence status: Passed ideal cuboctahedral counting after correcting the shell label and dropping an invalid physical diameter axis; catalytic selectivity is untested.

For the supplied ideal cuboctahedral clusters, corner-plus-edge atoms account for 85.714% of the surface in shell 2 and 11.694% in shell 20. The counting arithmetic is consistent. The source’s nanometre diameter labels are not: the formula’s integer is a shell index, not the number of atoms along an edge. This corrected note reports the verified counts without attaching the erroneous physical size axis.

The original claim and the narrower test

The posted nanocatalyst hypothesis proposes that step-to-terrace ratios determine reaction selectivity, with smaller particles more selective for structure-sensitive reactions. The supplied computation counts atom categories on one ideal shape. It includes no reaction rates, products, adsorption energies or selectivity measurements. Geometry is the part tested; the chemical conclusion remains open.

Counting a closed-shell cuboctahedron

Let m be the shell index around a central atom, beginning at m=1. The supplied formulas give total atoms T=(10m³+15m²+11m+3)/3, surface atoms S=10m²+2, corners C=12 and noncorner edge atoms E=24(m−1). The remaining surface atoms are assigned to terraces: S−C−E.

The first shell therefore contains 13 total atoms, of which 12 are on the surface. Shell 2 contains 55 total atoms and 42 surface atoms. An edge spans m nearest-neighbor intervals and contains m+1 atoms including its endpoints. Calling m itself the number of edge atoms, as the source does, shifts that interpretation by one.

Shell mTotal atomsSurface atomsCorner + edgeTerraceCorner + edge fraction
11312120100%
2554236685.714%
2028,7414,0024683,53411.694%

The combined fraction is (C+E)/S=(24m−12)/(10m²+2). The edge/corner count grows roughly with m, while total surface count grows roughly with m², so the combined fraction decreases for larger integer shells in the supplied range. This is a fraction of surface atoms; it is not the same number as a step-to-terrace ratio.

Why the diameter labels were removed

The source labels diameter as (m−1)×0.27 nm. At m=1 that assigns a zero diameter to a 13-atom cluster, making the problem visible without any experiment. The mapping also does not implement the relation between a cuboctahedron’s edge length and its full vertex-to-vertex diameter.

The quoted “86% at 0.3 nm” and “12% at 5 nm” therefore should not be reused as validated physical size claims. Correcting the integer interpretation and presenting shell-index counts preserves the verified geometric result without inventing a new material-specific diameter calibration. The original code and outputs remain available as provenance, with that limitation explicit.

Geometry does not determine selectivity by itself

Grouping corners and edges is a useful bookkeeping choice. It does not make every corner atom chemically equivalent to every edge atom or identify them with a particular stepped terrace. Real particles can have different facets, truncation, defects, oxidation, ligands or restructuring; their counts and chemistry need not match this ideal family.

Van Hardeveld and Hartog’s primary surface-site study provides established context for classifying surface atoms and how their proportions vary with crystallite size. The supplied twenty-shell sequence is an illustration of that geometric approach, not a new discovery. It does not establish monotonic selectivity across sizes, shapes or reactions.

Provenance

The computation comes from the supplied DeepSeek-assisted Round 3 package. Codex reproduced the unchanged script and numeric series byte-for-byte, checked the shell interpretation, and prepared this minimally adjusted publication. No new cluster structure, catalyst experiment or reaction model was introduced. The twenty shells are calculation settings, not observed specimens; equal limits in the supplied JSON are not statistical confidence intervals. The original hypothesis remains unchanged through Incoprea Research. This is an internal mathematical audit, not external peer review.


Reproduction and data availability

Python3 and NumPy. This single script generates the supplied calculation and writes display-results-regenerated.json. No input files or network are needed. Historical source narrative outputs are retained as provenance; only the reviewed fields shown here are endorsed.

Save the code as reproduce.py and run python3 reproduce.py with the stated inputs. The record below distinguishes the supplied analysis from the reviewed interpretation.

Show the reproduction code
# Portable reproduction of SUPPLIED ORIGINAL calculation. NumPy required.
# Only plotting/import helpers/output filenames were adapted. Computational
# parameters, formulas and random-number order are unchanged. Original JSON
# narrative and mislabeled dimensions are retained as provenance, not endorsed:
# consult the corrected article and audit for valid interpretation.
# Run: python3 reproduce.py (writes original-*-regenerated files beside script).
"""Test 06 -- smaller catalyst particles have a higher step/corner site fraction.

Claim (Vol XXII, Theory 16 / Nanoscale / Catalysis):
"Nanocatalyst selectivity is set by the ratio of step sites to terrace sites, so
smaller particles are more selective for structure-sensitive reactions."

Decisive test: count corner, edge and terrace surface atoms on a closed-shell
cuboctahedron as a function of size, and show the corner+edge (step) fraction
rises as the particle shrinks.
"""
import os
import sys

import numpy as np

import json
def write_results(path,d):
    with open(path,"w") as f: json.dump(d,f,indent=2,allow_nan=False)
def write_series(path,columns,rows):
    with open(path,"w") as f:
        f.write(",".join(columns)+"\n")
        for row in rows: f.write(",".join(str(x) for x in row)+"\n")



HERE = os.path.dirname(__file__)

def cuboctahedron(m):
    """m = atoms along an edge. Returns (total, surface, corner, edge, terrace)."""
    total = (10 * m ** 3 + 15 * m ** 2 + 11 * m + 3) // 3
    surface = 10 * m ** 2 + 2
    corner = 12
    edge = 24 * (m - 1)
    terrace = surface - corner - edge
    return total, surface, corner, edge, terrace

ms = np.arange(1, 21)  # edge length 1..20 atoms
data = np.array([cuboctahedron(m) for m in ms])
total, surface, corner, edge, terrace = data.T

# approximate particle diameter from total atoms (fcc, a~0.27 nm for Pt-like)
a = 0.27e-9  # lattice constant, m
# cuboctahedron edge length in lattice constants is (m-1); circumradius ~ edge
diam_nm = (ms - 1) * a * 1e9

step_frac = (corner + edge) / surface  # step/corner sites as fraction of surface
terrace_frac = terrace / surface

rows = list(zip(ms, diam_nm, total, surface, corner, edge, terrace, step_frac, terrace_frac))

frac_small = float(step_frac[1])    # m=2, ~0.27 nm
frac_large = float(step_frac[-1])   # m=20, ~5 nm

write_series(os.path.join(HERE, "original-series-regenerated.csv"),
               ["edge_atoms", "diam_nm", "total", "surface", "corner", "edge", "terrace", "step_frac", "terrace_frac"],
               rows)

results = {
    "id": "06",
    "slug": "nanoparticle-step-terrace",
    "title": "Smaller catalyst particles expose a higher step-site fraction",
    "volume": "XXII",
    "entry": "Theory 16 / Nanoscale / Catalysis",
    "claim": "Nanocatalyst selectivity is set by the ratio of step sites to terrace sites, so smaller particles are more selective for structure-sensitive reactions.",
    "verdict": "supported",
    "verdict_reason": f"The corner+edge (step) fraction of surface atoms falls from {frac_small*100:.0f}% at ~0.3 nm to {frac_large*100:.0f}% at ~5 nm.",
    "headline": f"Step sites are {frac_small*100:.0f}% of the surface at ~0.3 nm but only {frac_large*100:.0f}% at ~5 nm.",
    "design": "Corner, edge and terrace surface atoms were counted exactly on closed-shell fcc cuboctahedra of edge length 1-20 atoms.",
    "data_sources": [{"name": "geometric model only (cuboctahedron)", "url": "n/a", "accessed": "2026-10-30", "n": 20}],
    "n_obs": 20,
    "key_stats": {
        "step_fraction_small_pct": {"value": frac_small * 100, "ci_low": frac_small * 100, "ci_high": frac_small * 100, "unit": "%"},
        "step_fraction_large_pct": {"value": frac_large * 100, "ci_low": frac_large * 100, "ci_high": frac_large * 100, "unit": "%"},
    },
    "predictions": [
        {"label": "P1", "text": "smaller particles have a higher step/terrace ratio", "result": "supported",
         "evidence": f"step fraction {frac_small*100:.0f}% -> {frac_large*100:.0f}% as size grows"}
    ],
    "limitations": [
        "The geometric trend is exact; the link from step fraction to *selectivity* is not tested (no reaction data).",
        "Real particles are truncated, oxidised and reconstructed, so site counts differ in detail.",
        "A single ideal shape is assumed; the qualitative size trend holds across shapes but the numbers are shape-specific.",
    ],
    "provenance_note": "Closed-shell cuboctahedron site counting (van Hardeveld & Hartog magic-number clusters).",
}
write_results(os.path.join(HERE, "original-results-regenerated.json"), results)
print(f"[06] step fraction {frac_small*100:.0f}% (0.3nm) -> {frac_large*100:.0f}% (5nm)")


# Emit only the reviewed public numeric fields; historical output remains provenance.
from pathlib import Path
import json,csv
R=Path(__file__).resolve().parent
d=json.loads((R/'original-results-regenerated.json').read_text())
rows=list(csv.DictReader((R/'original-series-regenerated.csv').open()))
v=lambda key:d['key_stats'][key]['value']
clean=[{'shell_index':int(r['edge_atoms']),'total_atoms':int(r['total']),'surface_atoms':int(r['surface']),'corner_atoms':int(r['corner']),'noncorner_edge_atoms':int(r['edge']),'terrace_atoms':int(r['terrace']),'corner_edge_surface_fraction':float(r['step_frac'])} for r in rows]
out={'id':'nanoparticle-step-terrace','classification':'Ideal closed-shell cuboctahedron counting; chemical selectivity untested',
 'index_definition':'m is shell index; m+1 atoms along a physical edge including endpoints',
 'formulas':{'total':'(10*m^3+15*m^2+11*m+3)/3','surface':'10*m^2+2','corners':'12','noncorner_edges':'24*(m-1)','terraces':'surface-corners-noncorner_edges'},
 'verified_counts':clean,
 'limits':['No physical diameter estimate endorsed; source diameter axis is invalid','Corner and edge grouping is not a measured catalytic step population','No reaction/selectivity data','No specimen sample or statistical confidence interval']}

(R/"display-results-regenerated.json").write_text(json.dumps(out,indent=2)+"\n")
print(json.dumps(out,indent=2))
Show the reviewed result record
{
  "id": "nanoparticle-step-terrace",
  "classification": "Ideal closed-shell cuboctahedron counting; chemical selectivity untested",
  "index_definition": "m is shell index; m+1 atoms along a physical edge including endpoints",
  "formulas": {
    "total": "(10*m^3+15*m^2+11*m+3)/3",
    "surface": "10*m^2+2",
    "corners": "12",
    "noncorner_edges": "24*(m-1)",
    "terraces": "surface-corners-noncorner_edges"
  },
  "verified_counts": [
    {
      "shell_index": 1,
      "total_atoms": 13,
      "surface_atoms": 12,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 0,
      "terrace_atoms": 0,
      "corner_edge_surface_fraction": 1.0
    },
    {
      "shell_index": 2,
      "total_atoms": 55,
      "surface_atoms": 42,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 24,
      "terrace_atoms": 6,
      "corner_edge_surface_fraction": 0.8571428571428571
    },
    {
      "shell_index": 3,
      "total_atoms": 147,
      "surface_atoms": 92,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 48,
      "terrace_atoms": 32,
      "corner_edge_surface_fraction": 0.6521739130434783
    },
    {
      "shell_index": 4,
      "total_atoms": 309,
      "surface_atoms": 162,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 72,
      "terrace_atoms": 78,
      "corner_edge_surface_fraction": 0.5185185185185185
    },
    {
      "shell_index": 5,
      "total_atoms": 561,
      "surface_atoms": 252,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 96,
      "terrace_atoms": 144,
      "corner_edge_surface_fraction": 0.42857142857142855
    },
    {
      "shell_index": 6,
      "total_atoms": 923,
      "surface_atoms": 362,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 120,
      "terrace_atoms": 230,
      "corner_edge_surface_fraction": 0.36464088397790057
    },
    {
      "shell_index": 7,
      "total_atoms": 1415,
      "surface_atoms": 492,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 144,
      "terrace_atoms": 336,
      "corner_edge_surface_fraction": 0.3170731707317073
    },
    {
      "shell_index": 8,
      "total_atoms": 2057,
      "surface_atoms": 642,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 168,
      "terrace_atoms": 462,
      "corner_edge_surface_fraction": 0.2803738317757009
    },
    {
      "shell_index": 9,
      "total_atoms": 2869,
      "surface_atoms": 812,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 192,
      "terrace_atoms": 608,
      "corner_edge_surface_fraction": 0.2512315270935961
    },
    {
      "shell_index": 10,
      "total_atoms": 3871,
      "surface_atoms": 1002,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 216,
      "terrace_atoms": 774,
      "corner_edge_surface_fraction": 0.2275449101796407
    },
    {
      "shell_index": 11,
      "total_atoms": 5083,
      "surface_atoms": 1212,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 240,
      "terrace_atoms": 960,
      "corner_edge_surface_fraction": 0.2079207920792079
    },
    {
      "shell_index": 12,
      "total_atoms": 6525,
      "surface_atoms": 1442,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 264,
      "terrace_atoms": 1166,
      "corner_edge_surface_fraction": 0.1914008321775312
    },
    {
      "shell_index": 13,
      "total_atoms": 8217,
      "surface_atoms": 1692,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 288,
      "terrace_atoms": 1392,
      "corner_edge_surface_fraction": 0.1773049645390071
    },
    {
      "shell_index": 14,
      "total_atoms": 10179,
      "surface_atoms": 1962,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 312,
      "terrace_atoms": 1638,
      "corner_edge_surface_fraction": 0.1651376146788991
    },
    {
      "shell_index": 15,
      "total_atoms": 12431,
      "surface_atoms": 2252,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 336,
      "terrace_atoms": 1904,
      "corner_edge_surface_fraction": 0.15452930728241562
    },
    {
      "shell_index": 16,
      "total_atoms": 14993,
      "surface_atoms": 2562,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 360,
      "terrace_atoms": 2190,
      "corner_edge_surface_fraction": 0.1451990632318501
    },
    {
      "shell_index": 17,
      "total_atoms": 17885,
      "surface_atoms": 2892,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 384,
      "terrace_atoms": 2496,
      "corner_edge_surface_fraction": 0.13692946058091288
    },
    {
      "shell_index": 18,
      "total_atoms": 21127,
      "surface_atoms": 3242,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 408,
      "terrace_atoms": 2822,
      "corner_edge_surface_fraction": 0.1295496607032696
    },
    {
      "shell_index": 19,
      "total_atoms": 24739,
      "surface_atoms": 3612,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 432,
      "terrace_atoms": 3168,
      "corner_edge_surface_fraction": 0.12292358803986711
    },
    {
      "shell_index": 20,
      "total_atoms": 28741,
      "surface_atoms": 4002,
      "corner_atoms": 12,
      "noncorner_edge_atoms": 456,
      "terrace_atoms": 3534,
      "corner_edge_surface_fraction": 0.11694152923538231
    }
  ],
  "limits": [
    "No physical diameter estimate endorsed; source diameter axis is invalid",
    "Corner and edge grouping is not a measured catalytic step population",
    "No reaction/selectivity data",
    "No specimen sample or statistical confidence interval"
  ]
}
Show provenance, dependencies and review boundaries
{
  "source_bundle": "Incoprea Hypothesis Tests III - 2026-10-30",
  "classification": "Reproduced exact mathematics or deterministic/synthetic model; no physical or biological experiment",
  "review_scope": "Reproduction and consistency review of the supplied study; no new independently designed study",
  "reproduction_requirements": "Python3 and NumPy. This single script generates the supplied calculation and writes display-results-regenerated.json.",
  "data_availability": "No input files or network are needed. Historical source narrative outputs are retained as provenance; only the reviewed fields shown here are endorsed.",
  "source_hypothesis_url": "https://incoprea.com/research-library/original-theories-vol22-20261030/theories/nanocatalyst-step-terrace.html",
  "published_code_sha256": "6e8befff36fc29ae8e2ff710ca34ef1760ea5fb7fd03ad6d3aaf174ed47b8d65",
  "published_result_sha256": "3622de094908edc93e7469ed565e9cc846cfd07344a04825192fcac63926e823",
  "peer_review": "Internal computational review; not external peer review",
  "supplied_review_record": {
    "id": "06-nanoparticle-step-terrace",
    "result_byte_identical": true,
    "series_byte_identical": true,
    "source_code_sha256": "3260651c629dcd1c302eea55cc838849b1c0d2015388688879d3da6c28bc3561",
    "results_sha256": "6dda99ff914231afca3aec2d9995afd2554c4f3595a4d98337c49ac64a042a96",
    "series_sha256": "537aab9453e6f2ba0a3c92427db97b188fcfc71d3e4ec8d879ad54c63c975683"
  }
}

Original supplied analysis: contributing research agent identified in the source bundle. Consistency review, necessary corrections and publication: Codex. Working finding, not externally peer reviewed. Incoprea Research · Original posted question or hypothesis.

Comments

Popular posts from this blog

Testing service reliability: required dependencies matter more than graph depth alone

Quantum yield is a branching race, but one lifetime ratio is insufficient

When rare events overwhelm a detector: an exact Bayes test