One of the [studies we reproduced](/writing/interface-studies-reproduced) for [Questions we need Emily to answer](/writing/questions-for-emily-testing-a-theory-of-the-interface), the companion to [the essay](/writing/testing-a-theory-of-the-interface-with-an-ontology). Generated by `scripts/reproduce_studies.py` from `reproductions/krzeminski_2012.py`. Every value from the paper was read by an AI agent and has not been checked by a person; the sample and history were re-read from the PDF alone by a second agent that had not seen our earlier transcription.
The study and why we depend on it
C. Krzeminski, X.-L. Han and G. Larrieu, “Understanding of the retarded oxidation effects in silicon nanostructures”, Appl. Phys. Lett. 100, 263111 (2012); arXiv 1203.2803 (the version read).
The second nanowire dataset, from the same laboratory (LAAS, Larrieu) eleven years before Müller 2023, and the one the radial program is tested on with nothing refitted. Figure 1(b) gives the oxide at mid-height on six wires and on nanobeams after 10 and 20 min of wet oxidation at 850 °C; Figure 1(a) gives two wires and two rings against time. Run unchanged, the predictor's radial program passes 4 of 12 wires (evaluations/krzeminski_transfer_report.json): it predicts too little slowdown on wires of 70 nm and below. scripts/search_nanowire.py then fitted the form of the curvature slowdown on Müller's five largest wires and this paper's six 10 min wires together and held out the 20 min wires; it chose a curvature length (exp(−ℓ/a), ℓ = 6.4 nm) over the viscous shell. The predictor still runs the shell with Müller's stress time, so on this page the 10 min wires are not fitted by the program that runs; they are the rows the alignment chooses its unknowns on.
How well can this study be reproduced?
Low. One sentence describes the process: etched structures “wet oxidized at 850°C” for 10 and 20 minutes. No furnace cycle, no steam source, no wafer orientation or doping, no clean, no statement of whether each time is a fresh sample. Every curve starts at about 5 nm at t = 0 without explanation. Its value is the nanobeams: a flat sidewall oxidized beside the wires in the same run, which gives the rate a nanowire program needs without knowing the furnace.
| Sample described | 0 of 5 properties we need are stated and encoded the same |
| History described | 1 of 9 steps are stated and encoded the same; 1 are stated by the paper and absent from our history; 5 are ours because the paper is silent |
| Timing | 1 of 3 simulated steps have a stated duration; 5 of 5 other steps have none; 5 timing gaps listed below |
| How the results are given | Figure 1 only, no printed thicknesses (read from the vector drawing); the planar (110) line may be a model curve |
| Repeatability stated by the authors | Not stated; no error bars |
| Internal consistency | Moderate. The two panels of Figure 1 agree where they overlap. The planar (110) line in Figure 1(b) (about 37 and 57 nm at 10 and 20 min) does not match the dashed curve in Figure 1(a); the model's printed rate constants are many orders of magnitude from the rates in its Figure 4 |
| Is our model independent of this paper's data? | Yes for the predictor as it stands: its stress time (142 s) was fitted on Müller's five largest wires only, and its rate is Müller's. A separate structure search (scripts/search_nanowire.py) fitted a curvature length jointly on Müller's large wires and this paper's six 10 min wires; that search's result is not what the predictor runs |
| Outcome | 9 of 13 numbers within tolerance |
The grade is ours and is about the paper as a source for simulation, not about the quality of the experiment: high means the sample, every step and its timing are stated well enough that a simulation needs no choices of ours; moderate that some choices are ours and are listed; low that the result depends on choices the paper does not constrain.
The sample and its history, played back
The sample is drawn from the simulation: layer heights and the read-outs are what the ISL programs compute at each moment of the history. Steps the language cannot state (a clean, a metallization, a measurement) are on the clock and marked as recorded, not simulated.
“With the current top-down fabrication capabilities, etched silicon nanostructures including nanobeams, nanorings and nanowires have been fabricated with a high resolution [8]”
| oxide thickness | 0 nm | 21.6 |
| remaining silicon diameter | 90 nm | |
| consumed substrate (radius) | 0 nm |
Does our sample and history match the paper's?
Left: the paper's own words, with the page of the PDF. Right: what we simulate. 1 same, 3 approximated, 7 assumed, 3 not in ours.
The timing of the history
Time is counted from the start of the first simulated step. A step the language cannot state takes no simulated time; where the paper gives its duration, the duration is in the last column. Stated means the paper gives the duration; partly stated that it gives a bound or a range; not stated; assumed that the duration in our history is ours.
Si nanowire, 90 nm, 10 min
| # | Step | Starts at | Lasts | Ends at | Temperature | Rate | Gas | Is the timing in the paper? |
|---|---|---|---|---|---|---|---|---|
| 1 | Top-down lithography and etch (details in Ref. 8) | 0 s | not simulated | not stated | ||||
| 2 | Pre-oxidation clean | 0 s | not simulated | not stated | ||||
| 3 | Into the furnace | 0 s | not simulated | not stated. Load temperature, gas and push rate not stated | ||||
| 4 | Ramp to 850 °C (assumed, in nitrogen) | 0 s | 15 min | 15 min | 700 → 850 °C | +0.167 °C/s | inert_N2 | not stated; assumed. no ramp, load temperature or gas stated; 5 to 30 min searched |
| 5 | Oxide present at time zero (about 5 nm) | 15 min | 1 min 30 s | 16 min 30 s | 850 → 850 °C | held | steam | not stated; assumed. about 5 nm at t = 0 on the figure; written as 1 to 300 s of steam before the stated time |
| 6 | Wet oxidation at 850 °C, 10 min | 16 min 30 s | 10 min | 26 min 30 s | 850 → 850 °C | held | steam | stated. 10 and 20 min in the text; 10 to 40 min on the axis of Figure 1(a). Whether each time is a fresh sample is not stated |
| 7 | Unload and cool | 26 min 30 s | not simulated | not stated. Gas, rate and temperature not stated | ||||
| 8 | Oxide thickness by SEM at mid-height | 26 min 30 s | not simulated | not stated |
Simulated time in this history: 26 min 30 s.
Across the samples
| Sample | RampUp | TimeZeroOxide | WetOxidation | Total |
|---|---|---|---|---|
| Si nanowire, 90 nm, 10 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 10 min at 850 °C | 26 min 30 s |
| Si nanowire, 30 nm, 10 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 10 min at 850 °C | 26 min 30 s |
| Si nanowire, 40 nm, 10 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 10 min at 850 °C | 26 min 30 s |
| Si nanowire, 70 nm, 10 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 10 min at 850 °C | 26 min 30 s |
| Si nanowire, 130 nm, 10 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 10 min at 850 °C | 26 min 30 s |
| Si nanowire, 230 nm, 10 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 10 min at 850 °C | 26 min 30 s |
| Si nanowire, 30 nm, 20 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 20 min at 850 °C | 36 min 30 s |
| Si nanowire, 40 nm, 20 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 20 min at 850 °C | 36 min 30 s |
| Si nanowire, 70 nm, 20 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 20 min at 850 °C | 36 min 30 s |
| Si nanowire, 90 nm, 20 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 20 min at 850 °C | 36 min 30 s |
| Si nanowire, 130 nm, 20 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 20 min at 850 °C | 36 min 30 s |
| Si nanowire, 230 nm, 20 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 20 min at 850 °C | 36 min 30 s |
| Si nanobeam, 50 nm wide, 10 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 10 min at 850 °C | 26 min 30 s |
| Si nanowire, 70 nm, 10 to 40 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 40 min at 850 °C | 56 min 30 s |
| Si nanowire, 130 nm, 10 to 40 min | 15 min at 700→850 °C | 1 min 30 s at 850 °C | 40 min at 850 °C | 56 min 30 s |
Timing the paper does not give
- No furnace cycle at all: load temperature, ramp, gas before and after the steam, cool-down and unload.
- Time zero: whether 10 and 20 min count from steam on, and what grows the 5 nm present at t = 0.
- Whether each time is a fresh sample or one sample oxidized again.
- Steam source and partial pressure: “wet” only.
- The 30 and 40 min points of Figure 1(a) exist for two wires only.
What the second reading changed
- The stored recipe is one steam step of 600 or 1200 s at 850 °C. The paper states 850 °C, “wet” and the two times, and nothing else; the stored recipe adds pure steam at 1 atm. Our history adds an assumed ramp and an assumed oxide at time zero.
- Every curve of Figure 1(a) starts at about 5 nm at t = 0. The radial program starts from bare silicon, so either the program misses 5 nm or the paper's times do not start at the start of oxidation. Writing that oxide as 90 s of steam before the stated time makes every wire thicker by 1 to 5 nm, which is the wrong direction for this paper.
- The predictor uses Müller's flat-surface rate (1.46 nm/min on bulk times a sidewall factor of 2.32, about 3.4 nm/min on a flat sidewall) and grows linearly in time. This paper's nanobeams, the flat sidewall of this run, have 32.2 nm at 10 min (3.2 nm/min) and 42.3 nm at 20 min (2.1 nm/min on average): the furnace's flat rate falls with time, and the program's does not. At 20 min the program's flat sidewall would carry 68 nm.
- The stored ORIENTATION is Si100. The paper never states the wafer orientation; the planar line it compares with is (110).
- The nanobeams and nanorings are not in the stored recipes. The beams are in the dataset as rows with no program; the rings are not in the dataset.
Their terms and ours
| The paper says | We write | Kind in our vocabulary | Note |
|---|---|---|---|
| SiNWs (convex nanostructure), diameter d | SHAPE: nanowire; DIAMETER_NM | sample fields (not in ontology/isl_vocabulary.json) | |
| nanobeam of previous width L | SHAPE: nanobeam; WIDTH_NM | sample fields; no program | A flat sidewall in a nanostructure: the quantity the radial program takes from Müller as its sidewall factor. |
| nanoring, inner diameter (concave) | (none) | no shape the language or a program has | The paper's minus sign in Eq. 1. |
| wet oxidized at 850°C | AMBIENT steam | ambient | p_H2O = 1 atm is ours; the source of the steam is not stated. |
| oxide thickness measured in the middle of the structures | Thickness (target: oxide thickness) | observable (target: layer_thickness) | At mid-height of a 240 nm wire; the program is an infinite cylinder. |
| retarded oxidation | F_ShellFlowStress: exp(-stress) | operator kind Relaxation; parameter stress_time (fitted on Müller) | The paper's mechanism is reaction-limited by radial stress for convex wires; ours is a lumped form of that. |
| radial stress σ_r, activation volume V_k | stress (a state, dimensionless) | STATE | Ours is σ_r V_k / k_B T lumped, with no units of pressure. |
| hydrostatic pressure on diffusion, V_d | (none) | not in the program | The paper says this dominates for concave rings. |
| shear-dependent (plastic) viscosity | (none) | not in the program | Ours is a linear viscous shell. |
| Si bulk (110) | (none) | a planar reference not encoded | Possibly a calculated curve. |
The simulation in our language
Each sample is one history file: a SAMPLE and a CONTROL_TRAJECTORY. This is the whole input; run it with PYTHONPATH=. python -m isl_harness.predict <file>.
Si nanowire, 90 nm, 10 min
# Si nanowire, 90 nm, 10 min
SAMPLE Si_nanowire_90nm_10min {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 90
HEIGHT_NM: 240
RUN_FLAT_OXIDE_NM: 32.2
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 600 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Si nanowire, 30 nm, 10 min
# Si nanowire, 30 nm, 10 min
SAMPLE Si_nanowire_30nm_10min {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 30
HEIGHT_NM: 240
RUN_FLAT_OXIDE_NM: 32.2
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 600 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Si nanowire, 40 nm, 10 min
# Si nanowire, 40 nm, 10 min
SAMPLE Si_nanowire_40nm_10min {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 40
HEIGHT_NM: 240
RUN_FLAT_OXIDE_NM: 32.2
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 600 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Si nanowire, 70 nm, 10 min
# Si nanowire, 70 nm, 10 min
SAMPLE Si_nanowire_70nm_10min {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 70
HEIGHT_NM: 240
RUN_FLAT_OXIDE_NM: 32.2
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 600 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Si nanowire, 130 nm, 10 min
# Si nanowire, 130 nm, 10 min
SAMPLE Si_nanowire_130nm_10min {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 130
HEIGHT_NM: 240
RUN_FLAT_OXIDE_NM: 32.2
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 600 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Si nanowire, 230 nm, 10 min
# Si nanowire, 230 nm, 10 min
SAMPLE Si_nanowire_230nm_10min {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 230
HEIGHT_NM: 240
RUN_FLAT_OXIDE_NM: 32.2
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 600 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Si nanowire, 30 nm, 20 min
# Si nanowire, 30 nm, 20 min
SAMPLE Si_nanowire_30nm_20min {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 30
HEIGHT_NM: 240
RUN_FLAT_OXIDE_NM: 42.3
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 1200 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Si nanowire, 40 nm, 20 min
# Si nanowire, 40 nm, 20 min
SAMPLE Si_nanowire_40nm_20min {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 40
HEIGHT_NM: 240
RUN_FLAT_OXIDE_NM: 42.3
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 1200 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Si nanowire, 70 nm, 20 min
# Si nanowire, 70 nm, 20 min
SAMPLE Si_nanowire_70nm_20min {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 70
HEIGHT_NM: 240
RUN_FLAT_OXIDE_NM: 42.3
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 1200 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Si nanowire, 90 nm, 20 min
# Si nanowire, 90 nm, 20 min
SAMPLE Si_nanowire_90nm_20min {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 90
HEIGHT_NM: 240
RUN_FLAT_OXIDE_NM: 42.3
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 1200 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Si nanowire, 130 nm, 20 min
# Si nanowire, 130 nm, 20 min
SAMPLE Si_nanowire_130nm_20min {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 130
HEIGHT_NM: 240
RUN_FLAT_OXIDE_NM: 42.3
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 1200 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Si nanowire, 230 nm, 20 min
# Si nanowire, 230 nm, 20 min
SAMPLE Si_nanowire_230nm_20min {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 230
HEIGHT_NM: 240
RUN_FLAT_OXIDE_NM: 42.3
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 1200 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Si nanobeam, 50 nm wide, 10 min
# Si nanobeam, 50 nm wide, 10 min
SAMPLE Si_nanobeam_50nm_10min {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanobeam
DIAMETER_NM: 50
WIDTH_NM: 50
HEIGHT_NM: 240
RUN_FLAT_OXIDE_NM: 32.2
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 600 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}A nanobeam has flat sidewalls. Since 11 November the predictor runs SHAPE nanobeam as flat sidewalls (no curvature term) with the run's flat-surface oxide as the rate; DIAMETER_NM carries the beam's width.
Si nanowire, 70 nm, 10 to 40 min
# Si nanowire, 70 nm, 10 to 40 min
SAMPLE Si_nanowire_70nm_series {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 70
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 2400 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Figure 1(a), drawn and not scored: the four times are not in the project's dataset, and the paper does not say whether they are one wire oxidized four times or four wires.
Si nanowire, 130 nm, 10 to 40 min
# Si nanowire, 130 nm, 10 to 40 min
SAMPLE Si_nanowire_130nm_series {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 130
}
CONTROL_TRAJECTORY History {
EVENT Fabricate KIND etch TIMING assumed # Top-down lithography and etch (details in Ref. 8)
EVENT Clean KIND clean TIMING assumed # Pre-oxidation clean
EVENT Load KIND load TIMING assumed # Into the furnace
RUN RampUp DURATION 900 TEMP 700->850 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN TimeZeroOxide DURATION 90 TEMP 850->850 AMBIENT steam TIMING assumed VARY duration 1..300
RUN WetOxidation DURATION 2400 TEMP 850->850 AMBIENT steam TIMING stated
EVENT Unload KIND other TIMING assumed # Unload and cool
EVENT Measure KIND measurement TIMING assumed # Oxide thickness by SEM at mid-height
}Figure 1(a), drawn and not scored: the four times are not in the project's dataset, and the paper does not say whether they are one wire oxidized four times or four wires.
The programs the predictor ran on these histories: experiments/muller_nanowire/radial_oxidation.isl.template with the length exponential curvature term.
The model itself, experiments/muller_nanowire/radial_oxidation.isl.template, as it is written. Every equation the simulation uses is in this text; the runtime holds no physics.
# ==============================================================================
# ISL MODEL: OXIDATION OF A SILICON NANOWIRE (challenge system 2)
#
# Data: Mueller et al., Nanotechnology 34, 105303 (2023), Figure 5: vertical silicon
# nanowires oxidized wet at 850 C, oxide thickness and remaining core against the
# as-etched diameter.
#
# The wire is a cylinder of silicon of radius a inside an oxide shell of outer radius b.
# - Oxide forms at the silicon surface at the planar linear rate, times a sidewall
# factor, reduced by diffusion through the shell in cylindrical geometry
# (the linear-parabolic law written for a cylinder, after Kao et al.).
# - New oxide takes more room than the silicon it replaces, so the shell must flow
# outward. In a viscous shell that puts the silicon surface under a radial
# compression proportional to the growth rate and to (1/a^2 - 1/b^2). The reaction
# slows exponentially with that compression. One parameter, stress_time, lumps the
# oxide viscosity and the activation volume of the reaction.
# - The stress is carried as a state that follows its viscous value with a short lag,
# because the viscous value depends on the rate it reduces.
# The outer radius is not a state: it follows from the silicon consumed.
#
# Not included: the effect of pressure on oxidant diffusion and solubility, stress-
# dependent viscosity, and faceting. Fields in {{braces}} are filled by
# scripts/run_muller_nanowire.py.
# ==============================================================================
SAMPLE Wire_{tag} {{
FAMILY: Si_Nanowire
CLEAN: not_stated
ORIENTATION: Si100
SHAPE: nanowire
DIAMETER_NM: {diameter_nm}
}}
STATE a {{ UNIT: cm; INITIAL: a_0; MIN: 1.0e-9; MAX: 1.0e-4 }}
STATE stress {{ UNIT: 1; INITIAL: 0; MIN: 0; MAX: 50 }}
CONTROL T {{ UNIT: K }}
CONTROL p_H2O {{ UNIT: atm }}
PARAMETER a_0 {{ VALUE: {a_0_cm}; UNIT: cm; STATUS: sourced; SOURCE: Mueller et al. 2023 Figure 5, half the as-etched diameter }}
# ---- taken from the paper's own planar and flat-sidewall measurements --------------
PARAMETER rate_planar {{ VALUE: {rate_planar}; UNIT: cm s^-1; STATUS: sourced; SOURCE: Mueller et al. 2023 Figure A1, slope of bulk (100) oxide thickness against time at 850 C wet }}
PARAMETER sidewall {{ VALUE: {sidewall}; UNIT: 1; STATUS: sourced; SOURCE: Mueller et al. 2023 p. 8, nanosheet oxide 44.1 nm over bulk oxide 19 nm in the same run }}
PARAMETER A_dg {{ VALUE: 1.1e-4; UNIT: cm; STATUS: sourced; SOURCE: Deal and Grove 1965 wet oxidation, A extrapolated from 920 and 1000 C to 850 C }}
# ---- fitted to the larger wires -----------------------------------------------------
PARAMETER stress_time {{ VALUE: 1.0; UNIT: s; STATUS: fitted }}
# ---- assumptions --------------------------------------------------------------------
PARAMETER lag {{ VALUE: 2.0; UNIT: s; STATUS: hypothesis }}
# Growth is switched off smoothly as the core vanishes, so a fully consumed wire stops instead of going negative.
PARAMETER a_end {{ VALUE: 2.0e-8; UNIT: cm; STATUS: hypothesis }}
PARAMETER expansion {{ VALUE: 2.27; UNIT: 1; STATUS: constant }}
PARAMETER consumed {{ VALUE: 0.44; UNIT: 1; STATUS: constant }}
PARAMETER p_ref {{ VALUE: 1.0; UNIT: atm; STATUS: constant }}
QUANTITY b {{ UNIT: cm; EQUATION: b = sqrt(a * a + expansion * (a_0 * a_0 - a * a)) }}
QUANTITY growth {{ UNIT: cm s^-1; EQUATION: growth = (p_H2O / p_ref) * sidewall * rate_planar * exp(-stress) * (a / (a + a_end)) / (1 + (2 * a / A_dg) * log(b / a)) }}
QUANTITY viscous_stress {{ UNIT: 1; EQUATION: viscous_stress = stress_time * (1 - consumed) * a * growth * (1 / (a * a) - 1 / (b * b)) }}
CONTROL_TRAJECTORY History_{tag} {{
{runs}
}}
# Silicon is consumed at 0.44 of the oxide thickness formed at its surface.
OPERATOR F_RadialOxidation : OxideGrowth {{
EQUATION: d(a)/dt = -consumed * growth
}}
# The compression at the silicon surface follows the value a viscous shell would carry.
OPERATOR F_ShellFlowStress : Relaxation {{
EQUATION: d(stress)/dt = (viscous_stress - stress) / lag
}}
OBSERVATION_MODEL Obs_Oxide {{ TARGET: Thickness; UNIT: cm; EQUATION: Thickness = sqrt(a * a + expansion * (a_0 * a_0 - a * a)) - a }}
OBSERVATION_MODEL Obs_Core {{ TARGET: Core_diameter; UNIT: cm; EQUATION: Core_diameter = 2 * a }}
OBSERVATION_MODEL Obs_Consumed {{ TARGET: Consumed_substrate; UNIT: cm; EQUATION: Consumed_substrate = a_0 - a }}
EVALUATION_CONTRACT Contract_{tag} {{
FROZEN: true
DATASET: data/derived/muller_2023_nanowires.csv
DATASET_DIGEST: sha256:{dataset_sha256}
SPLIT: {split}
TARGET: Thickness = {oxide_cm} +/- {oxide_tol_cm} abs
TARGET: Core_diameter = {core_cm} +/- {core_tol_cm} abs
}}Our simulation against the paper
9 within, 4 near of 13 numbers. Tolerance is stated per row; nothing was fitted for this page.
| Sample and history | Quantity | The paper | Our simulation | Difference | Verdict | What the program's own evaluation says | Where in the paper |
|---|---|---|---|---|---|---|---|
| Si nanowire, 90 nm, 10 min | oxide thickness at mid-height | 21.6 nm | 23.2 nm | +7% | within (±13.9%) | direction only | Figure 1(b), vector drawing; dataset krzeminski_2012_nanowires |
| Si nanowire, 30 nm, 10 min | oxide thickness at mid-height | 10.1 nm | 13.5 nm | +34% | near (±29.7%) | direction only | Figure 1(b), vector drawing; dataset krzeminski_2012_nanowires |
| Si nanowire, 40 nm, 10 min | oxide thickness at mid-height | 12.2 nm | 16.4 nm | +35% | near (±24.6%) | direction only | Figure 1(b), vector drawing; dataset krzeminski_2012_nanowires |
| Si nanowire, 70 nm, 10 min | oxide thickness at mid-height | 17.6 nm | 21.4 nm | +22% | near (±17%) | direction only | Figure 1(b), vector drawing; dataset krzeminski_2012_nanowires |
| Si nanowire, 130 nm, 10 min | oxide thickness at mid-height | 27.2 nm | 25.3 nm | -7% | within (±11%) | direction only | Figure 1(b), vector drawing; dataset krzeminski_2012_nanowires |
| Si nanowire, 230 nm, 10 min | oxide thickness at mid-height | 29.3 nm | 27.7 nm | -6% | within (±10.2%) | direction only | Figure 1(b), vector drawing; dataset krzeminski_2012_nanowires |
| Si nanowire, 30 nm, 20 min | oxide thickness at mid-height | 18 nm | 15.8 nm | -12% | within (±16.7%) | direction only | Figure 1(b), vector drawing; dataset krzeminski_2012_nanowires |
| Si nanowire, 40 nm, 20 min | oxide thickness at mid-height | 20.8 nm | 19.7 nm | -5% | within (±14.4%) | direction only | Figure 1(b), vector drawing; dataset krzeminski_2012_nanowires |
| Si nanowire, 70 nm, 20 min | oxide thickness at mid-height | 24.8 nm | 26.6 nm | +7% | within (±12.1%) | direction only | Figure 1(b), vector drawing; dataset krzeminski_2012_nanowires |
| Si nanowire, 90 nm, 20 min | oxide thickness at mid-height | 30.8 nm | 29.1 nm | -5% | within (±10%) | direction only | Figure 1(b), vector drawing; dataset krzeminski_2012_nanowires |
| Si nanowire, 130 nm, 20 min | oxide thickness at mid-height | 34.9 nm | 32.1 nm | -8% | within (±10%) | direction only | Figure 1(b), vector drawing; dataset krzeminski_2012_nanowires |
| Si nanowire, 230 nm, 20 min | oxide thickness at mid-height | 42.3 nm | 35.5 nm | -16% | near (±10%) | direction only | Figure 1(b), vector drawing; dataset krzeminski_2012_nanowires |
| Si nanobeam, 50 nm wide, 10 min | sidewall oxide at mid-height | 33.1 nm | 30.8 nm | -7% | within (±10%) | direction only | Figure 1(b), vector drawing; dataset krzeminski_2012_nanowires |
Aligning the simulation: what the unstated things would have to be
Every step whose timing or temperature the paper leaves open carries a range in the history above (VARY). scripts/align_study.py searched those ranges against the paper's numbers through the same predictor, first one unknown at a time, then all together. No parameter a program declares fitted was touched. The unknowns were chosen on nanowire_130nm_10min, nanowire_230nm_10min, nanowire_30nm_10min, nanowire_40nm_10min, nanowire_70nm_10min, nanowire_90nm_10min only; every other number is a test they played no part in.
| Unknown | What the paper says | Range searched | The reproduction used | Best alone | Score at the reproduction's value | Best score alone |
|---|---|---|---|---|---|---|
| Ramp to 850 °C (assumed, in nitrogen): duration | no ramp, load temperature or gas stated; 5 to 30 min searched | 300 to 1800 s | 900 s | 900 s (flat: the data do not constrain it) | 3 of 6 within tolerance, median error 14.6% | 3 of 6 within tolerance, median error 14.6% |
| Oxide present at time zero (about 5 nm): duration | about 5 nm at t = 0 on the figure; written as 1 to 300 s of steam before the stated time | 1 to 300 s | 90 s | 90 s (flat: the data do not constrain it) | 3 of 6 within tolerance, median error 14.6% | 3 of 6 within tolerance, median error 14.6% |
Together: RampUp duration 900 s (was 900); TimeZeroOxide duration 90 s (was 90).
As reproduced: 9 of 13 within tolerance, median error 7.5%. Aligned: 9 of 13 within tolerance, median error 7.5%. On the held-out samples only: 6 of 7 within tolerance, median error 7.2% as reproduced, 6 of 7 within tolerance, median error 7.2% aligned.
Choices of program or material property, each scored on its own and on top of the aligned history:
| Variant | Alone | With the aligned history |
|---|---|---|
| steam fraction 0.67 (pyrogenic H2:O2 = 1:1) | 3 of 13 within tolerance, median error 30.8% | 3 of 13 within tolerance, median error 30.8% |
The unknowns were chosen on the six wires after 10 min, the rows scripts/search_nanowire.py also trained on; the six wires after 20 min are the test. The program that runs is the predictor's: the viscous shell with the stress time fitted on Müller's wires, not the curvature length that search selected.
The ramp is not visible. The radial program's rate is proportional to p_H2O and has no temperature in it, so a ramp in nitrogen grows nothing at any length from 5 to 30 min (49.7% median error at every value). The data cannot say anything about it through this program, and the search leaves it at the low end of its range only because ties go to the first value.
The 5 nm at time zero is ruled out as extra growth. Every wire is already too thick as reproduced (median +48%). Any steam before time zero makes it worse: 1 s gives a median error of 34% on the 10 min wires, 90 s gives 50%, 300 s gives 83%. The search sets it to the minimum. Whatever the 5 nm is, this program cannot have grown it and still match the wires.
The rate matters most. Taking the flat-surface rate from this paper's own nanobeams instead of Müller's (written as a steam fraction of 0.95 at 10 min and 0.62 at 20 min, because the language has no other way to give a program a measured reference rate) brings the 20 min wires from 0 of 6 to 2 of 6 within tolerance and all 6 within twice the tolerance (median error 14%). The 10 min wires go to 2 of 6: the 130 and 230 nm wires within 1%, the 30, 40 and 70 nm wires 39 to 74% too thick (17.6 against 10.1 nm at 30 nm). A pyrogenic steam fraction of 0.67 applied to every step scores the same count overall (2 of 12 alone) but by being wrong the other way on the large 10 min wires.
Aligned with the nanobeam rate: 4 of 12 within tolerance, median error 18% (0 of 12, 48%, as reproduced). This is the same 4 of 12 that evaluations/krzeminski_transfer_report.json records for the transfer with nothing refitted.
6 within, 1 near of 7 numbers with the aligned settings (the samples used to choose the unknowns are left out).
| Sample | Quantity | The paper | As reproduced above | Aligned | Difference | Verdict | How |
|---|---|---|---|---|---|---|---|
| Si nanowire, 30 nm, 20 min | oxide thickness at mid-height | 18 nm | 15.8 | 15.8 | -12% | within (±17%) | test |
| Si nanowire, 40 nm, 20 min | oxide thickness at mid-height | 20.8 nm | 19.7 | 19.7 | -5% | within (±14%) | test |
| Si nanowire, 70 nm, 20 min | oxide thickness at mid-height | 24.8 nm | 26.6 | 26.6 | +7% | within (±12%) | test |
| Si nanowire, 90 nm, 20 min | oxide thickness at mid-height | 30.8 nm | 29.1 | 29.1 | -5% | within (±10%) | test |
| Si nanowire, 130 nm, 20 min | oxide thickness at mid-height | 34.9 nm | 32.1 | 32.1 | -8% | within (±10%) | test |
| Si nanowire, 230 nm, 20 min | oxide thickness at mid-height | 42.3 nm | 35.5 | 35.5 | -16% | near (±10%) | test |
| Si nanobeam, 50 nm wide, 10 min | sidewall oxide at mid-height | 33.1 nm | 30.8 | 30.8 | -7% | within (±10%) | test |
What alignment cannot fix: the wires of 70 nm and below are 39 to 74% too thick after 10 min and 17 to 24% after 20 min. The viscous shell, with a stress time fitted on Müller's wires of 75 nm and above, slows small wires too little. No history unknown changes that; it is the form of the curvature term. scripts/search_nanowire.py found that a curvature length (rate × exp(−ℓ/a), ℓ = 6.4 nm), fitted on Müller's large wires and these 10 min wires together, passes 5 of the 6 held-out 20 min wires; the predictor does not run it.
The program's flat rate is linear in time. The paper's flat sidewall grows 32.2 nm in 10 min and 42.3 nm in 20 min, and the 130 nm wire in Figure 1(a) bends over between 20 and 40 min (35.1 to 50.8 nm) while the program goes on at its rate (time chart above). Giving the rate per time as a steam fraction hides this for the two stated times only.
What our language and ontology cannot yet say
- A reference sample in the same run. The nanobeams were oxidized beside the wires; their oxide is the furnace's flat-surface rate. The language cannot say that two samples shared a furnace run, nor let a program take its rate from a measured co-processed sample. Here it had to be smuggled in as a steam fraction per case. A
BATCHof samples under one trajectory, with aREFERENCEsample whose measured value is an input, would make that explicit and stop the steam fraction meaning two things. - A starting oxide on the sample. The ~5 nm at t = 0 has no place: the radial program starts from bare silicon, and writing it as extra steam time grows it radially with the wire's slowdown. A sample field
OXIDE_NMread as the initial shell (b > a at t = 0) would let the 5 nm be tested as native or ramp oxide. - Shapes beyond a cylinder. Nanobeams (flat sidewalls) and nanorings (concave) are half of this paper's data and have no SHAPE a program reads. A
SHAPE: nanobeamshould select a flat-sidewall program, and aSHAPE: nanoringwith an inner radius should select the concave sign of Eq. 1; today a beam stored with DIAMETER_NM is silently run as a cylinder. - Temperature and gas in the nanowire program. Its rate depends on p_H2O only, so ramps, dry oxygen and the 850 °C itself are invisible. An Arrhenius rate and a dry-oxygen channel would let the furnace-cycle unknowns mean something.
- Which form runs. The predictor runs the viscous shell fitted on one paper while the project's own search selected another form on two. A program registry that records which form a search selected, and runs that one, would make the page and the search agree.
With heating and cooling transitions
No paper we hold states how its wafers heated up or cooled down. The project owner specified scenarios for one Vitkavage wafer (isl_harness/vitkavage_transitions.py); isl_harness/thermal_transitions.py applies the same numbers to every sample here: a heat-up in nitrogen before the first furnace step (a hot push of 1 to 5 min, or a cold-furnace ramp of 60 to 120 min), the owner's radiative cooling knots after the last furnace step or after the paper's own pull (fast, or every time multiplied by 5), and ramps around an anneal at 300 to 500 °C. The paper's own steps are kept as written. All transitions are assumptions, written in the history with TIMING assumed.
| History | Within tolerance | Median error | Changed numbers |
|---|---|---|---|
| as the paper states it (above) | 9 of 13 | 7.5% | |
| heat-up A (hot push), fast cooling | 9 of 13 | 7.5% | 0 of 13 moved by more than 2% |
| heat-up A (hot push), slow cooling | 9 of 13 | 7.5% | 0 of 13 moved by more than 2% |
| heat-up B (cold-furnace ramp), fast cooling | 9 of 13 | 7.5% | 0 of 13 moved by more than 2% |
| heat-up B (cold-furnace ramp), slow cooling | 9 of 13 | 7.5% | 0 of 13 moved by more than 2% |
The paper's own conclusions
| The paper states | What we find | |
|---|---|---|
| Oxide on wires falls with decreasing diameter at 10 and 20 min | Direction reproduced; the amount is too small below 90 nm (the program slows too little) | direction right |
| Nanobeam sidewall oxide does not depend on width and is thicker than on a wire of the same size | No program for a flat nanostructure sidewall; the beams are used only as the rate | not tested |
| Growth slows with time on wires and rings; convex faster than concave | The radial program's flat rate is linear in time: on the 130 nm wire it keeps growing where the data bend (Figure 1(a) chart); rings are not modelled | partly |
| Retardation is reaction-limited by radial stress for convex wires, diffusion-limited by pressure for concave rings | Our program has only the first, lumped; the second is absent | not tested |
What we would like Emily to check
- Is the steam in this furnace pyrogenic, as in Müller 2023, and is the furnace cycle the same (600 °C load, nitrogen ramp, oxygen ramp, 5 min hold)?
- What is the 5 nm on every curve at t = 0: native oxide, oxide from the ramp, or an offset of the fit?
- Were the nanobeams and the wires in the same furnace run, so that the beam oxide is the flat-surface rate the wires saw?
- Is the “Si bulk (110)” line a measured wafer or a calculated curve?
- Is each point of Figure 1(a) a fresh sample, or one sample returned to the furnace?