Agentic PrimitivesAP

Study reproduced ·

Reproducing Razouk and Deal 1979: interface state density against oxidation temperature, orientation and the end of the oxidation

Razouk and Deal 1979: the sample and the timing of its process history as the paper states them, our encoding beside them item by item, the simulation in ISL, and how far it lands from the paper's numbers (5 within, 27 off).

Richard Pedersen · Agentic Trust Labs · Rich Canvas

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/razouk_deal_1979.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

R. R. Razouk and B. E. Deal, “Dependence of Interface State Density on Silicon Thermal Oxidation Process Variables”, J. Electrochem. Soc. 126, 1573–1581 (1979).

Fairchild's own measurement of midgap interface state density against oxidation temperature, orientation and the way an oxidation ends, from the laboratory whose fixed-charge work (Deal 1967, Deal and Razouk 1980) our charge program is tested on. The trap-density program was fitted on Vitkavage 1990 only, so every number here is a test in another laboratory. The project's earlier analysis (scripts/analyse_razouk.py, scripts/analyse_lab_gap.py, evaluations/razouk_analysis.json, evaluations/lab_gap_analysis.json) found that on the same nominal recipe (dry oxygen, fast pull in oxygen, no anneal) Razouk's (100) values are 3.0 times Vitkavage's at 900 °C and 6.0 times at 1000 °C: laboratories differ 3 to 7 times for reasons the papers do not record. This page shows what that means for a simulation.

How well can this study be reproduced?

Low. Gas, temperature, pull and hydrogen anneal are stated, but the oxidation time is stated only for the inert-anneal experiment (360 min at 1000 °C, 60 min at 1200 °C). For the temperature series it has to be inferred from a thickness range given for the whole paper. The pull's end and the wafer's cooling in the quartz “elephant” are not stated. Every value is on a figure; n- and p-type are averaged in some figures and not in others.

Sample described1 of 6 properties we need are stated and encoded the same
History described2 of 7 steps are stated and encoded the same; 2 are stated by the paper and absent from our history; 0 are ours because the paper is silent
Timing0 of 2 simulated steps have a stated duration; 5 of 5 other steps have none; 6 timing gaps listed below
How the results are givenFigures only (bar charts and scatter plots, Figures 7, 8, 9, 13), read by eye by AI agents twice; no table of values
Repeatability stated by the authors“Typical variations in the values of interface state density at midgap were ±5% on a wafer. The largest recorded variation on one wafer was ±10%.” (p. 4). Run-to-run scatter not stated
Internal consistencyFair. Figure 13's unannealed n-type (100) points agree with Figure 8's; Figure 9's (111) oxygen-cooled value (about 16 × 10^11) is well below Figure 8's at the same temperature (26.5); the text's 3:1 (111):(100) ratio is 4.6:1 at 1200 °C on Figure 8
Is our model independent of this paper's data?Yes. Nothing in the trap-density program was fitted to this paper: it was found on Vitkavage 1990, another laboratory eleven years later. The fixed-charge program was fitted to Stanford's argon anneals; growth uses the 1965 constants
Outcome5 of 32 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.

Si
Step 1 of 7 · recorded, not simulated
Acid clean, HF, isopropanol vapour
temperature 25 °C
elapsed 0 s of 17 h 30 min 03 s
timing in the paper: not stated

“cleaned in sulfuric-peroxide or hot sulfuric acid, aqua regia, 10:1 water: hydrofluoric acid, and isopropanol vapor with appropriate deionized water rinses”

The simulation at this moment
oxide thickness0 nm
fixed charge1.96×10¹¹ cm⁻²
interface state density at midgap4.24×10¹¹ cm⁻² eV⁻¹1.21×10¹²
right column: the paper, at the end of the history
CleanLoadOxidation17.5 hPull3 sMetalNoAnnealCV9000 °CThe same history to true scale (17 h 30 min 03 s simulated). Steps with no stated duration take no width.Temperature through the history. Step widths grow with the logarithm of duration; the bar under each step is how well our encoding matches the paper.
Drag the sample to turn it. Click the clock to move through the history.Layer heights are the simulated thicknesses, drawn to one scale within the film; the substrate is cut short.

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. 3 same, 6 approximated, 4 not in ours.

✓3 same≈6 approximated✕4 not in ours
Sample: what the paper saysWhat we simulate
Substrate
“Experiments were carried out with (100) and (111) wafers, chemically polished on one side and etched on the other side.” “Crystal growth was by the Czochralski process.”
PDF p. 2
✓same
FAMILY: Si_Planar; ORIENTATION: Si100 | Si111; GROWTH: Cz (recorded)
Doping
“4-6 Ω-cm for n-type phosphorus-doped and 5-9 Ω-cm for p-type boron-doped”; Figures 7 and 8 average n and p, Figure 13 is n-type
PDF p. 2
≈approximated
DOPING: n_and_p_averaged | n_type_phosphorus (recorded; no program reads it)
On Figure 8 n-type (100) is 40% above p-type at 1100 and 1200 °C; the program has no doping.
Clean
sulfuric-peroxide or hot sulfuric acid, aqua regia, 10:1 HF, isopropanol vapour
PDF p. 2
≈approximated
CLEAN: sulfuric_aqua_regia_HF
Gettering, defects
“no gettering processes were employed”; etch pits “under 400 maximum average/cm2”
PDF p. 2
✕not in ours
not in our sample
Oxide
1200–2200 Å overall; per orientation only at 800 and 1200 °C
PDF p. 2
≈approximated
grown by the history with the 1965 law
Thickness at 900–1100 °C is interpolated by us.
Gate
Aluminium dots, 1 µm, 750 µm diameter, flash evaporated at 25 °C
PDF p. 2
✕not in ours
not in our sample
History: what the paper saysWhat we simulate
Acid clean, HF, isopropanol vapour
“cleaned in sulfuric-peroxide or hot sulfuric acid, aqua regia, 10:1 water: hydrofluoric acid, and isopropanol vapor with appropriate deionized water rinses”
PDF p. 2
≈approximated
CLEAN: sulfuric_aqua_regia_HF on the sample; no operator reads it
The paper gives two first steps (sulfuric-peroxide or hot sulfuric); the vocabulary's clean names the second.
Loaded “in the appropriate ambient”
“The wafers were loaded in an oxidation furnace in the appropriate ambient, oxidized for the specified time”
PDF p. 2
✕not in ours
not in our history
Dry oxidation, 900 °C (time ours: 1050 min)
“P and n-type, (111) and (100) silicon wafers were oxidized in dry oxygen at 900°-1200°C”; dry oxygen “<2 ppm H2O”
PDF p. 5
≈approximated
RUN Oxidation DURATION 63000 TEMP 900->900 AMBIENT mix:O2=0.999998,H2O=2.0e-6
The time is not stated. Ours gives, by the 1965 law, the thickness the paper's 800 and 1200 °C values imply at this temperature for both orientations (see the timing section).
Fast pull in oxygen into a quartz “elephant”, under 3 s
“Following oxidation, the wafers were pulled from the furnace in less than 3 sec into a quartz “elephant.””
PDF p. 5
≈approximated
RUN Pull DURATION 3 TEMP 900->400 AMBIENT mix:O2=0.999998,H2O=2.0e-6
The time is the paper's. The end temperature (400 °C) is ours; how long the wafer stays in the elephant is not stated.
Aluminium dots, flash evaporated at 25 °C
“aluminum dots approximately 1 µm thick and 750 µm in diameter were vacuum deposited at 25°C … a nonelectron beam flash evaporation system was employed”
PDF p. 2
✕not in ours
not in our history
Recorded so the order of the history is visible; no program reads it.
The “as oxidized” half: no hydrogen anneal
“one-half received a low temperature hydrogen anneal while the other half was assigned to the “as oxidized” group”
PDF p. 2
✓same
no RUN after the pull
Quasi-static and high-frequency C-V; midgap density
“The values of the interface state density (Nst) were determined by the quasistatic C-V technique”; “averaged over several capacitors per sample”
PDF p. 2
✓same
the observables Dit (midgap) and Nf

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.

(100), 900 °C, fast pull in oxygen, as oxidized

#StepStarts atLastsEnds atTemperatureRateGasIs the timing in the paper?
1Acid clean, HF, isopropanol vapour0 snot simulatednot stated
2Loaded “in the appropriate ambient”0 snot simulatednot stated. Load temperature, push rate and any ramp are not given
3Dry oxidation, 900 °C (time ours: 1050 min)0 s17 h 30 min17 h 30 min900 → 900 °Cheldmix:O2=0.999998,H2O=2.0e-6not stated; assumed. Not stated. Searched over 800–1460 min, the times that keep the oxide within the paper's 120–220 nm
4Fast pull in oxygen into a quartz “elephant”, under 3 s17 h 30 min3 s17 h 30 min 03 s900 → 400 °C-167 °C/smix:O2=0.999998,H2O=2.0e-6partly stated. “less than 3 sec”; Figures 4, 5: “~3 sec”
5Aluminium dots, flash evaporated at 25 °C17 h 30 min 03 snot simulatednot stated
6The “as oxidized” half: no hydrogen anneal17 h 30 min 03 snot simulatednot stated
7Quasi-static and high-frequency C-V; midgap density17 h 30 min 03 snot simulatednot stated. Measurement temperature and ramp rate are not given

