<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Posts · haunt.house</title><link>https://blog.haunt.house/posts/</link><description>Research, ideas, and announcements from haunt.house.</description><language>en-us</language><lastBuildDate>Mon, 03 Aug 2026 00:00:00 -0500</lastBuildDate><atom:link href="https://blog.haunt.house/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>We closed the rotor tip. The evidence loop is still open.</title><link>https://blog.haunt.house/toroidal-rotor/</link><pubDate>Mon, 03 Aug 2026 00:00:00 -0500</pubDate><guid>https://blog.haunt.house/toroidal-rotor/</guid><description>A quadrotor prop with no blade tips: what the Poltergeist toroidal rotor program produced when every number had to survive its own audit.</description><content:encoded><![CDATA[<p>Every propeller ends the same way: a blade tip, a tip vortex, and a slice of
your battery converted into noise. A toroidal rotor refuses to end — each
blade folds over and rejoins the hub, so there is no free tip to shed from.
The claimed prizes are quieter operation and a shape that shrugs off contact,
which matters a great deal on a sub-250 g quad that lives near walls, floors,
and occasionally furniture.</p>
<p>So we designed one: an 88.9 mm (3.5 in) 3-D-printable smooth-tip toroidal
rotor for <a href="https://poltergeist.haunt.house">Poltergeist</a>, judged at a frozen
comparison point — the HQProp T3.5×2×3 on its bench motor at 24,486 RPM,
which sets a measured necessary-condition bar of <strong>2.8613 N</strong>.</p>
<p><img src="rotor-tip-oblique.png" alt="Four toroidal rotors on the printable airframe in the Poltergeist studio"></p>
<p><em>The candidate mounted ×4 in the Poltergeist studio — 189.7 g all-up, and the
rotor verdict lens honestly red: &ldquo;thrust unscreened.&rdquo;</em></p>
<p>This post is the tour. The full story, with every derivation and its
provenance, is in the paper:
<strong><a href="/papers/toroidal-rotor-research-report/">Design and evidence-gated refinement of a 3-D-printable smooth-tip toroidal rotor</a></strong>
(also available there as a 53-page PDF).</p>
<h2 id="the-most-interesting-result-is-a-rejection">The most interesting result is a rejection</h2>
<p>Early in the program, exact-geometry simulation handed us a gift: <strong>4.089 N</strong>
of thrust — 143% of the commercial bar — repeatable and bit-identical across
reruns. A program that wanted to believe would have led with that number.</p>
<p>Instead the preregistered wake ladder measured the same rotor as its wake was
allowed to develop:</p>
<table>
  <thead>
      <tr>
          <th>Wake duration</th>
          <th style="text-align: right">Trailing-mean thrust</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>first instant (t ≈ 0)</td>
          <td style="text-align: right">4.089 N</td>
      </tr>
      <tr>
          <td>0.24 revolution</td>
          <td style="text-align: right">3.728 N</td>
      </tr>
      <tr>
          <td>0.50 revolution</td>
          <td style="text-align: right">2.988 N</td>
      </tr>
      <tr>
          <td>1.00 revolution</td>
          <td style="text-align: right">2.008 N</td>
      </tr>
      <tr>
          <td>2.00 revolutions</td>
          <td style="text-align: right">1.178 N</td>
      </tr>
  </tbody>
