The ampoule of transistor/SEALED.md is the one machine the theory says it can seal today, and transistor/EMBODIMENT.md specifies it at assembly grade. Every number in those two notes that is not a decay constant was an assumption: the photons a gigabecquerel of ⁹⁰Sr/⁹⁰Y actually sends into the compute shell, the rate at which the boundary counts them, the pile up in a 2 mm site, the coupling between sites through a real glass plate, what a tungsten aperture and a lead septum actually do to a hard bremsstrahlung spectrum, and the dose outside a wall the build note said the builder must certify. This directory builds the vessel in OpenMC with the official ENDF/B-VIII.0 photoatomic library, drives it with the beta spectra of its own core, calibrates the instrument first, and replaces every one of those assumptions with a tally.
| file | what it is |
|---|---|
beta.py |
the ⁹⁰Sr and ⁹⁰Y beta spectra (unique first forbidden shape, Fermi function), checked against the ICRP 107 mean energies |
calibrate.py |
the instrument against references that are not OpenMC: attenuation against NIST XCOM, slab transmission against the exponential, thick target bremsstrahlung against the textbook rule; writes calibration.json |
model.py |
the vessel, shell by shell, its sources and tallies, and the stages below; writes tallies.json (needs OpenMC and the data) |
report.py |
every derived number, results.md, and figure 17, from the two JSON files (numpy and matplotlib only) |
results.md |
the numbers, regenerated by report.py |
compile.py |
the compiler of theory Section 11 on the measured Green's function, the exact law at 64 sites, and the timing closure; writes compile_results.md and figure 18 (numpy and matplotlib only) |
compile_results.md |
the vessel compiled, regenerated by compile.py |
tallies.json, calibration.json |
the committed run, with uncertainties |
Nested cylinders on one axis, dimensions from the build note where it gives them and stated where it does not:
- core: an 8 mm × 10 mm SrTiO₃ pellet in a 1 mm 316L capsule at the centre of a 30 mm × 40 mm krypton cell at 5 bar with 2 mm aluminium walls;
- collar: a 2 mm tungsten sleeve around the lamp cell with one opening per site, ±10° by 6 mm at nominal, the mechanical GATE terminal of the reference transistor;
- compute shell: borosilicate glass from 19 to 25 mm radius carrying 64 sites, 2 mm scintillator cells on a lattice of 8 heights by 8 azimuths at 22 mm radius, plastic throughout and CsI in one variant run (the build note offers either), with an optional 1 mm lead septum between two sectors, the build note's inhibitory blocking;
- boundary: a 6 mm plastic scintillator ring with end caps (the 24 SiPM paddles), 1 mm of silicon behind it, and four 5 mm CZT pixels in the ring;
- shield: 8 mm PMMA, 4 mm lead, 3 mm titanium, outer radius 4.9 cm and half length 6.6 cm, then air to a metre.
The betas are handled by OpenMC's thick target bremsstrahlung treatment: an electron born in the pellet deposits its energy there and emits the bremsstrahlung a thick target of that material would. For a ceramic pellet whose radius exceeds the range of most of the spectrum this is the right approximation and it is stated wherever a number descends from it.
- Calibration. The library's total attenuation for lead, iron, tungsten and water at 100 keV to 2 MeV against NIST XCOM; uncollided transmission through slabs of up to three mean free paths against exp(−μx); the energy an electron radiates stopping in water and iron at 0.5, 1 and 2 MeV against the thick target rule. The last is the source term of everything and the least certain link, and the report says so.
- The source. An emission stage first: the betas at their real activities in the pellet ceramic, and the bremsstrahlung they make, per second. Then the nominal vessel driven by that spectrum: photons leaving the capsule, the field in every site, the boundary counts and their spectra, the energy deposited in every cell, the dose in air at contact, ten centimetres and a metre, and the leakage through the shield. The same stage is run once more with CsI cells in place of plastic.
- The gate. The collar opening at 0, 25, 50, 75 and 100 percent of nominal: the transfer curve.
- The septum. The nominal vessel with the lead sheet in place.
- The synapse. Photons born in each site in turn, with the spectrum the source stage found there, tallied in every site: the 64 × 64 Green's function, open and with the septum.
| what | assumed in the notes | computed | where it lands |
|---|---|---|---|
| photons leaving the core | not given | 43.9 M/s, mean 252 keV, 0.0569 per decay | the whole budget, a few percent of the beta energy |
| deposited power | 181 µW per GBq | 183 µW for the pair | the ledger holds |
| site interactions, all 64 | proposal budget 10⁶/s | 32.9 k/s in plastic, 1.02 M/s in CsI | plastic is 30× short; CsI meets the budget |
| pile up per site | n ≳ λ τ_d | 0.16 percent of events overlap at 100 ns in CsI | the floor plan holds |
| accidental coincidences, two mean sites | the coincidence multiplier's raw material | 51 /s in CsI (0.2 four bit readings per second) | enough for a slow four bit AND gate |
| boundary events | 10⁷/s at percent level collection | 3.25 M/s, from 7% of core photons | 0.33× the assumption; 50 eight bit reads per second, not 153 |
| collar contrast | the GATE terminal | 6.34 in plastic, 11.94 in CsI | a knob, not a switch |
| synapse weights | written by geometry | nearest neighbour 3×10⁻⁵, fan out 0.1% | the fan out tax, three orders below the toy fabric |
| septum blocking | inhibitory | coupling left at 0.49 (unshielded side 1.00) | a filter, not a wall |
| dose | to be certified | 67.8 µSv/h at the wall, 0.261 µSv/h at 1 m; 7.7% of core photons escape | a lead pot instrument, as the licence class said |
The design's power ledger holds; its proposal budget holds only with CsI cells; its boundary budget is a factor 3.0 optimistic; its two mechanical controls are analog because its light is hard; and its wall is a filter for the same reason. The ampoule is a rate coded sampler with small weights and a narrower mouth than it was priced with, and each of those words is now a number.
compile.py runs the compiler of theory Section 11 on the Green's function above and closes the vessel's timing (compile_results.md, figure 18). The fabric is solid angle times a 3 percent interaction probability. Way B places the twin's instance on the lattice's 120 bonds exactly, and the 60 couplings per site that pass no aperture then bury it, 7.9× the instance in weight units, with a fluctuation still 3.1× the drive after the collar takes out the mean. The 64 site law is checked against an exact transfer matrix at 3.3 sweeps per independent sample. And every weight is a photon current, 16.3 per second per nearest neighbour bond with CsI cells, which makes the vessel as built a 0.34 sample per second machine against the 38,462 priced on proposals, with a ladder of two measured levers and two licences back.
python3 calibrate.py # a minute
python3 model.py # about ten minutes on a laptop; --quick for a tenth of the particles
python3 report.py # seconds; numpy and matplotlib only
python3 compile.py # ten seconds; numpy and matplotlib only
Requires OpenMC 0.16 and the data that neutron/data.py fetches, which now includes the photoatomic files and the natural isotopes of every element in the vessel.
The theory's sealed machine was a design; it is now a transport calculation, and the calculation says what the design could not: how many photons there are, where they go, how much of each site's traffic is another site's, what the two mechanical controls are worth, and what the wall lets through.