Simulated time in this history: 17 h 30 min 03 s.

Across the samples

SampleOxidationPullPMAInertAnnealTotal
(100), 900 °C, fast pull in oxygen, as oxidized17 h 30 min at 900 °C3 s at 900→400 °C––17 h 30 min 03 s
(100), 1000 °C, fast pull in oxygen, as oxidized5 h 30 min at 1000 °C3 s at 1000→400 °C––5 h 30 min 03 s
(100), 1100 °C, fast pull in oxygen, as oxidized2 h 15 min at 1100 °C3 s at 1100→400 °C––2 h 15 min 03 s
(100), 1200 °C, fast pull in oxygen, as oxidized1 h 05 min at 1200 °C3 s at 1200→400 °C––1 h 05 min 03 s
(111), 900 °C, fast pull in oxygen, as oxidized17 h 30 min at 900 °C3 s at 900→400 °C––17 h 30 min 03 s
(111), 1000 °C, fast pull in oxygen, as oxidized5 h 30 min at 1000 °C3 s at 1000→400 °C––5 h 30 min 03 s
(111), 1100 °C, fast pull in oxygen, as oxidized2 h 15 min at 1100 °C3 s at 1100→400 °C––2 h 15 min 03 s
(111), 1200 °C, fast pull in oxygen, as oxidized1 h 05 min at 1200 °C3 s at 1200→400 °C––1 h 05 min 03 s
(100), 900 °C, fast pull in oxygen, n-type, after the hydrogen anneal17 h 30 min at 900 °C3 s at 900→400 °C10 min at 500 °C–17 h 40 min 03 s
(100), 1000 °C, fast pull in oxygen, n-type, after the hydrogen anneal5 h 30 min at 1000 °C3 s at 1000→400 °C10 min at 500 °C–5 h 40 min 03 s
(100), 1100 °C, fast pull in oxygen, n-type, after the hydrogen anneal2 h 15 min at 1100 °C3 s at 1100→400 °C10 min at 500 °C–2 h 25 min 03 s
(100), 1200 °C, fast pull in oxygen, n-type, after the hydrogen anneal1 h 05 min at 1200 °C3 s at 1200→400 °C10 min at 500 °C–1 h 15 min 03 s
(100), 1000 °C, 360 min, then 60 min in nitrogen, as oxidized6 h 00 min at 1000 °C2 min at 1000→400 °C–1 h 00 min at 1000 °C7 h 02 min
(100), 1200 °C, 60 min, then 60 min in nitrogen, as oxidized1 h 00 min at 1200 °C2 min at 1200→400 °C–1 h 00 min at 1200 °C2 h 02 min
(111), 1000 °C, 360 min, then 60 min in nitrogen, as oxidized6 h 00 min at 1000 °C2 min at 1000→400 °C–1 h 00 min at 1000 °C7 h 02 min
(111), 1200 °C, 60 min, then 60 min in nitrogen, as oxidized1 h 00 min at 1200 °C2 min at 1200→400 °C–1 h 00 min at 1200 °C2 h 02 min
(100), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen anneal6 h 00 min at 1000 °C2 min at 1000→400 °C10 min at 500 °C1 h 00 min at 1000 °C7 h 12 min
(100), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen anneal1 h 00 min at 1200 °C2 min at 1200→400 °C10 min at 500 °C1 h 00 min at 1200 °C2 h 12 min
(111), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen anneal6 h 00 min at 1000 °C2 min at 1000→400 °C10 min at 500 °C1 h 00 min at 1000 °C7 h 12 min
(111), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen anneal1 h 00 min at 1200 °C2 min at 1200→400 °C10 min at 500 °C1 h 00 min at 1200 °C2 h 12 min
(100), 1200 °C, 60 min, then 60 min in argon, after the hydrogen anneal1 h 00 min at 1200 °C2 min at 1200→400 °C10 min at 500 °C1 h 00 min at 1200 °C2 h 12 min
(111), 1200 °C, 60 min, then 60 min in argon, after the hydrogen anneal1 h 00 min at 1200 °C2 min at 1200→400 °C10 min at 500 °C1 h 00 min at 1200 °C2 h 12 min

Timing the paper does not give

  • Oxidation time for the temperature series (Figures 8, 13) and for Figures 2–5 and 9: “oxidized for the specified time”, never specified. Ours is inferred from the thickness range, which itself is given only at 800 and 1200 °C.
  • How long the wafer stays in the quartz elephant after the pull, in what gas, and how fast it cools.
  • The end temperature of the 2 min inert pull/cool.
  • Load temperature, push rate and gas before oxygen.
  • Ramp and cool-down of the 500 °C hydrogen anneal; time between oxidation, metallization and anneal.
  • Figure 13's caption says “cooled in dry O2” without a pull time; we assume the fast pull of Figure 8, because the unannealed n-type points agree.

What the second reading changed

  • There is no dataset in data/derived for this paper and no stored recipe: the project's analyses read figures_agent_read_UNVERIFIED.csv directly, with the oxidation times 360 and 60 min for Figure 7 only and no history for Figures 8 and 13.
  • The two readings of the figures (ours earlier, and the second reading) agree within 5% on 41 of the 44 values both hold. They disagree on three: Figure 13 after hydrogen at 1200 °C (0.60 earlier, 0.52 in the second reading, 13%), Figure 7 (100) at 1200 °C, 10 min in nitrogen, unannealed (3.2 against 3.0, 6%) and the same in argon for 60 min after hydrogen (0.123 against 0.13, 6%). The values compared on this page are the earlier reading's, which the project's analyses use. The second reading also gives what the first did not: Figure 13 before hydrogen and after a 450 °C, 25% H2 anneal, and the fixed charge of Figures 7 and 9.
  • The earlier reading records only Figures 7, 8 and 13. Figure 9 (oxidation ambient at 1000 °C) puts the (111) oxygen-cooled value at about 16 × 10^11, against 26.5 on Figure 8 at the same temperature; the pull speed of Figure 9 is not stated, so the two cannot be reconciled.
  • The project's analyses treat Figure 8 values as wafers pulled “in under 3 s”; the paper also says pull rates “were varied from 1-3 sec to 10 min”, and Figure 13's oxygen-cooled wafers have no stated pull time.
  • evaluations/razouk_analysis.json compares each inert-held wafer with the oxygen-cooled wafer of Figure 8 at the same temperature. Those were oxidized for different (unstated) times and pulled in a different gas and at a different speed (3 s in oxygen against 2 min in nitrogen), as its own note says.

Their terms and ours

The paper saysWe writeKind in our vocabularyNote
Nst: interface state density (at midgap)Ditobservable (target: trap_density); quantity interface-state-densityThe paper's “states” are our “traps”.
Nst after the low-temperature hydrogen annealDit after RUN PMA … AMBIENT mix:H2=0.1,N2=0.9quantity interface-state-density-after-hydrogen-anneal
Qss/q: oxide fixed chargeNfobservable (target: fixed_charge)Measured on the hydrogen-annealed halves only.
dry oxygen (<2 ppm H2O)AMBIENT mix:O2=0.999998,H2O=2.0e-6ambient by partial pressureRead by the predictor as dry_O2; the moisture is an upper bound.
pulled … in less than 3 sec into a quartz “elephant”RUN Pull DURATION 3 TEMP T->400 … TIMING bound VARY duration 1..3a RUN; process factor final-annealThe elephant (a closed quartz end-piece) and the cooling inside it cannot be written.
annealed for 10 and 60 min … in argon and nitrogen`RUN InertAnneal … AMBIENT inert_N2inert_Ar`a RUN; process factor inert-anneal
2-min pull/cool in each ambientRUN Pull DURATION 120 TEMP T->400 AMBIENT inert_N2a RUN
10% hydrogen in nitrogen, 10 min at 500 °CRUN PMA DURATION 600 TEMP 500->500 AMBIENT mix:H2=0.1,N2=0.9a RUN; process factor hydrogen-annealVitkavage's anneal, which the program was fitted with, is 30 min at 400 °C.
donor-like / acceptor-like states; peaks(none)the program predicts one number at midgapThe paper's peaks 0.1–0.2 eV below midgap are not modelled.
“as oxidized” half; cut in halfEVENT NoAnneal; two samplestwo histories from one waferThe language has no statement that two samples are halves of one wafer.
specified time (oxidation)DURATION … TIMING assumed VARY durationan unknown inferred from thickness

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>.

(100), 900 °C, fast pull in oxygen, as oxidized

# (100), 900 °C, fast pull in oxygen, as oxidized
SAMPLE F8_100_900 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 63000 TEMP 900->900 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING assumed VARY duration 48000..87600
    RUN Pull DURATION 3 TEMP 900->400 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING bound VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    EVENT NoAnneal KIND other TIMING assumed                     # The “as oxidized” half: no hydrogen anneal
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(100), 1000 °C, fast pull in oxygen, as oxidized

# (100), 1000 °C, fast pull in oxygen, as oxidized
SAMPLE F8_100_1000 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 19800 TEMP 1000->1000 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING assumed VARY duration 12000..25200
    RUN Pull DURATION 3 TEMP 1000->400 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING bound VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    EVENT NoAnneal KIND other TIMING assumed                     # The “as oxidized” half: no hydrogen anneal
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(100), 1100 °C, fast pull in oxygen, as oxidized