</table>
<p>Every longer window is lower. The 4.089 N &ldquo;breakthrough&rdquo; was a cold-start
transient — the aerodynamic equivalent of reading your sprint speed off the
first stride — and all five values were rejected as thrust evidence.</p>
<p><img src="fig-wake-decay.svg" alt="Cold-start wake decay ladder"></p>
<p><em>The wake ladder that killed the apparent breakthrough.</em></p>
<p>That rejection set the tone for everything after it. A preregistered
3,600-cell sectional-CFD campaign was likewise shut down when its pilots
admitted zero usable coefficients and its measured wall times extrapolated to
<strong>12.6–26.1 serial days</strong>; the budget went to bounded geometry batches with
promotion rules written down <em>before</em> the results came in.</p>
<h2 id="the-screening-winner-is-not-the-winner">The screening winner is not the winner</h2>
<p>The batches screen candidates on short two-revolution simulations, then
promote finalists to four revolutions, where the wake is mature. Inside batch
TR-06I the screen leader posted 2.948 N — and then lost at four revolutions,
2.428 N to the eventual winner&rsquo;s 2.441 N. The order <em>reversed</em> as the wake
developed.</p>
<p><img src="fig-rank-reversal.svg" alt="Short-wake vs mature-wake rank reversal"></p>
<p><em>The promotion-window reversal: a young wake flatters the wrong candidate.</em></p>
<p>This is why the program never compares numbers across windows: a
one-revolution figure, a two-revolution figure, and a four-revolution figure
are three different instruments pointed at the same rotor.</p>
<h2 id="explore-every-candidate">Explore every candidate</h2>
<p>Ninety-five candidate evaluations across nine screening batches and seven
promotion rounds, each an exact-geometry unsteady free-wake simulation. Hover
or tap any point; the three windows deliberately never share an axis. The
double-ring marker is the retained rotor, and the numbered markers are
bit-identical replicated anchors — the same geometry re-simulated across
batches as a drift check.</p>
<figure class="rotor-explorer" data-rotor-explorer>
  <script type="application/json" data-rotor-data>{
 "meta": {
  "source": "poltergeist services/fea/toroidal-optimization batch reports",
  "extractedAtCommit": "de549e2",
  "hqpropTargetN": 2.8613,
  "hqpropLabel": "HQProp T3.5x2x3 on T-Motor F1404 2900KV, 16.7 V, 85% throttle",
  "retainedId": "factor-101-s3-pi7-risdm8",
  "note": "Windows are not mutually comparable; each series keeps its own axis. TR-06J's factor-000-s3-pi7-risdm8 is the bit-identical replicated anchor of the retained candidate."
 },
 "populations": [
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "eligible": 24,
   "completed": 24,
   "failures": 0
  },
  {
   "batch": "TR-05I",
   "window": "1-rev",
   "eligible": 8,
   "completed": 8,
   "failures": 0
  },
  {
   "batch": "TR-05J",
   "window": "2-rev",
   "eligible": 8,
   "completed": 8,
   "failures": 0
  },
  {
   "batch": "TR-05K",
   "window": "2-rev",
   "eligible": 8,
   "completed": 8,
   "failures": 0
  },
  {
   "batch": "TR-05L",
   "window": "2-rev",
   "eligible": 8,
   "completed": 8,
   "failures": 0
  },
  {
   "batch": "TR-05M",
   "window": "2-rev",
   "eligible": 8,
   "completed": 6,
   "failures": 2
  },
  {
   "batch": "TR-06I",
   "window": "2-rev",
   "eligible": 8,
   "completed": 8,
   "failures": 0
  },
  {
   "batch": "TR-06J",
   "window": "2-rev",
   "eligible": 8,
   "completed": 8,
   "failures": 0
  },
  {
   "batch": "TR-06K",
   "window": "2-rev",
   "eligible": 8,
   "completed": 6,
   "failures": 2
  }
 ],
 "screens": [
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "directed-02-high-pitch",
   "thrustN": 2.55432756301822,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-05",
   "thrustN": 2.515956490927533,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-03",
   "thrustN": 2.503089510128983,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-07",
   "thrustN": 2.4877767525301246,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "directed-04-front-loaded",
   "thrustN": 2.4685725403857948,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "directed-08-open-turnover",
   "thrustN": 2.461577097280366,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-10",
   "thrustN": 2.459170351031354,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-04",
   "thrustN": 2.4223278835715423,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-13",
   "thrustN": 2.411502258357311,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "directed-06-camber-thickness",
   "thrustN": 2.372825864830895,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "directed-03-incidence",
   "thrustN": 2.3614468225181575,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-01",
   "thrustN": 2.338614854088936,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "directed-01-pitch",
   "thrustN": 2.312436592920895,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "directed-07-tight-turnover",
   "thrustN": 2.3019769695923618,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-11",
   "thrustN": 2.2851401621432945,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "directed-05-rear-loaded",
   "thrustN": 2.265472524960965,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-06",
   "thrustN": 2.206574712044381,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-14",
   "thrustN": 2.1604057032177235,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-08",
   "thrustN": 2.1590814325094065,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-02",
   "thrustN": 2.0806561357691677,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-15",
   "thrustN": 1.9479838634672852,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-09",
   "thrustN": 1.8198612789151745,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-12",
   "thrustN": 1.7346544850564778,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05H",
   "window": "1-rev",
   "id": "space-16",
   "thrustN": 1.6689866189468183,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05I",
   "window": "1-rev",
   "id": "local-p4p0-split-neg7-h7",
   "thrustN": 2.707678572497505,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05I",
   "window": "1-rev",
   "id": "local-p4p0-split-neg7-h6",
   "thrustN": 2.6952656963352677,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05I",
   "window": "1-rev",
   "id": "local-p4p0-split-neg5-h7",
   "thrustN": 2.678599878356401,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05I",
   "window": "1-rev",
   "id": "local-p4p0-split-neg5-h6",
   "thrustN": 2.666515373329437,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05I",
   "window": "1-rev",
   "id": "local-p3p8-split-neg7-h7",
   "thrustN": 2.597060422104024,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05I",
   "window": "1-rev",
   "id": "local-p3p8-split-neg7-h6",
   "thrustN": 2.5896607571548316,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05I",
   "window": "1-rev",
   "id": "local-p3p8-split-neg5-h7",
   "thrustN": 2.56853250526512,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05I",
   "window": "1-rev",
   "id": "local-p3p8-split-neg5-h6",
   "thrustN": 2.55432756301822,
   "powerW": null,
   "wakeGatePass": null
  },
  {
   "batch": "TR-05J",
   "window": "2-rev",
   "id": "space-10",
   "thrustN": 1.684155988200387,
   "powerW": 39.803255954685916,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05J",
   "window": "2-rev",
   "id": "space-07",
   "thrustN": 1.536088485166957,
   "powerW": 42.43397273836246,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05J",
   "window": "2-rev",
   "id": "space-06",
   "thrustN": 1.4371989391774227,
   "powerW": 33.58801950641632,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05J",
   "window": "2-rev",
   "id": "space-04",
   "thrustN": 1.4307995892603826,
   "powerW": 33.77804217676531,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05J",
   "window": "2-rev",
   "id": "directed-07-tight-turnover",
   "thrustN": 1.4303459985314735,
   "powerW": 36.804334103575314,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05J",
   "window": "2-rev",
   "id": "space-13",
   "thrustN": 1.419913362647146,
   "powerW": 34.209061211625645,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05J",
   "window": "2-rev",
   "id": "space-11",
   "thrustN": 1.4153889030578732,
   "powerW": 36.08920824413378,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05J",
   "window": "2-rev",
   "id": "space-15",
   "thrustN": 1.1311676295482769,
   "powerW": 24.63626836831567,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05K",
   "window": "2-rev",
   "id": "crossover-p5p4-split-neg7",
   "thrustN": 2.297333159872717,
   "powerW": 74.76167636130748,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05K",
   "window": "2-rev",
   "id": "crossover-p5p4-split-near0",
   "thrustN": 2.2676074533639867,
   "powerW": 71.94704677783078,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05K",
   "window": "2-rev",
   "id": "crossover-p5p0-split-neg7",
   "thrustN": 2.1483326171639385,
   "powerW": 66.73700636861075,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05K",
   "window": "2-rev",
   "id": "crossover-p5p0-split-near0",
   "thrustN": 2.1281532979356994,
   "powerW": 65.02992736299488,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05K",
   "window": "2-rev",
   "id": "crossover-p4p6-split-near0",
   "thrustN": 2.0017469047763936,
   "powerW": 57.99060704657364,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05K",
   "window": "2-rev",
   "id": "crossover-p4p6-split-neg7",
   "thrustN": 1.9993791961234002,
   "powerW": 59.53392688398795,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05K",
   "window": "2-rev",
   "id": "crossover-p4p2-split-neg7",
   "thrustN": 1.884910428125073,
   "powerW": 52.84240944551038,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05K",
   "window": "2-rev",
   "id": "crossover-p4p2-split-near0",
   "thrustN": 1.8661784129014094,
   "powerW": 51.34898174979034,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05L",
   "window": "2-rev",
   "id": "load-p7p0-front135",
   "thrustN": 2.6600761545752376,
   "powerW": 102.89198279163054,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05L",
   "window": "2-rev",
   "id": "load-p7p0-front112",
   "thrustN": 2.624165208368242,
   "powerW": 97.75108499992713,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05L",
   "window": "2-rev",
   "id": "load-p6p6-front135",
   "thrustN": 2.6051942988407792,
   "powerW": 96.83804789750731,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05L",
   "window": "2-rev",
   "id": "load-p6p6-front112",
   "thrustN": 2.5641544124439983,
   "powerW": 92.22053927686325,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05L",
   "window": "2-rev",
   "id": "load-p6p2-front135",
   "thrustN": 2.54189915743719,
   "powerW": 90.85643662756887,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05L",
   "window": "2-rev",
   "id": "load-p6p2-front112",
   "thrustN": 2.4840843608151357,
   "powerW": 86.36718383468363,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05L",
   "window": "2-rev",
   "id": "load-p5p8-front135",
   "thrustN": 2.4765148670207258,
   "powerW": 85.86728641887503,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05L",
   "window": "2-rev",
   "id": "load-p5p8-front112",
   "thrustN": 2.4026663951494407,
   "powerW": 80.6673259210513,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05M",
   "window": "2-rev",
   "id": "retain-rear80-root65-tip70",
   "thrustN": 2.6942942434794217,
   "powerW": 97.27398444935962,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05M",
   "window": "2-rev",
   "id": "retain-rear80-root65-tip83",
   "thrustN": 2.6845057920057993,
   "powerW": 97.18755144644584,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05M",
   "window": "2-rev",
   "id": "retain-rear80-root80-tip70",
   "thrustN": 2.674161817989152,
   "powerW": 98.49763142976462,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05M",
   "window": "2-rev",
   "id": "retain-rear65-root80-tip83",
   "thrustN": 2.671636998666941,
   "powerW": 96.52268835207344,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05M",
   "window": "2-rev",
   "id": "retain-rear65-root80-tip70",
   "thrustN": 2.6581650865851976,
   "powerW": 95.53447914019578,
   "wakeGatePass": false
  },
  {
   "batch": "TR-05M",
   "window": "2-rev",
   "id": "retain-rear80-root80-tip83",
   "thrustN": 2.624165208368242,
   "powerW": 97.75108499992713,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06I",
   "window": "2-rev",
   "id": "factor-011-s3-pi7p25-risdm7",
   "thrustN": 2.9481567606302566,
   "powerW": 115.67272645318077,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06I",
   "window": "2-rev",
   "id": "factor-111-s3-pi7p25-risdm8",
   "thrustN": 2.9189840346254643,
   "powerW": 114.55749583478278,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06I",
   "window": "2-rev",
   "id": "factor-101-s3-pi7-risdm8",
   "thrustN": 2.883716260032063,
   "powerW": 111.11838117520001,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06I",
   "window": "2-rev",
   "id": "factor-001-s3-pi7-risdm7",
   "thrustN": 2.8783997359667586,
   "powerW": 111.12185291063005,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06I",
   "window": "2-rev",
   "id": "factor-010-s0p7799-pi7p25-risdm7",
   "thrustN": 2.7563649633338185,
   "powerW": 101.60782079436943,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06I",
   "window": "2-rev",
   "id": "factor-110-s0p7799-pi7p25-risdm8",
   "thrustN": 2.7480164735570316,
   "powerW": 101.14296909184716,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06I",
   "window": "2-rev",
   "id": "factor-000-s0p7799-pi7-risdm7",
   "thrustN": 2.6942942434794217,
   "powerW": 97.27398444935962,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06I",
   "window": "2-rev",
   "id": "factor-100-s0p7799-pi7-risdm8",
   "thrustN": 2.68339648188955,
   "powerW": 97.11087599850711,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06J",
   "window": "2-rev",
   "id": "factor-000-s3-pi7-risdm8",
   "thrustN": 2.883716260032063,
   "powerW": 111.11838117520001,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06J",
   "window": "2-rev",
   "id": "factor-100-s3-pi7-risdm9",
   "thrustN": 2.851997971065833,
   "powerW": 110.28627836893686,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06J",
   "window": "2-rev",
   "id": "factor-010-s3-pi6p75-risdm8",
   "thrustN": 2.8397328504793773,
   "powerW": 107.53651549292844,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06J",
   "window": "2-rev",
   "id": "factor-110-s3-pi6p75-risdm9",
   "thrustN": 2.8353141348365494,
   "powerW": 107.45363352250088,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06J",
   "window": "2-rev",
   "id": "factor-001-s2p5-pi7-risdm8",
   "thrustN": 2.82761525158471,
   "powerW": 107.63008166559702,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06J",
   "window": "2-rev",
   "id": "factor-101-s2p5-pi7-risdm9",
   "thrustN": 2.822219707734762,
   "powerW": 107.46774727421625,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06J",
   "window": "2-rev",
   "id": "factor-011-s2p5-pi6p75-risdm8",
   "thrustN": 2.7998478937297016,
   "powerW": 104.55950833849055,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06J",
   "window": "2-rev",
   "id": "factor-111-s2p5-pi6p75-risdm9",
   "thrustN": 2.777684321186275,
   "powerW": 104.10355573448885,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06K",
   "window": "2-rev",
   "id": "factor-000-tcs0p65-bcs0p7-cs0p8",
   "thrustN": 2.883716260032063,
   "powerW": 111.11838117520001,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06K",
   "window": "2-rev",
   "id": "factor-010-tcs0p65-bcs0p6-cs0p8",
   "thrustN": 2.883332761051567,
   "powerW": 111.19594492978521,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06K",
   "window": "2-rev",
   "id": "factor-111-tcs0p55-bcs0p6-cs0p75",
   "thrustN": 2.1051584072883553,
   "powerW": 85.72881470099588,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06K",
   "window": "2-rev",
   "id": "factor-101-tcs0p55-bcs0p7-cs0p75",
   "thrustN": 2.0896558702123813,
   "powerW": 84.8683803937444,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06K",
   "window": "2-rev",
   "id": "factor-011-tcs0p55-bcs0p6-cs0p8",
   "thrustN": 1.7283931381054989,
   "powerW": 73.59863541284535,
   "wakeGatePass": false
  },
  {
   "batch": "TR-06K",
   "window": "2-rev",
   "id": "factor-001-tcs0p55-bcs0p7-cs0p8",
   "thrustN": 1.716244489195837,
   "powerW": 72.87583579242137,
   "wakeGatePass": false
  }
 ],
 "promotions": [
  {
   "batch": "TR-05I",
   "id": "local-p4p0-split-neg7-h7",
   "thrustN": 1.4345525856949946,
   "powerW": 38.985462865445506,
   "powerDerived": true,
   "retention": null,
   "hqRatio": null,
   "wakeGatePass": false,
   "retained": false
  },
  {
   "batch": "TR-05K",
   "id": "crossover-p5p4-split-neg7",
   "thrustN": 1.9282233891624345,
   "powerW": 61.80960526911556,
   "powerDerived": true,
   "retention": 0.8393311962072002,
   "hqRatio": 0.6738976651041256,
   "wakeGatePass": false,
   "retained": false
  },
  {
   "batch": "TR-05L",
   "id": "load-p7p0-front112",
   "thrustN": 2.2041468915690947,
   "powerW": 80.34431776860922,
   "powerDerived": false,
   "retention": 0.8399421212278312,
   "hqRatio": 0.77033058105375,
   "wakeGatePass": false,
   "retained": false
  },
  {
   "batch": "TR-05L",
   "id": "load-p7p0-front135",
   "thrustN": 2.1374142295903265,
   "powerW": 80.38760844183973,
   "powerDerived": false,
   "retention": 0.8035161797582558,
   "hqRatio": 0.7470080835949836,
   "wakeGatePass": false,
   "retained": false
  },
  {
   "batch": "TR-05M",
   "id": "retain-rear80-root65-tip70",
   "thrustN": 2.295232177286836,
   "powerW": 81.82685495928298,
   "powerDerived": false,
   "retention": 0.8518862343419346,
   "hqRatio": 0.8021641132655911,
   "wakeGatePass": false,
   "retained": false
  },
  {
   "batch": "TR-05M",
   "id": "retain-rear65-root80-tip83",
   "thrustN": 2.070891259418252,
   "powerW": 75.46397569157294,
   "powerDerived": false,
   "retention": 0.7751394596090556,
   "hqRatio": 0.7237588716381547,
   "wakeGatePass": false,
   "retained": false
  },
  {
   "batch": "TR-06I",
   "id": "factor-101-s3-pi7-risdm8",
   "thrustN": 2.441372086606152,
   "powerW": 94.0319819788829,
   "powerDerived": false,
   "retention": 0.8466062075673864,
   "hqRatio": 0.8532387679048516,
   "wakeGatePass": false,
   "retained": true
  },
  {
   "batch": "TR-06I",
   "id": "factor-011-s3-pi7p25-risdm7",
   "thrustN": 2.4279024783131713,
   "powerW": 95.58133649000428,
   "powerDerived": false,
   "retention": 0.8235323544308867,
   "hqRatio": 0.8485312544344079,
   "wakeGatePass": false,
   "retained": false
  },
  {
   "batch": "TR-06J",
   "id": "factor-000-s3-pi7-risdm8",
   "thrustN": 2.441372086606152,
   "powerW": 94.0319819788829,
   "powerDerived": false,
   "retention": 0.8466062075673864,
   "hqRatio": 0.8532387679048516,
   "wakeGatePass": false,
   "retained": false
  },
  {
   "batch": "TR-06J",
   "id": "factor-010-s3-pi6p75-risdm8",
   "thrustN": 2.360471677371642,
   "powerW": 89.90549561190628,
   "powerDerived": false,
   "retention": 0.8312301901825621,
   "hqRatio": 0.8249647633494013,
   "wakeGatePass": false,
   "retained": false
  },
  {
   "batch": "TR-06K",
   "id": "factor-000-tcs0p65-bcs0p7-cs0p8",
   "thrustN": 2.441372086606152,
   "powerW": 94.0319819788829,
   "powerDerived": false,
   "retention": 0.8466062075673864,
   "hqRatio": 0.8532387679048516,
   "wakeGatePass": false,
   "retained": false
  }
 ]
}
</script>
  <div class="re-tabs" role="tablist" aria-label="Thrust window"></div>
  <div class="re-chart"></div>
  <figcaption class="re-caption">Candidate populations extracted from the frozen batch reports in the
Poltergeist repository (<code>services/fea/toroidal-optimization/</code>, commit
<code>de549e2</code>). Explicit simulation failures stay in each batch&rsquo;s denominator; the
two batches shown short of eight candidates are short because two runs failed,
and hiding that would be a lie of omission.</figcaption>
</figure>

<h2 id="where-it-landed">Where it landed</h2>
<img src="retained-rotor-mesh.svg" class="img-self-bg" alt="Exact 3-lobe vortex-lattice mesh of the retained candidate factor-101-s3-pi7-risdm8">
<p><em>The retained candidate&rsquo;s exact vortex-lattice mesh — the actual geometry
every promotion number was computed on.</em></p>
<div class="stat-row">
<div class="stat">
  <span class="stat-value" data-count-to="2.441">2.441</span><span class="stat-unit">N</span>
  <span class="stat-label">four-revolution mean thrust</span>
</div>

<div class="stat">
  <span class="stat-value" data-count-to="94.0">94.0</span><span class="stat-unit">W</span>
  <span class="stat-label">shaft power at rev 4</span>
</div>

<div class="stat">
  <span class="stat-value" data-count-to="85.3">85.3</span><span class="stat-unit">%</span>
  <span class="stat-label">of the HQProp bench target</span>
</div>

<div class="stat">
  <span class="stat-value" data-count-to="41">41</span><span class="stat-unit"></span>
  <span class="stat-label">pinned evidence checkpoints</span>