# (100), 1100 °C, fast pull in oxygen, as oxidized
SAMPLE F8_100_1100 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 8100 TEMP 1100->1100 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING assumed VARY duration 3900..9300
    RUN Pull DURATION 3 TEMP 1100->400 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING bound VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    EVENT NoAnneal KIND other TIMING assumed                     # The “as oxidized” half: no hydrogen anneal
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(100), 1200 °C, fast pull in oxygen, as oxidized

# (100), 1200 °C, fast pull in oxygen, as oxidized
SAMPLE F8_100_1200 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 3900 TEMP 1200->1200 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING assumed VARY duration 1560..4200
    RUN Pull DURATION 3 TEMP 1200->400 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING bound VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    EVENT NoAnneal KIND other TIMING assumed                     # The “as oxidized” half: no hydrogen anneal
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(111), 900 °C, fast pull in oxygen, as oxidized

# (111), 900 °C, fast pull in oxygen, as oxidized
SAMPLE F8_111_900 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 63000 TEMP 900->900 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING assumed VARY duration 48000..87600
    RUN Pull DURATION 3 TEMP 900->400 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING bound VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    EVENT NoAnneal KIND other TIMING assumed                     # The “as oxidized” half: no hydrogen anneal
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(111), 1000 °C, fast pull in oxygen, as oxidized

# (111), 1000 °C, fast pull in oxygen, as oxidized
SAMPLE F8_111_1000 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 19800 TEMP 1000->1000 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING assumed VARY duration 12000..25200
    RUN Pull DURATION 3 TEMP 1000->400 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING bound VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    EVENT NoAnneal KIND other TIMING assumed                     # The “as oxidized” half: no hydrogen anneal
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(111), 1100 °C, fast pull in oxygen, as oxidized

# (111), 1100 °C, fast pull in oxygen, as oxidized
SAMPLE F8_111_1100 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 8100 TEMP 1100->1100 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING assumed VARY duration 3900..9300
    RUN Pull DURATION 3 TEMP 1100->400 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING bound VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    EVENT NoAnneal KIND other TIMING assumed                     # The “as oxidized” half: no hydrogen anneal
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(111), 1200 °C, fast pull in oxygen, as oxidized

# (111), 1200 °C, fast pull in oxygen, as oxidized
SAMPLE F8_111_1200 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 3900 TEMP 1200->1200 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING assumed VARY duration 1560..4200
    RUN Pull DURATION 3 TEMP 1200->400 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING bound VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    EVENT NoAnneal KIND other TIMING assumed                     # The “as oxidized” half: no hydrogen anneal
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(100), 900 °C, fast pull in oxygen, n-type, after the hydrogen anneal

# (100), 900 °C, fast pull in oxygen, n-type, after the hydrogen anneal
SAMPLE F13_100_900 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type_phosphorus
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 63000 TEMP 900->900 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING assumed VARY duration 48000..87600
    RUN Pull DURATION 3 TEMP 900->400 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING bound VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    RUN PMA DURATION 600 TEMP 500->500 AMBIENT mix:H2=0.1,N2=0.9 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(100), 1000 °C, fast pull in oxygen, n-type, after the hydrogen anneal

# (100), 1000 °C, fast pull in oxygen, n-type, after the hydrogen anneal
SAMPLE F13_100_1000 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type_phosphorus
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 19800 TEMP 1000->1000 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING assumed VARY duration 12000..25200
    RUN Pull DURATION 3 TEMP 1000->400 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING bound VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    RUN PMA DURATION 600 TEMP 500->500 AMBIENT mix:H2=0.1,N2=0.9 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(100), 1100 °C, fast pull in oxygen, n-type, after the hydrogen anneal

# (100), 1100 °C, fast pull in oxygen, n-type, after the hydrogen anneal
SAMPLE F13_100_1100 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type_phosphorus
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 8100 TEMP 1100->1100 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING assumed VARY duration 3900..9300
    RUN Pull DURATION 3 TEMP 1100->400 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING bound VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    RUN PMA DURATION 600 TEMP 500->500 AMBIENT mix:H2=0.1,N2=0.9 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(100), 1200 °C, fast pull in oxygen, n-type, after the hydrogen anneal

# (100), 1200 °C, fast pull in oxygen, n-type, after the hydrogen anneal
SAMPLE F13_100_1200 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type_phosphorus
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 3900 TEMP 1200->1200 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING assumed VARY duration 1560..4200
    RUN Pull DURATION 3 TEMP 1200->400 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING bound VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    RUN PMA DURATION 600 TEMP 500->500 AMBIENT mix:H2=0.1,N2=0.9 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(100), 1000 °C, 360 min, then 60 min in nitrogen, as oxidized

# (100), 1000 °C, 360 min, then 60 min in nitrogen, as oxidized
SAMPLE F7_100_1000_N2_noH2 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 21600 TEMP 1000->1000 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING stated
    RUN InertAnneal DURATION 3600 TEMP 1000->1000 AMBIENT inert_N2 TIMING stated
    RUN Pull DURATION 120 TEMP 1000->400 AMBIENT inert_N2 TIMING stated
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    EVENT NoAnneal KIND other TIMING assumed                     # The “as oxidized” half: no hydrogen anneal
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(100), 1200 °C, 60 min, then 60 min in nitrogen, as oxidized

# (100), 1200 °C, 60 min, then 60 min in nitrogen, as oxidized
SAMPLE F7_100_1200_N2_noH2 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 3600 TEMP 1200->1200 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING stated
    RUN InertAnneal DURATION 3600 TEMP 1200->1200 AMBIENT inert_N2 TIMING stated
    RUN Pull DURATION 120 TEMP 1200->400 AMBIENT inert_N2 TIMING stated
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    EVENT NoAnneal KIND other TIMING assumed                     # The “as oxidized” half: no hydrogen anneal
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(111), 1000 °C, 360 min, then 60 min in nitrogen, as oxidized

# (111), 1000 °C, 360 min, then 60 min in nitrogen, as oxidized
SAMPLE F7_111_1000_N2_noH2 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 21600 TEMP 1000->1000 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING stated
    RUN InertAnneal DURATION 3600 TEMP 1000->1000 AMBIENT inert_N2 TIMING stated
    RUN Pull DURATION 120 TEMP 1000->400 AMBIENT inert_N2 TIMING stated
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    EVENT NoAnneal KIND other TIMING assumed                     # The “as oxidized” half: no hydrogen anneal
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(111), 1200 °C, 60 min, then 60 min in nitrogen, as oxidized

# (111), 1200 °C, 60 min, then 60 min in nitrogen, as oxidized
SAMPLE F7_111_1200_N2_noH2 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 3600 TEMP 1200->1200 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING stated
    RUN InertAnneal DURATION 3600 TEMP 1200->1200 AMBIENT inert_N2 TIMING stated
    RUN Pull DURATION 120 TEMP 1200->400 AMBIENT inert_N2 TIMING stated
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    EVENT NoAnneal KIND other TIMING assumed                     # The “as oxidized” half: no hydrogen anneal
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(100), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen anneal

# (100), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen anneal
SAMPLE F7_100_1000_N2_H2 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 21600 TEMP 1000->1000 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING stated
    RUN InertAnneal DURATION 3600 TEMP 1000->1000 AMBIENT inert_N2 TIMING stated
    RUN Pull DURATION 120 TEMP 1000->400 AMBIENT inert_N2 TIMING stated
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    RUN PMA DURATION 600 TEMP 500->500 AMBIENT mix:H2=0.1,N2=0.9 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(100), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen anneal

# (100), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen anneal
SAMPLE F7_100_1200_N2_H2 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 3600 TEMP 1200->1200 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING stated
    RUN InertAnneal DURATION 3600 TEMP 1200->1200 AMBIENT inert_N2 TIMING stated
    RUN Pull DURATION 120 TEMP 1200->400 AMBIENT inert_N2 TIMING stated
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    RUN PMA DURATION 600 TEMP 500->500 AMBIENT mix:H2=0.1,N2=0.9 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(111), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen anneal

# (111), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen anneal
SAMPLE F7_111_1000_N2_H2 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 21600 TEMP 1000->1000 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING stated
    RUN InertAnneal DURATION 3600 TEMP 1000->1000 AMBIENT inert_N2 TIMING stated
    RUN Pull DURATION 120 TEMP 1000->400 AMBIENT inert_N2 TIMING stated
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    RUN PMA DURATION 600 TEMP 500->500 AMBIENT mix:H2=0.1,N2=0.9 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(111), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen anneal

# (111), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen anneal
SAMPLE F7_111_1200_N2_H2 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 3600 TEMP 1200->1200 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING stated
    RUN InertAnneal DURATION 3600 TEMP 1200->1200 AMBIENT inert_N2 TIMING stated
    RUN Pull DURATION 120 TEMP 1200->400 AMBIENT inert_N2 TIMING stated
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    RUN PMA DURATION 600 TEMP 500->500 AMBIENT mix:H2=0.1,N2=0.9 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(100), 1200 °C, 60 min, then 60 min in argon, after the hydrogen anneal