</div>

</div>

<p>The retained rotor, <code>factor-101-s3-pi7-risdm8</code>, improved four-revolution
thrust <strong>+6.4%</strong> over the prior baseline — at <strong>+14.9%</strong> more shaft power, so
thrust-per-watt actually fell 7.4%. It reaches 85.3% of the commercial bar.
And the full wake-convergence gate, the standard that would make these numbers
admissible as performance claims, <strong>never passed</strong> — for any candidate, ever.</p>
<p>So the paper does not claim a rotor that beats a $3 injection-molded prop. It
claims something rarer in optimization write-ups: a reproducible diagnostic
improvement, its exact costs, and a precise accounting of the evidence still
missing. The retained candidate ships with the evidence level
<code>exploratory-non-admissible</code> stamped on it, because that is what it is.</p>
<h2 id="read-the-paper">Read the paper</h2>
<p>The <a href="/papers/toroidal-rotor-research-report/">full report</a> holds the
derivations, the failure ledger, all fourteen figures, and the provenance of
every number — or grab the
<a href="/papers/toroidal-rotor-research-report/toroidal-rotor-research-report.pdf">53-page PDF</a>
directly. What would change the conclusions: a candidate that passes the
mature-wake gate, or a bench test. Both are on the roadmap; neither gets
claimed before it happens.</p>
]]></content:encoded></item></channel></rss>