# (100), 1200 °C, 60 min, then 60 min in argon, after the hydrogen anneal
SAMPLE F7_100_1200_Ar_H2 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 3600 TEMP 1200->1200 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING stated
    RUN InertAnneal DURATION 3600 TEMP 1200->1200 AMBIENT inert_Ar TIMING stated
    RUN Pull DURATION 120 TEMP 1200->400 AMBIENT inert_Ar TIMING stated
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    RUN PMA DURATION 600 TEMP 500->500 AMBIENT mix:H2=0.1,N2=0.9 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

(111), 1200 °C, 60 min, then 60 min in argon, after the hydrogen anneal

# (111), 1200 °C, 60 min, then 60 min in argon, after the hydrogen anneal
SAMPLE F7_111_1200_Ar_H2 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_and_p_averaged
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, isopropanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 3600 TEMP 1200->1200 AMBIENT mix:O2=0.999998,H2O=2.0e-6 TIMING stated
    RUN InertAnneal DURATION 3600 TEMP 1200->1200 AMBIENT inert_Ar TIMING stated
    RUN Pull DURATION 120 TEMP 1200->400 AMBIENT inert_Ar TIMING stated
    EVENT Metal KIND metallization TIMING assumed                # Aluminium dots, flash evaporated at 25 °C
    RUN PMA DURATION 600 TEMP 500->500 AMBIENT mix:H2=0.1,N2=0.9 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # Quasi-static and high-frequency C-V; midgap density
}

The programs the predictor ran on these histories: experiments/atomistic/hydrogen_passivation_equilibrium.isl.template, experiments/deal_qss/two_equilibria.isl.template, experiments/vitkavage_dit/oxide_growth.isl.template, scripts/search_growth.py (structure generated from the grammar), scripts/search_trap_density.py (structure generated from the grammar).

The model itself, experiments/vitkavage_dit/oxide_growth.isl.template, as it is written. Every equation the simulation uses is in this text; the runtime holds no physics.

# ==============================================================================
# ISL MODEL: DRY THERMAL OXIDATION OF SILICON (growth sector)
#
# Linear-parabolic (Deal-Grove) growth written as one ISL operator. Nothing is
# fitted to the test data: every parameter keeps the value declared here.
#
# Provenance of the constants: the rate constants are an Arrhenius fit to Table II of
# Deal and Grove (1965), which is for (111) silicon; see scripts/derive_deal_grove_constants.py.
# The orientation factor for other faces is not in that paper and remains a hypothesis.
# Fields in {{braces}} are filled by scripts/run_vitkavage_growth.py.
# ==============================================================================
SAMPLE {sample_id} {{
    FAMILY: Si_Planar
    ORIENTATION: Si{orientation}
}}
# Oxide thickness. The initial value is Deal and Grove's effective starting thickness
# for dry oxygen, which stands in for the fast initial regime their model does not describe.
STATE x_ox {{
    UNIT: cm
    INITIAL: x_i
    MIN: 0
    MAX: 1.0e-3
}}
CONTROL T {{ UNIT: K }}
CONTROL p_O2 {{ UNIT: atm }}
# Parabolic rate constant B = B0 * exp(-E_B / kT).
PARAMETER B0 {{ VALUE: 3.6053e-09; UNIT: cm^2 s^-1; STATUS: sourced; SOURCE: Deal and Grove, J. Appl. Phys. 36, 3770 (1965), Table II, dry oxygen on (111), Arrhenius least-squares fit, table agent-read }}
PARAMETER E_B {{ VALUE: 1.2860; UNIT: eV; STATUS: sourced; SOURCE: Deal and Grove, J. Appl. Phys. 36, 3770 (1965), Table II, dry oxygen on (111), Arrhenius least-squares fit, table agent-read }}
# Linear rate constant B/A on (111) = BA0 * exp(-E_BA / kT).
PARAMETER BA0 {{ VALUE: 2.4265e-01; UNIT: cm s^-1; STATUS: sourced; SOURCE: Deal and Grove, J. Appl. Phys. 36, 3770 (1965), Table II, dry oxygen on (111), Arrhenius least-squares fit, table agent-read }}
PARAMETER E_BA {{ VALUE: 2.0303; UNIT: eV; STATUS: sourced; SOURCE: Deal and Grove, J. Appl. Phys. 36, 3770 (1965), Table II, dry oxygen on (111), Arrhenius least-squares fit, table agent-read }}
# Orientation factor on the linear rate, relative to (111).
PARAMETER r_or {{ VALUE: {r_or}; UNIT: 1; STATUS: hypothesis }}
# Effective initial thickness for dry oxygen.
PARAMETER x_i {{ VALUE: 2.3e-6; UNIT: cm; STATUS: sourced; SOURCE: Deal and Grove, J. Appl. Phys. 36, 3770 (1965), stated intercept 230 +/- 30 angstrom for dry oxygen, agent-read }}
# Both rate constants are proportional to oxidant pressure; the constants above are for 1 atm.
PARAMETER p_ref {{ VALUE: 1.0; UNIT: atm; STATUS: constant }}
PARAMETER k_B {{ VALUE: 8.617333262e-5; UNIT: eV K^-1; STATUS: constant }}
CONTROL_TRAJECTORY {trajectory_id} {{
    RUN Oxidation DURATION {duration_s} TEMP {T_C}->{T_C} AMBIENT dry_O2
}}
# dx/dt = B / (2x + A), with A = B / (B/A).
OPERATOR F_LinearParabolicGrowth : OxideGrowth {{
    EQUATION: d(x_ox)/dt = (p_O2 / p_ref) * B0 * exp(-E_B / (k_B * T)) / (2 * x_ox + B0 * exp(-E_B / (k_B * T)) / (r_or * BA0 * exp(-E_BA / (k_B * T))))
}}
OBSERVATION_MODEL Obs_Oxide_Thickness {{
    TARGET: Thickness
    UNIT: cm
    EQUATION: Thickness = x_ox
}}
# Silicon consumed by the oxide grown in this recipe: 0.44 of its thickness, by the ratio of molar volumes.
OBSERVATION_MODEL Obs_Consumed_Silicon {{
    TARGET: Consumed_substrate
    UNIT: cm
    EQUATION: Consumed_substrate = 0.44 * (x_ox - x_i)
}}
EVALUATION_CONTRACT {contract_id} {{
    FROZEN: true
    DATASET: data/derived/vitkavage_1990_thickness.csv
    DATASET_DIGEST: sha256:{dataset_sha256}
    SPLIT: test
    TARGET: Thickness = {target} +/- {tolerance} rel
}}

Our simulation against the paper

5 within, 27 off of 32 numbers. Tolerance is stated per row; nothing was fitted for this page.

✓5 within tolerance✕27 outside
simulation below the paper ← 0 → simulation above the paper-100%-50%0%+50%+100%(100), 900 °C, fast pull in oxygen, as oxidiz…midgap Nstours 2.40×10¹¹ · paper 1.21×10¹² cm⁻² eV⁻¹✕ outside (-80%)(100), 1000 °C, fast pull in oxygen, as oxidi…midgap Nstours 1.47×10¹¹ · paper 9.80×10¹¹ cm⁻² eV⁻¹✕ outside (-85%)(100), 1100 °C, fast pull in oxygen, as oxidi…midgap Nstours 1.04×10¹¹ · paper 6.20×10¹¹ cm⁻² eV⁻¹✕ outside (-83%)(100), 1200 °C, fast pull in oxygen, as oxidi…midgap Nstours 8.28×10¹⁰ · paper 3.60×10¹¹ cm⁻² eV⁻¹✕ outside (-77%)(111), 900 °C, fast pull in oxygen, as oxidiz…midgap Nstours 7.97×10¹⁰ · paper 3.00×10¹² cm⁻² eV⁻¹✕ outside (-97%)(111), 1000 °C, fast pull in oxygen, as oxidi…midgap Nstours 5.55×10¹⁰ · paper 2.65×10¹² cm⁻² eV⁻¹✕ outside (-98%)(111), 1100 °C, fast pull in oxygen, as oxidi…midgap Nstours 4.86×10¹⁰ · paper 2.16×10¹² cm⁻² eV⁻¹✕ outside (-98%)(111), 1200 °C, fast pull in oxygen, as oxidi…midgap Nstours 4.80×10¹⁰ · paper 1.66×10¹² cm⁻² eV⁻¹✕ outside (-97%)(100), 900 °C, fast pull in oxygen, n-type, a…midgap Nst after the hydrogen annealours 1.01×10⁸ · paper 1.40×10¹¹ cm⁻² eV⁻¹✕ outside (-100%)(100), 1000 °C, fast pull in oxygen, n-type, …midgap Nst after the hydrogen annealours 7.00×10⁷ · paper 1.00×10¹¹ cm⁻² eV⁻¹✕ outside (-100%)(100), 1100 °C, fast pull in oxygen, n-type, …midgap Nst after the hydrogen annealours 6.13×10⁷ · paper 6.50×10¹⁰ cm⁻² eV⁻¹✕ outside (-100%)(100), 1200 °C, fast pull in oxygen, n-type, …midgap Nst after the hydrogen annealours 6.05×10⁷ · paper 6.00×10¹⁰ cm⁻² eV⁻¹✕ outside (-100%)(100), 1000 °C, 360 min, then 60 min in nitro…midgap Nstours 1.43×10¹¹ · paper 8.00×10¹¹ cm⁻² eV⁻¹✕ outside (-82%)(100), 1200 °C, 60 min, then 60 min in nitrog…midgap Nstours 8.28×10¹⁰ · paper 3.60×10¹¹ cm⁻² eV⁻¹✕ outside (-77%)(100), 1200 °C, 60 min, then 60 min in nitrog…oxide thicknessours 193 · paper 200 nm✓ within tolerance (-3.4%)(111), 1000 °C, 360 min, then 60 min in nitro…midgap Nstours 5.08×10¹⁰ · paper 1.67×10¹² cm⁻² eV⁻¹✕ outside (-97%)(111), 1200 °C, 60 min, then 60 min in nitrog…midgap Nstours 4.80×10¹⁰ · paper 9.50×10¹¹ cm⁻² eV⁻¹✕ outside (-95%)(111), 1200 °C, 60 min, then 60 min in nitrog…oxide thicknessours 207 · paper 220 nm✓ within tolerance (-6.1%)(100), 1000 °C, 360 min, then 60 min in nitro…midgap Nst after the hydrogen annealours 6.41×10⁷ · paper 1.40×10¹⁰ cm⁻² eV⁻¹✕ outside (-100%)(100), 1000 °C, 360 min, then 60 min in nitro…Qss/q, on the hydrogen-annealed halfours 2.91×10¹⁰ · paper 3.80×10¹⁰ cm⁻²✕ outside (-24%)(100), 1200 °C, 60 min, then 60 min in nitrog…midgap Nst after the hydrogen annealours 6.05×10⁷ · paper 1.50×10¹⁰ cm⁻² eV⁻¹✕ outside (-100%)(100), 1200 °C, 60 min, then 60 min in nitrog…Qss/q, on the hydrogen-annealed halfours 2.17×10¹⁰ · paper 5.50×10¹⁰ cm⁻²✕ outside (-61%)(111), 1000 °C, 360 min, then 60 min in nitro…midgap Nst after the hydrogen annealours 7.37×10⁷ · paper 3.77×10¹⁰ cm⁻² eV⁻¹✕ outside (-100%)(111), 1000 °C, 360 min, then 60 min in nitro…Qss/q, on the hydrogen-annealed halfours 1.67×10¹¹ · paper 1.73×10¹¹ cm⁻²✓ within tolerance (-3.8%)(111), 1200 °C, 60 min, then 60 min in nitrog…midgap Nst after the hydrogen annealours 6.96×10⁷ · paper 3.30×10¹⁰ cm⁻² eV⁻¹✕ outside (-100%)(111), 1200 °C, 60 min, then 60 min in nitrog…Qss/q, on the hydrogen-annealed halfours 1.22×10¹¹ · paper 2.50×10¹¹ cm⁻²✕ outside (-51%)(100), 1200 °C, 60 min, then 60 min in argon,…midgap Nst after the hydrogen annealours 6.05×10⁷ · paper 1.23×10¹⁰ cm⁻² eV⁻¹✕ outside (-100%)(100), 1200 °C, 60 min, then 60 min in argon,…Qss/q, on the hydrogen-annealed halfours 2.17×10¹⁰ · paper 1.30×10¹⁰ cm⁻²✕ outside (+67%)(100), 1200 °C, 60 min, then 60 min in argon,…oxide thicknessours 193 · paper 200 nm✓ within tolerance (-3.4%)(111), 1200 °C, 60 min, then 60 min in argon,…midgap Nst after the hydrogen annealours 6.96×10⁷ · paper 3.30×10¹⁰ cm⁻² eV⁻¹✕ outside (-100%)(111), 1200 °C, 60 min, then 60 min in argon,…Qss/q, on the hydrogen-annealed halfours 1.22×10¹¹ · paper 2.17×10¹¹ cm⁻²✕ outside (-44%)(111), 1200 °C, 60 min, then 60 min in argon,…oxide thicknessours 207 · paper 220 nm✓ within tolerance (-6.1%)
The pale green band is the tolerance. Bars past ±100% are cut and carry their value.
Sample and historyQuantityThe paperOur simulationDifferenceVerdictWhat the program's own evaluation saysWhere in the paper
(100), 900 °C, fast pull in oxygen, as oxidizedmidgap Nst1.21e+12 cm⁻² eV⁻¹2.40e+11 cm⁻² eV⁻¹-80%off (±10%)direction onlyFigure 8, PDF p. 6; project reading (figures_agent_read_UNVERIFIED.csv), mean of n- and p-type
(100), 1000 °C, fast pull in oxygen, as oxidizedmidgap Nst9.80e+11 cm⁻² eV⁻¹1.47e+11 cm⁻² eV⁻¹-85%off (±10%)direction onlyFigure 8, PDF p. 6; project reading (figures_agent_read_UNVERIFIED.csv), mean of n- and p-type
(100), 1100 °C, fast pull in oxygen, as oxidizedmidgap Nst6.20e+11 cm⁻² eV⁻¹1.04e+11 cm⁻² eV⁻¹-83%off (±10%)outside the tested scopeFigure 8, PDF p. 6; project reading (figures_agent_read_UNVERIFIED.csv), mean of n- and p-type
(100), 1200 °C, fast pull in oxygen, as oxidizedmidgap Nst3.60e+11 cm⁻² eV⁻¹8.28e+10 cm⁻² eV⁻¹-77%off (±10%)outside the tested scopeFigure 8, PDF p. 6; project reading (figures_agent_read_UNVERIFIED.csv), mean of n- and p-type
(111), 900 °C, fast pull in oxygen, as oxidizedmidgap Nst3.00e+12 cm⁻² eV⁻¹7.97e+10 cm⁻² eV⁻¹-97%off (±10%)outside the tested scopeFigure 8, PDF p. 6; project reading (figures_agent_read_UNVERIFIED.csv), mean of n- and p-type
(111), 1000 °C, fast pull in oxygen, as oxidizedmidgap Nst2.65e+12 cm⁻² eV⁻¹5.55e+10 cm⁻² eV⁻¹-98%off (±10%)outside the tested scopeFigure 8, PDF p. 6; project reading (figures_agent_read_UNVERIFIED.csv), mean of n- and p-type
(111), 1100 °C, fast pull in oxygen, as oxidizedmidgap Nst2.16e+12 cm⁻² eV⁻¹4.86e+10 cm⁻² eV⁻¹-98%off (±10%)outside the tested scopeFigure 8, PDF p. 6; project reading (figures_agent_read_UNVERIFIED.csv), mean of n- and p-type
(111), 1200 °C, fast pull in oxygen, as oxidizedmidgap Nst1.66e+12 cm⁻² eV⁻¹4.80e+10 cm⁻² eV⁻¹-97%off (±10%)outside the tested scopeFigure 8, PDF p. 6; project reading (figures_agent_read_UNVERIFIED.csv), mean of n- and p-type
(100), 900 °C, fast pull in oxygen, n-type, after the hydrogen annealmidgap Nst after the hydrogen anneal1.40e+11 cm⁻² eV⁻¹1.01e+08 cm⁻² eV⁻¹-100%off (±10%)direction onlyFigure 13, PDF p. 8; project reading (figures_agent_read_UNVERIFIED.csv)
(100), 1000 °C, fast pull in oxygen, n-type, after the hydrogen annealmidgap Nst after the hydrogen anneal1.00e+11 cm⁻² eV⁻¹7.00e+07 cm⁻² eV⁻¹-100%off (±10%)direction onlyFigure 13, PDF p. 8; project reading (figures_agent_read_UNVERIFIED.csv)
(100), 1100 °C, fast pull in oxygen, n-type, after the hydrogen annealmidgap Nst after the hydrogen anneal6.50e+10 cm⁻² eV⁻¹6.12e+07 cm⁻² eV⁻¹-100%off (±10%)outside the tested scopeFigure 13, PDF p. 8; project reading (figures_agent_read_UNVERIFIED.csv)
(100), 1200 °C, fast pull in oxygen, n-type, after the hydrogen annealmidgap Nst after the hydrogen anneal6.00e+10 cm⁻² eV⁻¹6.05e+07 cm⁻² eV⁻¹-100%off (±10%)outside the tested scopeFigure 13, PDF p. 8; project reading (figures_agent_read_UNVERIFIED.csv)
(100), 1000 °C, 360 min, then 60 min in nitrogen, as oxidizedmidgap Nst8.00e+11 cm⁻² eV⁻¹1.43e+11 cm⁻² eV⁻¹-82%off (±10%)direction onlyFigure 7, PDF p. 5; project reading (figures_agent_read_UNVERIFIED.csv), n- and p-type averaged by the authors
(100), 1200 °C, 60 min, then 60 min in nitrogen, as oxidizedmidgap Nst3.60e+11 cm⁻² eV⁻¹8.28e+10 cm⁻² eV⁻¹-77%off (±10%)outside the tested scopeFigure 7, PDF p. 5; project reading (figures_agent_read_UNVERIFIED.csv), n- and p-type averaged by the authors
(100), 1200 °C, 60 min, then 60 min in nitrogen, as oxidizedoxide thickness200 nm193 nm-3%within (±10%)supported within scopetext, PDF p. 2: the 1200 °C end of the stated range
(111), 1000 °C, 360 min, then 60 min in nitrogen, as oxidizedmidgap Nst1.67e+12 cm⁻² eV⁻¹5.08e+10 cm⁻² eV⁻¹-97%off (±10%)outside the tested scopeFigure 7, PDF p. 5; project reading (figures_agent_read_UNVERIFIED.csv), n- and p-type averaged by the authors
(111), 1200 °C, 60 min, then 60 min in nitrogen, as oxidizedmidgap Nst9.50e+11 cm⁻² eV⁻¹4.80e+10 cm⁻² eV⁻¹-95%off (±10%)outside the tested scopeFigure 7, PDF p. 5; project reading (figures_agent_read_UNVERIFIED.csv), n- and p-type averaged by the authors
(111), 1200 °C, 60 min, then 60 min in nitrogen, as oxidizedoxide thickness220 nm206 nm-6%within (±10%)supported within scopetext, PDF p. 2: the 1200 °C end of the stated range
(100), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen annealmidgap Nst after the hydrogen anneal1.40e+10 cm⁻² eV⁻¹6.41e+07 cm⁻² eV⁻¹-100%off (±10%)direction onlyFigure 7, PDF p. 5; project reading (figures_agent_read_UNVERIFIED.csv), n- and p-type averaged by the authors
(100), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen annealQss/q, on the hydrogen-annealed half3.80e+10 cm⁻²2.91e+10 cm⁻²-24%off (±10%)supported within scopeFigure 7 top, PDF p. 5; second reading, from the bar chart
(100), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen annealmidgap Nst after the hydrogen anneal1.50e+10 cm⁻² eV⁻¹6.05e+07 cm⁻² eV⁻¹-100%off (±10%)outside the tested scopeFigure 7, PDF p. 5; project reading (figures_agent_read_UNVERIFIED.csv), n- and p-type averaged by the authors
(100), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen annealQss/q, on the hydrogen-annealed half5.50e+10 cm⁻²2.17e+10 cm⁻²-61%off (±10%)supported within scopeFigure 7 top, PDF p. 5; second reading, from the bar chart
(111), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen annealmidgap Nst after the hydrogen anneal3.77e+10 cm⁻² eV⁻¹7.37e+07 cm⁻² eV⁻¹-100%off (±10%)direction onlyFigure 7, PDF p. 5; project reading (figures_agent_read_UNVERIFIED.csv), n- and p-type averaged by the authors
(111), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen annealQss/q, on the hydrogen-annealed half1.73e+11 cm⁻²1.66e+11 cm⁻²-4%within (±10%)supported within scopeFigure 7 top, PDF p. 5; second reading, from the bar chart
(111), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen annealmidgap Nst after the hydrogen anneal3.30e+10 cm⁻² eV⁻¹6.96e+07 cm⁻² eV⁻¹-100%off (±10%)outside the tested scopeFigure 7, PDF p. 5; project reading (figures_agent_read_UNVERIFIED.csv), n- and p-type averaged by the authors
(111), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen annealQss/q, on the hydrogen-annealed half2.50e+11 cm⁻²1.22e+11 cm⁻²-51%off (±10%)supported within scopeFigure 7 top, PDF p. 5; second reading, from the bar chart
(100), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealmidgap Nst after the hydrogen anneal1.23e+10 cm⁻² eV⁻¹6.05e+07 cm⁻² eV⁻¹-100%off (±10%)outside the tested scopeFigure 7, PDF p. 5; project reading (figures_agent_read_UNVERIFIED.csv), n- and p-type averaged by the authors
(100), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealQss/q, on the hydrogen-annealed half1.30e+10 cm⁻²2.17e+10 cm⁻²+67%off (±10%)supported within scopeFigure 7 top, PDF p. 5; second reading, from the bar chart
(100), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealoxide thickness200 nm193 nm-3%within (±10%)supported within scopetext, PDF p. 2: the 1200 °C end of the stated range
(111), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealmidgap Nst after the hydrogen anneal3.30e+10 cm⁻² eV⁻¹6.96e+07 cm⁻² eV⁻¹-100%off (±10%)outside the tested scopeFigure 7, PDF p. 5; project reading (figures_agent_read_UNVERIFIED.csv), n- and p-type averaged by the authors
(111), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealQss/q, on the hydrogen-annealed half2.17e+11 cm⁻²1.22e+11 cm⁻²-44%off (±10%)supported within scopeFigure 7 top, PDF p. 5; second reading, from the bar chart
(111), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealoxide thickness220 nm206 nm-6%within (±10%)supported within scopetext, PDF p. 2: the 1200 °C end of the stated range

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 F8_100_1000, F8_100_1100, F8_100_1200, F8_100_900, F8_111_1000, F8_111_1100, F8_111_1200, F8_111_900 only; every other number is a test they played no part in.

UnknownWhat the paper saysRange searchedThe reproduction usedBest aloneScore at the reproduction's valueBest score alone
Dry oxidation, 900 °C (time ours: 1050 min): duration (T900)Not stated. Searched over 800–1460 min, the times that keep the oxide within the paper's 120–220 nm48000 to 87600 s63000 s48000 s (flat: the data do not constrain it)0 of 8 within tolerance, median error 91.1%0 of 8 within tolerance, median error 90.8%
Fast pull in oxygen into a quartz “elephant”, under 3 s: duration (T900)“less than 3 sec”; Figures 4, 5: “~3 sec”1 to 3 s3 s3 s (flat: the data do not constrain it)0 of 8 within tolerance, median error 91.1%0 of 8 within tolerance, median error 91.1%
Dry oxidation, 1000 °C (time ours: 330 min): duration (T1000)Not stated. Searched over 800–1460 min, the times that keep the oxide within the paper's 120–220 nm12000 to 25200 s19800 s12000 s (flat: the data do not constrain it)0 of 8 within tolerance, median error 91.1%0 of 8 within tolerance, median error 90.1%
Fast pull in oxygen into a quartz “elephant”, under 3 s: duration (T1000)“less than 3 sec”; Figures 4, 5: “~3 sec”1 to 3 s3 s3 s (flat: the data do not constrain it)0 of 8 within tolerance, median error 91.1%0 of 8 within tolerance, median error 91.1%
Dry oxidation, 1100 °C (time ours: 135 min): duration (T1100)Not stated. Searched over 800–1460 min, the times that keep the oxide within the paper's 120–220 nm3900 to 9300 s8100 s8100 s (flat: the data do not constrain it)0 of 8 within tolerance, median error 91.1%0 of 8 within tolerance, median error 91.1%
Fast pull in oxygen into a quartz “elephant”, under 3 s: duration (T1100)“less than 3 sec”; Figures 4, 5: “~3 sec”1 to 3 s3 s3 s (flat: the data do not constrain it)0 of 8 within tolerance, median error 91.1%0 of 8 within tolerance, median error 91.1%
Dry oxidation, 1200 °C (time ours: 65 min): duration (T1200)Not stated. Searched over 800–1460 min, the times that keep the oxide within the paper's 120–220 nm1560 to 4200 s3900 s1560 s (flat: the data do not constrain it)0 of 8 within tolerance, median error 91.1%0 of 8 within tolerance, median error 90.9%
Fast pull in oxygen into a quartz “elephant”, under 3 s: duration (T1200)“less than 3 sec”; Figures 4, 5: “~3 sec”1 to 3 s3 s3 s (flat: the data do not constrain it)0 of 8 within tolerance, median error 91.1%0 of 8 within tolerance, median error 91.1%

Together: Oxidation duration 48000 s (was 63000); Pull duration 3 s (was 3); Oxidation duration 12000 s (was 19800); Pull duration 3 s (was 3); Oxidation duration 3900 s (was 8100); Pull duration 3 s (was 3); Oxidation duration 1560 s (was 3900); Pull duration 3 s (was 3).

As reproduced: 6 of 32 within tolerance, median error 64.8%. Aligned: 6 of 32 within tolerance, median error 63.7%. On the held-out samples only: 6 of 24 within tolerance, median error 50.5% as reproduced, 6 of 24 within tolerance, median error 45.5% aligned.

Choices of program or material property, each scored on its own and on top of the aligned history:

VariantAloneWith the aligned history
Figure 13 wafers pulled slowly (10 min in oxygen)6 of 32 within tolerance, median error 64.8%6 of 32 within tolerance, median error 63.7%

The unknowns are the oxidation time of each temperature run of Figures 8 and 13 (both orientations and the n-type hydrogen halves share one run per temperature) and the fast pull's duration. They were chosen on the eight unannealed values of Figure 8 and tested on the four hydrogen-annealed halves of Figure 13, which come from the same runs; the Figure 7 wafers have stated times and no unknowns, so their rows are unchanged.

Nothing the paper leaves open closes the gap. On Figure 8 the program is 4 to 7 times below the paper on (100) (2.4 against 12.1 × 10^11 cm^-2 eV^-1 at 900 °C) and 35 to 48 times below on (111), and 0 of 8 are within tolerance at every setting searched. The search pushes every oxidation time to the short end of its range (800, 200, 65 and 26 min at 900 to 1200 °C), because a younger oxide carries more traps in the program; that is the thinnest oxide the paper's 120–220 nm allows, and it is chosen for direction, not for agreement. The fast pull (1 to 3 s) changes nothing in the trap program.

Held out. On the Figure 13 hydrogen halves the shorter times raise the simulation toward the paper (at 1000 °C 3.7 to 5.3 against 10 × 10^10), but all four stay outside tolerance: 6 of 24 test numbers within tolerance before and after, median error 51% before and 46% after. The variant with Figure 13 pulled slowly over 10 min in oxygen changes no trap number: the program does not read the pull.

What does pass is not the trap density: the oxide thickness of the 1200 °C, 60 min wafers (193 and 206 nm against 200 and 220 nm, nothing chosen), and the fixed charge of the (111) wafer held 60 min in nitrogen at 1000 °C (1.66 against 1.73 × 10^11 cm^-2), with the midgap density of that wafer's hydrogen half (3.9 against 3.8 × 10^10).

✓6 within tolerance≈2 within twice the tolerance✕16 outside
simulation below the paper ← 0 → simulation above the paper-100%-50%0%+50%+100%(100), 900 °C, fast pull in oxygen, n-type, a…midgap Nst after the hydrogen annealours 6.77×10¹⁰ · paper 1.40×10¹¹ cm⁻² eV⁻¹✕ outside (-52%)(100), 1000 °C, fast pull in oxygen, n-type, …midgap Nst after the hydrogen annealours 5.29×10¹⁰ · paper 1.00×10¹¹ cm⁻² eV⁻¹✕ outside (-47%)(100), 1100 °C, fast pull in oxygen, n-type, …midgap Nst after the hydrogen annealours 4.17×10¹⁰ · paper 6.50×10¹⁰ cm⁻² eV⁻¹✕ outside (-36%)(100), 1200 °C, fast pull in oxygen, n-type, …midgap Nst after the hydrogen annealours 3.54×10¹⁰ · paper 6.00×10¹⁰ cm⁻² eV⁻¹✕ outside (-41%)(100), 1000 °C, 360 min, then 60 min in nitro…midgap Nstours 1.43×10¹¹ · paper 8.00×10¹¹ cm⁻² eV⁻¹✕ outside (-82%)(100), 1200 °C, 60 min, then 60 min in nitrog…midgap Nstours 8.28×10¹⁰ · paper 3.60×10¹¹ cm⁻² eV⁻¹✕ outside (-77%)(100), 1200 °C, 60 min, then 60 min in nitrog…oxide thicknessours 193 · paper 200 nm✓ within tolerance (-3.4%)(111), 1000 °C, 360 min, then 60 min in nitro…midgap Nstours 5.08×10¹⁰ · paper 1.67×10¹² cm⁻² eV⁻¹✕ outside (-97%)(111), 1200 °C, 60 min, then 60 min in nitrog…midgap Nstours 4.80×10¹⁰ · paper 9.50×10¹¹ cm⁻² eV⁻¹✕ outside (-95%)(111), 1200 °C, 60 min, then 60 min in nitrog…oxide thicknessours 207 · paper 220 nm✓ within tolerance (-6.1%)(100), 1000 °C, 360 min, then 60 min in nitro…midgap Nst after the hydrogen anneal+144% ▸ours 3.42×10¹⁰ · paper 1.40×10¹⁰ cm⁻² eV⁻¹✕ outside(100), 1000 °C, 360 min, then 60 min in nitro…Qss/q, on the hydrogen-annealed halfours 2.91×10¹⁰ · paper 3.80×10¹⁰ cm⁻²✕ outside (-24%)(100), 1200 °C, 60 min, then 60 min in nitrog…midgap Nst after the hydrogen anneal+115% ▸ours 3.23×10¹⁰ · paper 1.50×10¹⁰ cm⁻² eV⁻¹✕ outside(100), 1200 °C, 60 min, then 60 min in nitrog…Qss/q, on the hydrogen-annealed halfours 2.17×10¹⁰ · paper 5.50×10¹⁰ cm⁻²✕ outside (-61%)(111), 1000 °C, 360 min, then 60 min in nitro…midgap Nst after the hydrogen annealours 3.93×10¹⁰ · paper 3.77×10¹⁰ cm⁻² eV⁻¹✓ within tolerance (+4.3%)(111), 1000 °C, 360 min, then 60 min in nitro…Qss/q, on the hydrogen-annealed halfours 1.67×10¹¹ · paper 1.73×10¹¹ cm⁻²✓ within tolerance (-3.8%)(111), 1200 °C, 60 min, then 60 min in nitrog…midgap Nst after the hydrogen annealours 3.71×10¹⁰ · paper 3.30×10¹⁰ cm⁻² eV⁻¹≈ within twice the tolerance (+12%)(111), 1200 °C, 60 min, then 60 min in nitrog…Qss/q, on the hydrogen-annealed halfours 1.22×10¹¹ · paper 2.50×10¹¹ cm⁻²✕ outside (-51%)(100), 1200 °C, 60 min, then 60 min in argon,…midgap Nst after the hydrogen anneal+162% ▸ours 3.23×10¹⁰ · paper 1.23×10¹⁰ cm⁻² eV⁻¹✕ outside(100), 1200 °C, 60 min, then 60 min in argon,…Qss/q, on the hydrogen-annealed halfours 2.17×10¹⁰ · paper 1.30×10¹⁰ cm⁻²✕ outside (+67%)(100), 1200 °C, 60 min, then 60 min in argon,…oxide thicknessours 193 · paper 200 nm✓ within tolerance (-3.4%)(111), 1200 °C, 60 min, then 60 min in argon,…midgap Nst after the hydrogen annealours 3.71×10¹⁰ · paper 3.30×10¹⁰ cm⁻² eV⁻¹≈ within twice the tolerance (+12%)(111), 1200 °C, 60 min, then 60 min in argon,…Qss/q, on the hydrogen-annealed halfours 1.22×10¹¹ · paper 2.17×10¹¹ cm⁻²✕ outside (-44%)(111), 1200 °C, 60 min, then 60 min in argon,…oxide thicknessours 207 · paper 220 nm✓ within tolerance (-6.1%)
The pale green band is the tolerance. Bars past ±100% are cut and carry their value.

6 within, 2 near, 16 off of 24 numbers with the aligned settings (the samples used to choose the unknowns are left out).

SampleQuantityThe paperAs reproduced aboveAlignedDifferenceVerdictHow
(100), 900 °C, fast pull in oxygen, n-type, after the hydrogen annealmidgap Nst after the hydrogen anneal1.40e+11 cm⁻² eV⁻¹5.36e+106.77e+10-52%off (±10%)test
(100), 1000 °C, fast pull in oxygen, n-type, after the hydrogen annealmidgap Nst after the hydrogen anneal1.00e+11 cm⁻² eV⁻¹3.73e+105.29e+10-47%off (±10%)test
(100), 1100 °C, fast pull in oxygen, n-type, after the hydrogen annealmidgap Nst after the hydrogen anneal6.50e+10 cm⁻² eV⁻¹3.27e+104.18e+10-36%off (±10%)test
(100), 1200 °C, fast pull in oxygen, n-type, after the hydrogen annealmidgap Nst after the hydrogen anneal6.00e+10 cm⁻² eV⁻¹3.23e+103.54e+10-41%off (±10%)test
(100), 1000 °C, 360 min, then 60 min in nitrogen, as oxidizedmidgap Nst8.00e+11 cm⁻² eV⁻¹1.43e+111.43e+11-82%off (±10%)test
(100), 1200 °C, 60 min, then 60 min in nitrogen, as oxidizedmidgap Nst3.60e+11 cm⁻² eV⁻¹8.28e+108.28e+10-77%off (±10%)test
(100), 1200 °C, 60 min, then 60 min in nitrogen, as oxidizedoxide thickness200 nm193193-3%within (±10%)test
(111), 1000 °C, 360 min, then 60 min in nitrogen, as oxidizedmidgap Nst1.67e+12 cm⁻² eV⁻¹5.08e+105.08e+10-97%off (±10%)test
(111), 1200 °C, 60 min, then 60 min in nitrogen, as oxidizedmidgap Nst9.50e+11 cm⁻² eV⁻¹4.80e+104.80e+10-95%off (±10%)test
(111), 1200 °C, 60 min, then 60 min in nitrogen, as oxidizedoxide thickness220 nm206206-6%within (±10%)test
(100), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen annealmidgap Nst after the hydrogen anneal1.40e+10 cm⁻² eV⁻¹3.42e+103.42e+10+144%off (±10%)test
(100), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen annealQss/q, on the hydrogen-annealed half3.80e+10 cm⁻²2.91e+102.91e+10-24%off (±10%)test
(100), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen annealmidgap Nst after the hydrogen anneal1.50e+10 cm⁻² eV⁻¹3.23e+103.23e+10+115%off (±10%)test
(100), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen annealQss/q, on the hydrogen-annealed half5.50e+10 cm⁻²2.17e+102.17e+10-61%off (±10%)test
(111), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen annealmidgap Nst after the hydrogen anneal3.77e+10 cm⁻² eV⁻¹3.93e+103.93e+10+4%within (±10%)test
(111), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen annealQss/q, on the hydrogen-annealed half1.73e+11 cm⁻²1.66e+111.66e+11-4%within (±10%)test
(111), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen annealmidgap Nst after the hydrogen anneal3.30e+10 cm⁻² eV⁻¹3.71e+103.71e+10+12%near (±10%)test
(111), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen annealQss/q, on the hydrogen-annealed half2.50e+11 cm⁻²1.22e+111.22e+11-51%off (±10%)test
(100), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealmidgap Nst after the hydrogen anneal1.23e+10 cm⁻² eV⁻¹3.23e+103.23e+10+162%off (±10%)test
(100), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealQss/q, on the hydrogen-annealed half1.30e+10 cm⁻²2.17e+102.17e+10+67%off (±10%)test
(100), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealoxide thickness200 nm193193-3%within (±10%)test
(111), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealmidgap Nst after the hydrogen anneal3.30e+10 cm⁻² eV⁻¹3.71e+103.71e+10+12%near (±10%)test
(111), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealQss/q, on the hydrogen-annealed half2.17e+11 cm⁻²1.22e+111.22e+11-44%off (±10%)test
(111), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealoxide thickness220 nm206206-6%within (±10%)test

What alignment cannot fix. Unannealed, the program sits a factor of 4 to 7 below Razouk on (100), the factor the project's earlier analysis found between Razouk and Vitkavage on one nominal recipe (evaluations/lab_gap_analysis.json: 3.0 at 900 °C, 6.0 at 1000 °C). The temperature dependence is close: from 900 to 1200 °C the paper falls 3.4 times on (100), the program 2.9 times. So the program carries the laboratory it was fitted in as a level, and the laboratory is not a variable any history can set. On (111) without hydrogen the program has no fitted value at midgap (no such wafer could be measured in Vitkavage's set), and it puts (111) below (100), against the paper's 3:1 the other way.

After hydrogen the error changes sign with the history: oxygen-cooled (100) wafers are 1.9 to 2.7 times higher in the paper than in the program, inert-held (100) wafers 2 to 2.6 times lower. The paper's central finding, that inert-annealed oxides are the worst as oxidized and the best after hydrogen, is not in the program at all: an hour in nitrogen or argon at temperature moves its midgap density by under 2%, and nitrogen and argon are the same gas to it. The fixed charge of the inert-held (111) wafers at 1200 °C is half the paper's (1.22 against 2.2–2.5 × 10^11), the same shortfall the program shows on the 1980 Fairchild wafers.

What our language and ontology cannot yet say

  • A laboratory as a property of the sample. The largest single error here (4 to 7 times) is the laboratory. The ontology has the process factor laboratory but no sample or history field that records where a wafer was made and measured, so no program can carry a laboratory level, and the dataset cannot say which numbers share one.
  • An unknown that is a measured quantity. The oxidation time here should be inferred from a thickness the paper states. VARY lets us search the time, but the range had to be computed by hand from the 1965 law; a statement INFER duration FROM Thickness 120..220 nm would let the language derive it and record that it was derived.
  • Halves of one wafer. Every value here comes in pairs: one half annealed in hydrogen, one not. Two separate SAMPLEs lose that they share an oxidation; a CLEAVE that forks one history into two would carry it.
  • Cooling in an end-piece. “Pulled … in less than 3 sec into a quartz elephant” is a fast withdrawal followed by an unknown dwell in a closed, still oxygen-filled quartz piece. A RUN with PROFILE exponential can hold the cooling but the language has no word for where the wafer is.
  • Mixtures with HCl and pyrogenic steam. Figure 9's 5% and 10% HCl in oxygen cannot be written (the mixture gases are O2, N2, H2, H2O, Ar), so that figure is left off this page.
  • Doping read by a program. Figure 8's n- and p-type (100) differ by 40% at 1100 and 1200 °C; DOPING is recorded on every sample and read by nothing.
  • The predictor: the trap program does not respond to the gas of a step or to a pull, and labels (111) without hydrogen “outside the tested scope” while still reporting a number 35 to 48 times low. A refusal would be more honest than a number.

With Quantum ESPRESSO switched on

This page was simulated with parameters from atomic calculations switched on (ISL_USE_COMPUTED=1). They come from Quantum ESPRESSO (the discovered-materials dm_qe build), run locally on CPU and on an H100 on RunPod, recorded in evaluations/atomistic/ with the code version, inputs, pseudopotential checksums and convergence, and carried into ISL as STATUS: computed. They never replace a fitted or sourced number: the rows scored above are the same with the switch off. Each computed row sits beside the measurement it bears on.

What is computed so far is one reaction: Si• + ½H₂ → Si–H for a silicon dangling bond with three silicon back-bonds (the local structure of a Pb centre), on a 14-atom cluster. With the free energy of hydrogen gas it bounds the share of dangling bonds that a hydrogen step could leave uncapped if it reached equilibrium, and so the lowest interface state density that step could reach. A measurement far above the bound means what remains after the hydrogen step is not limited by the strength of the Si–H bond: the anneal is far from equilibrium, or the traps that remain are not dangling bonds hydrogen can cap.

CalculationValueWhere it ranStatus
dE_cap_half_H2: energy of capping the dangling bond from molecular hydrogen, Si* + 1/2 H2 -> SiH; negative means hydrogen stabilizes the bond-1.2838 eVssh NVIDIA H100 80GB HBM3, 595.91.07complete
D_SiH: energy to break the Si-H bond into the dangling bond and a free hydrogen atom3.5429 eVssh NVIDIA H100 80GB HBM3, 595.91.07complete
D_H2: the H2 binding energy: a check on the method, to be compared with about 4.75 eV (well depth, recalled)4.5183 eVssh NVIDIA H100 80GB HBM3, 595.91.07complete
SampleMeasured interface state densityOur fitted programComputed equilibrium boundMeasured over bound
(100), 900 °C, fast pull in oxygen, n-type, after the hydrogen annealno measurement on this page1.01e+082.55e+07
(100), 1000 °C, fast pull in oxygen, n-type, after the hydrogen annealno measurement on this page7.00e+071.56e+07
(100), 1100 °C, fast pull in oxygen, n-type, after the hydrogen annealno measurement on this page6.12e+071.10e+07
(100), 1200 °C, fast pull in oxygen, n-type, after the hydrogen annealno measurement on this page6.05e+078.77e+06
(100), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen annealno measurement on this page6.41e+071.51e+07
(100), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen annealno measurement on this page6.05e+078.77e+06
(111), 1000 °C, 360 min, then 60 min in nitrogen, after the hydrogen annealno measurement on this page7.37e+075.38e+06
(111), 1200 °C, 60 min, then 60 min in nitrogen, after the hydrogen annealno measurement on this page6.96e+075.08e+06
(100), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealno measurement on this page6.05e+078.77e+06
(111), 1200 °C, 60 min, then 60 min in argon, after the hydrogen annealno measurement on this page6.96e+075.08e+06

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.

HistoryWithin toleranceMedian errorChanged numbers
as the paper states it (above)5 of 3295.0%
heat-up A (hot push), fast cooling5 of 3295.0%0 of 32 moved by more than 2%
heat-up A (hot push), slow cooling5 of 3295.0%10 of 32 moved by more than 2%
heat-up B (cold-furnace ramp), fast cooling5 of 3295.0%0 of 32 moved by more than 2%
heat-up B (cold-furnace ramp), slow cooling5 of 3295.0%10 of 32 moved by more than 2%

The paper's own conclusions

The paper statesWhat we find
Midgap Nst falls as oxidation temperature rises (fast pull in oxygen), before and after the hydrogen annealThe program falls with temperature too, before and after hydrogendirection right
(111) has about three times the Nst of (100), before and after hydrogenBefore hydrogen the program gives (111) less than (100): it has no fitted value for unannealed (111) at midgapwrong for unannealed (111)
Before the hydrogen anneal the density is 10 times or more the annealed valueThe program's 500 °C hydrogen step removes a factor of about 4 on (100) and 1.3 on (111)see the chart
Nitrogen- or argon-annealed oxides have large Nst as oxidized but the lowest after hydrogenThe program gives the inert hold almost no effect on Nst and does not tell nitrogen from argonnot reproduced
On the same nominal recipe Razouk's (100) is 3 to 6 times Vitkavage'sThe program, fitted on Vitkavage, sits 4 to 7 times below Razouk's unannealed (100)the laboratory gap, as expected

What we would like Emily to check

  1. Would Fairchild in 1979 have oxidized (100) and (111) together in one run at each temperature, with one time chosen for a target thickness?
  2. What happens to a wafer in a quartz “elephant” after a 3 s pull: how long does it stay, and is the elephant still full of oxygen?
  3. The paper's unannealed (100) values are 3 to 6 times Vitkavage's for the same nominal recipe. Is a factor like that ordinary between laboratories in that period, and what would you suspect first: the clean, the metal, the C-V method or the furnace?
  4. Figure 9's (111) oxygen-cooled value at 1000 °C is about 60% of Figure 8's. Is Figure 9 likely a slow pull?