Agentic PrimitivesAP

Study reproduced ·

Reproducing Rabie, Haddara and Carette 2005: a kinetic model of SiGe oxidation against four wet oxidations

Rabie, Haddara and Carette 2005: 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 (3 within, 23 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/rabie_2005.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

M. A. Rabie, Y. M. Haddara and J. Carette, “A kinetic model for the oxidation of silicon germanium alloys”, J. Appl. Phys. 98, 074904 (2005).

The challenge's reference model for SiGe oxidation. Our SiGe growth program is this paper's model written in ISL with the constants it chose for one experiment (LeGoues et al.: 14% germanium, wet oxygen, 800 °C), and the predictor runs that program for every SiGe history. This page writes all four experiments the paper simulates as histories, so it shows both the reproduction of the one case and what happens when its constants are carried to the other three.

How well can this study be reproduced?

Low. A modelling paper. The four experiments it simulates are other groups' and are described by three words each: germanium fraction, temperature, gas. Nothing about the alloy layer, the furnace, the steam pressure in “wet oxygen”, the loading or the time at which the germanium-rich layer was measured. Its rate constants and interdiffusivity are refitted for each experiment, so its agreement with the thickness curves is not a test of the model.

Sample described1 of 5 properties we need are stated and encoded the same
History described0 of 6 steps are stated and encoded the same; 0 are stated by the paper and absent from our history; 3 are ours because the paper is silent
Timing0 of 2 simulated steps have a stated duration; 3 of 3 other steps have none; 5 timing gaps listed below
How the results are givenThickness only on Figures 3 to 5 (read by eye); the germanium-rich layer (50 nm, up to 75%) and the GeO2 fraction (35%) as sentences; rate constants, solubilities and diffusivities in printed tables
Repeatability stated by the authorsNot stated; the authors write that “the present experimental data is not sufficient to make the parameter extraction reliable” (PDF p. 8)
Internal consistencyFair. The Figure 10 caption names the wrong experiment; the wet-oxygen diffusivity is given two ways (Table II against the text); the stated range for EGe (0.7 to 0.9 eV) does not contain the value used (0.6 eV)
Is our model independent of this paper's data?No for the LeGoues thickness: our program carries the paper's own constants for that experiment. Partly for the germanium at the interface (a relation fitted to Müller 2023, never to LeGoues). The Liu and Zhang curves are a test of carrying one experiment's constants to another, which the paper itself does not do
Outcome3 of 26 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.

Si0.86Ge0.14Ge-rich layer 13.1 nmsurface before (−0.525 nm)
Step 1 of 5 · recorded, not simulated
Alloy grown and cleaned (not described)
temperature 25 °C
elapsed 0 s of 3 h 01 min
timing in the paper: not stated. Nothing stated

not stated: Rabie et al. give only the germanium fraction, the temperature and the gas of each experiment they model

The simulation at this moment
oxide thickness0 nm
alloy consumed0.525 nm
GeO2 fraction of the oxide0.411 %
germanium at the interface16.3 %75
enriched layer, extent (3 e-folds)39.2 nm50
right column: the paper, at the end of the history
PreparePush60 sOxidation3 hUnloadMeasure8000 °CThe same history to true scale (3 h 01 min 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. 1 same, 3 approximated, 6 assumed, 1 differs.

✓1 same≈3 approximated?6 assumed≠1 differs
Sample: what the paper saysWhat we simulate
Alloy
“a SiGe sample with 14% Ge” (LeGoues); “SiGe samples having 28% and 36% Ge” (Liu); “50% Ge” (Zhang). Called “the original epilayer” for Liu
PDF p. 7
✓same
FAMILY: SiGe_oxide; COMPOSITION: Si0.86Ge0.14 | Si0.72Ge0.28 | Si0.64Ge0.36 | Si0.50Ge0.50
Layer thickness, strain, substrate
not stated for any experiment
PDF p. 7
?assumed
an infinite alloy, as in the paper's model
Whether the alloy could be consumed through is unknown: Table VI gives up to 425 nm of alloy consumed in the Liu cases.
Orientation and doping
not stated
PDF p. 7
?assumed
not in our sample
Starting oxide
“a SiyGe1-y layer covered by a layer of oxide of very small thickness Lox” (the model's initial condition; no number)
PDF p. 4
≈approximated
L_0 = 1 nm, a hypothesis inside the program
A property of the sample held as a parameter of the program; the history cannot state it.
Surface preparation
not stated
PDF p. 7
?assumed
CLEAN: not_stated
History: what the paper saysWhat we simulate
Alloy grown and cleaned (not described)
not stated: Rabie et al. give only the germanium fraction, the temperature and the gas of each experiment they model
PDF p. 8
?assumed
CLEAN: not_stated; no epilayer thickness, strain or substrate
The alloy is treated as an infinite substrate of constant composition, as in the paper's model.
Into the hot furnace (not described)
not stated
PDF p. 8
?assumed
RUN Push DURATION 60 TEMP 600->800 AMBIENT mix:H2O=0.55,O2=0.45
A push of one minute from 200 °C below the oxidation temperature, in the oxidation gas. Ours, not the paper's: it stands for the time the wafer spends heating before the clock of the figure starts.
Wet oxidation, 800 °C
“LeGoues et al. used wet oxygen to oxidize a SiGe sample with 14% Ge at 800 °C. The oxide obtained was pure SiO2. A 50-nm-thick Ge-rich layer was obtained with up to 75% Ge.”
PDF p. 8
≈approximated
RUN Oxidation DURATION 10800 TEMP 800->800 AMBIENT mix:H2O=0.55,O2=0.45
Wet oxygen is written as 55% steam and 45% oxygen at 1 atm: the steam fraction that Rabie's own C* for wet oxygen implies (Table IV against Table II). The paper gives no pressure, flow or bubbler temperature. The Rabie program does not read the gas; the inventory program does.
Unloaded and cooled (not described)
not stated
PDF p. 8
?assumed
the history ends when the oxidation ends
Oxide thickness (technique not stated)
“Our simulation results for the oxide thickness are in excellent agreement with the measurements as shown in Figs. 3-5.”
PDF p. 7
≈approximated
the observable Thickness
The technique is the original authors'; Rabie et al. do not name it.
Which constants apply
Table III: k1, k2, k3 chosen for each experiment (“free parameters”); Table V: DSiGe for each experiment
PDF p. 8
≠differs
the LeGoues constants for every history
Only the LeGoues row is in the program. The predictor runs it for 700 °C steam and 1000 °C wet oxygen without a label.

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.

LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, 800 °C

#StepStarts atLastsEnds atTemperatureRateGasIs the timing in the paper?
1Alloy grown and cleaned (not described)0 snot simulatednot stated. Nothing stated
2Into the hot furnace (not described)0 s1 min1 min600 → 800 °C+3.33 °C/smix:H2O=0.55,O2=0.45not stated; assumed. Load temperature, push rate and the moment time zero is counted from: none given
3Wet oxidation, 800 °C1 min3 h 00 min3 h 01 min800 → 800 °Cheldmix:H2O=0.55,O2=0.45partly stated. Times appear only on the axis of Figure 4 (0 to 180 min); whether each point is a separate sample is not stated
4Unloaded and cooled (not described)3 h 01 minnot simulatednot stated. Not described
5Oxide thickness (technique not stated)3 h 01 minnot simulatednot stated

Simulated time in this history: 3 h 01 min.

Across the samples

SamplePushOxidationTotal
LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, 800 °C1 min at 600→800 °C3 h 00 min at 800 °C3 h 01 min
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C1 min at 500→700 °C8 h 00 min at 700 °C8 h 01 min
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C1 min at 500→700 °C8 h 00 min at 700 °C8 h 01 min
Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1000 °C1 min at 800→1000 °C45 min at 1000 °C46 min

Timing the paper does not give

  • Every oxidation time is read from a figure axis; the text gives none.
  • Whether each point on a curve is a separate sample or one sample re-oxidized.
  • Load temperature, push and the moment time zero is counted from, for all four experiments.
  • The time at which LeGoues' germanium-rich layer (50 nm, up to 75%) was measured, and the time of the simulated profiles in Figures 7 and 8.
  • Cooling and unloading: nothing is said.

What the second reading changed

  • The stored LeGoues recipe is one step, 180 min of wet_O2 at 800 °C. wet_O2 carries no partial pressures, so the inventory program runs it as pure steam (p_H2O = 1). Written as the 55% steam that the paper's own C* implies, the inventory's enriched layer falls from 91 to 69 nm and the alloy consumed from 65 to 49 nm; the Rabie program's thickness does not change because it does not read the gas.
  • The germanium-rich layer (50 nm, up to 75%) has no time in the paper. Our dataset row puts it at 180 min, the last point of Figure 4, and scores it as a value (75%) although the paper says “up to”.
  • The predictor runs the LeGoues constants (800 °C, wet oxygen, 14%) for any SiGe history and labels the result “direction only”, not “outside the tested scope”, at 700 °C in steam or 1000 °C in wet oxygen. On this page that gives a third of the measured oxide for Liu and a tenth for Zhang.
  • Table II gives wet-oxygen diffusivity constants (D0 = 7.94e-7 cm²/s, E = 0.71 eV) but the text says the wet-oxygen values “were the same as those of H2O” (0.78 eV). Our program uses Table II.
  • The program's interface condition is the silicon balance (F3 + F5) − (F3 + F4) yi, not the paper's Eq. 13 (F3 + F5 − F4); this is stated in the program.

Their terms and ours

The paper saysWe writeKind in our vocabularyNote
Lox: oxide thicknessThicknessobservable (target: layer_thickness); quantity oxide-thickness
y: silicon fraction in the alloy; yi at the interfaceFIELD y; Si_at_fronta field on a grid travelling with the frontThe paper's figures label curves by y in percent (64, 72, 86, 50), not by germanium.
Ge-rich layerGe_at_interface; Enriched_layer_extentobservable (target: composition_profile)The predictor reports germanium at the interface from the enrichment relation, not from this program; the Rabie program's own value (51.5%) is computed and dropped.
θ: GeO2 fraction in the oxideGeO2_fractionobservable
k1, k2, k3: reaction rate constantsk1, k2, k3PARAMETER, STATUS sourced (Table III, LeGoues row)Per experiment in the paper; one row in ours.
DSiGe: effective Si-Ge interdiffusivityD_SiGePARAMETER, STATUS sourced (Table V, LeGoues row)
C*, Dox: oxidant solubility and diffusivity in the oxideC_Si_star, C_Ge_star, D0_ox, E_oxPARAMETER, STATUS sourced (Tables II and IV, wet O2)
F5: replacement reaction Si + GeO2 → SiO2 + GeF5QUANTITY in operator F_AlloyInterdiffusion
wet oxygen: “a mixture of both H2O and O2”mix:H2O=0.55,O2=0.45ambient by partial pressureThe language's wet_O2 has no pressures. 0.55 is the ratio of the paper's two C* values, not a stated pressure.
steamsteamambient (p_H2O = 1 atm)Pressure not stated.
consumed thickness of the SiGe alloy (Table VI)Consumed_alloyobservable of the inventory programTable VI values are the paper's simulation, not measurements; not compared.

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

LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, 800 °C

# LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, 800 °C
SAMPLE Alloy_legoues {
    FAMILY: SiGe_oxide
    COMPOSITION: Si0.86Ge0.14
    CLEAN: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Prepare KIND other TIMING assumed                      # Alloy grown and cleaned (not described)
    RUN Push DURATION 60 TEMP 600->800 AMBIENT mix:H2O=0.55,O2=0.45 TIMING assumed VARY duration 5..1200
    RUN Oxidation DURATION 10800 TEMP 800->800 AMBIENT mix:H2O=0.55,O2=0.45 TIMING bound
    EVENT Unload KIND other TIMING assumed                       # Unloaded and cooled (not described)
    EVENT Measure KIND measurement TIMING assumed                # Oxide thickness (technique not stated)
}

Liu et al. (Ref. 12): 36% Ge, steam, 700 °C

# Liu et al. (Ref. 12): 36% Ge, steam, 700 °C
SAMPLE Alloy_liu36 {
    FAMILY: SiGe_oxide
    COMPOSITION: Si0.64Ge0.36
    CLEAN: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Prepare KIND other TIMING assumed                      # Alloy grown and cleaned (not described)
    RUN Push DURATION 60 TEMP 500->700 AMBIENT steam TIMING assumed VARY duration 5..1200
    RUN Oxidation DURATION 28800 TEMP 700->700 AMBIENT steam TIMING bound
    EVENT Unload KIND other TIMING assumed                       # Unloaded and cooled (not described)
    EVENT Measure KIND measurement TIMING assumed                # Oxide thickness (technique not stated)
}

Liu et al. (Ref. 12): 28% Ge, steam, 700 °C

# Liu et al. (Ref. 12): 28% Ge, steam, 700 °C
SAMPLE Alloy_liu28 {
    FAMILY: SiGe_oxide
    COMPOSITION: Si0.72Ge0.28
    CLEAN: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Prepare KIND other TIMING assumed                      # Alloy grown and cleaned (not described)
    RUN Push DURATION 60 TEMP 500->700 AMBIENT steam TIMING assumed VARY duration 5..1200
    RUN Oxidation DURATION 28800 TEMP 700->700 AMBIENT steam TIMING bound
    EVENT Unload KIND other TIMING assumed                       # Unloaded and cooled (not described)
    EVENT Measure KIND measurement TIMING assumed                # Oxide thickness (technique not stated)
}

Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1000 °C

# Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1000 °C
SAMPLE Alloy_zhang {
    FAMILY: SiGe_oxide
    COMPOSITION: Si0.50Ge0.50
    CLEAN: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Prepare KIND other TIMING assumed                      # Alloy grown and cleaned (not described)
    RUN Push DURATION 60 TEMP 800->1000 AMBIENT mix:H2O=0.55,O2=0.45 TIMING assumed VARY duration 5..1200
    RUN Oxidation DURATION 2700 TEMP 1000->1000 AMBIENT mix:H2O=0.55,O2=0.45 TIMING bound
    EVENT Unload KIND other TIMING assumed                       # Unloaded and cooled (not described)
    EVENT Measure KIND measurement TIMING assumed                # Oxide thickness (technique not stated)
}

The programs the predictor ran on these histories: experiments/rabie_sige/legoues_800C_14Ge.isl, experiments/sige_interface/interface_enrichment.isl.template, experiments/sige_inventory/conserved_germanium.isl.template.

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

# ==============================================================================
# ISL MODEL: WET OXIDATION OF A SiGe ALLOY WITH GERMANIUM PILE-UP
#
# The kinetic model of Rabie, Haddara and Carette, J. Appl. Phys. 98, 074904 (2005),
# written in ISL for one of the experiments they model: LeGoues et al., 800 C, wet
# oxygen, Si0.86Ge0.14. Every constant is taken from that paper's tables, where the
# reaction rates and the interdiffusivity were chosen by its authors for this experiment.
# Nothing is fitted here. Matching the thickness data is therefore a reproduction of
# a published model in this language, not an independent prediction.
#
# The silicon fraction y of the alloy is a FIELD on a grid that travels with the
# oxidation front. Seen from the front, alloy flows toward it at the front speed.
#
# One deliberate difference from the paper: its interface condition (Eq. 13) sets the
# diffusive silicon supply to F3 + F5 - F4. Balancing silicon atoms at the front gives
# (F3 + F5) - (F3 + F4) y_i, in the same units. This program uses the balanced form, so
# the silicon removed from the alloy is exactly the silicon oxidized.
# ==============================================================================
SAMPLE Alloy_LeGoues_800C {
    FAMILY: SiGe_oxide
    COMPOSITION: Si0.86Ge0.14
}
# Depth below the oxidation front, on a grid that travels with it.
GRID z { UNIT: cm; FROM: 0; TO: 1.0e-5; CELLS: 100 }
FIELD y { UNIT: 1; GRID: z; INITIAL: y_bulk; MIN: 0; MAX: 1 }
STATE L_ox { UNIT: cm; INITIAL: L_0; MIN: 0; MAX: 1.0e-3 }
# Thickness-equivalent of GeO2 in the oxide: the oxide's GeO2 fraction is G_ox / L_ox.
STATE G_ox { UNIT: cm; INITIAL: 0; MIN: 0; MAX: 1.0e-3 }
# Silicon and germanium atoms taken from the alloy, per unit area, for the balance check.
STATE N_Si_out { UNIT: cm^-2; INITIAL: 0; MIN: 0; MAX: 1.0e20 }
CONTROL T { UNIT: K }
# ---- reaction rates and interdiffusivity chosen by Rabie et al. for this experiment ----
PARAMETER k1 { VALUE: 3.8333e-6; UNIT: cm s^-1; STATUS: sourced; SOURCE: Rabie et al. 2005 Table III, 2300 nm/min, Ge oxidation, agent-read }
PARAMETER k2 { VALUE: -1.6667e-7; UNIT: cm s^-1; STATUS: sourced; SOURCE: Rabie et al. 2005 Table III, -100 nm/min, agent-read }
PARAMETER k3 { VALUE: 2.5e-8; UNIT: cm s^-1; STATUS: sourced; SOURCE: Rabie et al. 2005 Table III, 15 nm/min, replacement reaction, agent-read }
PARAMETER D_SiGe { VALUE: 4.9167e-16; UNIT: cm^2 s^-1; STATUS: sourced; SOURCE: Rabie et al. 2005 Table V, 2.95 nm^2/min, agent-read }
# ---- oxidant in the oxide ---------------------------------------------------------------
PARAMETER C_Si_star { VALUE: 1.647e19; UNIT: cm^-3; STATUS: sourced; SOURCE: Rabie et al. 2005 Table II, wet O2, agent-read }
PARAMETER C_Ge_star { VALUE: 2.471e19; UNIT: cm^-3; STATUS: sourced; SOURCE: Rabie et al. 2005 Table IV, wet O2, agent-read }
PARAMETER D0_ox { VALUE: 7.94e-7; UNIT: cm^2 s^-1; STATUS: sourced; SOURCE: Rabie et al. 2005 Table II, wet O2, agent-read }
PARAMETER E_ox { VALUE: 0.71; UNIT: eV; STATUS: sourced; SOURCE: Rabie et al. 2005 Table II, wet O2, agent-read }
PARAMETER h_gas { VALUE: 2.7778; UNIT: cm s^-1; STATUS: sourced; SOURCE: Rabie et al. 2005, 1e8 um/h stated below Eq. 7b, agent-read }
PARAMETER N1_Si { VALUE: 4.4e22; UNIT: cm^-3; STATUS: sourced; SOURCE: Rabie et al. 2005 Table I, wet oxidation, agent-read }
PARAMETER N1_Ge { VALUE: 4.87e22; UNIT: cm^-3; STATUS: sourced; SOURCE: Rabie et al. 2005 Table I, wet oxidation, agent-read }
PARAMETER N_SiO2 { VALUE: 2.2e22; UNIT: cm^-3; STATUS: sourced; SOURCE: Rabie et al. 2005 Section IV, agent-read }
PARAMETER N_GeO2 { VALUE: 2.436e22; UNIT: cm^-3; STATUS: sourced; SOURCE: Rabie et al. 2005 Section IV, agent-read }
# ---- assumptions ------------------------------------------------------------------------
# The alloy is given silicon's atomic density; the paper uses C_Si without stating its value.
PARAMETER C_at { VALUE: 5.0e22; UNIT: cm^-3; STATUS: hypothesis }
# "A layer of oxide of very small thickness" (paper); 1 nm assumed.
PARAMETER L_0 { VALUE: 1.0e-7; UNIT: cm; STATUS: hypothesis }
PARAMETER y_bulk { VALUE: 0.86; UNIT: 1; STATUS: sourced; SOURCE: Rabie et al. 2005, 14% Ge alloy of LeGoues et al., agent-read }
PARAMETER k_B { VALUE: 8.617333262e-5; UNIT: eV K^-1; STATUS: constant }
# ---- the paper's algebra, each expression written once ------------------------------------
QUANTITY theta { UNIT: 1; EQUATION: theta = G_ox / L_ox }
QUANTITY y_i { UNIT: 1; EQUATION: y_i = left(y) }
QUANTITY k_eff { UNIT: cm s^-1; EQUATION: k_eff = k1 + k2 * y_i }
QUANTITY C_star { UNIT: cm^-3; EQUATION: C_star = theta * C_Ge_star + (1 - theta) * C_Si_star }
QUANTITY D_ox { UNIT: cm^2 s^-1; EQUATION: D_ox = D0_ox * exp(-E_ox / (k_B * T)) }
QUANTITY N1 { UNIT: cm^-3; EQUATION: N1 = 1 / (theta / N1_Ge + (1 - theta) / N1_Si) }
QUANTITY N_ox { UNIT: cm^-3; EQUATION: N_ox = 1 / (theta / N_GeO2 + (1 - theta) / N_SiO2) }
QUANTITY C_i { UNIT: cm^-3; EQUATION: C_i = C_star / (1 + k_eff / h_gas + k_eff * L_ox / D_ox) }
QUANTITY F3 { UNIT: cm^-2 s^-1; EQUATION: F3 = (k1 + k2) * y_i * C_i }
QUANTITY F4 { UNIT: cm^-2 s^-1; EQUATION: F4 = k1 * (1 - y_i) * C_i }
QUANTITY F5 { UNIT: cm^-2 s^-1; EQUATION: F5 = k3 * theta * N_ox * y_i }
# F3, F4 and F5 count oxidant molecules. Each oxide unit takes N1 / N_SiO2 of them (two for water),
# so atoms leave the alloy at N_SiO2 / N1 times those fluxes. Front speed is the paper's Eq. 18.
QUANTITY atoms_per_oxidant { UNIT: 1; EQUATION: atoms_per_oxidant = N_SiO2 / N1 }
QUANTITY v_front { UNIT: cm s^-1; EQUATION: v_front = atoms_per_oxidant * (F3 + F4) / C_at }
QUANTITY Si_removal { UNIT: cm^-2 s^-1; EQUATION: Si_removal = atoms_per_oxidant * (F3 + F5) }
CONTROL_TRAJECTORY Oxidation_800C {
    RUN WetOxidation DURATION 10800.0 TEMP 800.0->800.0 AMBIENT wet_O2
}
# Paper Eq. 10 and Eq. 19.
OPERATOR F_OxideGrowth : OxideGrowth {
    EQUATION: d(L_ox)/dt = (F3 + F4) / N1
    EQUATION: d(G_ox)/dt = (F4 - F5) / N1
}
# Paper Eq. 12 on the travelling grid, with the balanced interface condition. Silicon leaves
# the alloy through the front at the rate it is oxidized; far from the front the alloy is undisturbed.
OPERATOR F_AlloyInterdiffusion : Transport {
    FLUX: J(y) = -D_SiGe * grad(y) + upwind(y, -v_front)
    BOUNDARY: y AT left FLUX = -Si_removal / C_at
    BOUNDARY: y AT right VALUE = y_bulk
    EQUATION: d(N_Si_out)/dt = Si_removal
}
OBSERVATION_MODEL Obs_Oxide_Thickness { TARGET: Thickness; UNIT: cm; EQUATION: Thickness = L_ox }
OBSERVATION_MODEL Obs_Interface_Si { TARGET: Si_at_front; UNIT: 1; EQUATION: Si_at_front = left(y) }
OBSERVATION_MODEL Obs_Si_In_Grid { TARGET: Si_in_grid; UNIT: cm; EQUATION: Si_in_grid = integral(y) }
OBSERVATION_MODEL Obs_Si_Oxidized { TARGET: Si_oxidized; UNIT: cm^-2; EQUATION: Si_oxidized = N_Si_out }
OBSERVATION_MODEL Obs_GeO2_Fraction { TARGET: GeO2_fraction; UNIT: 1; EQUATION: GeO2_fraction = G_ox / L_ox }
EVALUATION_CONTRACT Contract_LeGoues_800C {
    FROZEN: true
    DATASET: data/derived/rabie_2005_legoues_thickness.csv
    DATASET_DIGEST: sha256:DATASET_SHA256
    SPLIT: reproduce
    TARGET: Thickness @ 600 = 2.0e-6 +/- 6.0e-7 abs
    TARGET: Thickness @ 2700 = 5.2e-6 +/- 6.0e-7 abs
    TARGET: Thickness @ 7200 = 9.6e-6 +/- 9.6e-7 abs
    TARGET: Thickness @ 10800 = 1.36e-5 +/- 1.36e-6 abs
}

Our simulation against the paper

3 within, 23 off of 26 numbers. Tolerance is stated per row; nothing was fitted for this page.

✓3 within tolerance✕23 outside
simulation below the paper ← 0 → simulation above the paper-100%-50%0%+50%+100%LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, …germanium at the interfaceours 44 · paper 75 %✕ outside (-41%)LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, …enriched layer, extent (3 e-folds)ours 66 · paper 50 nm✕ outside (+32%)LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, …oxide thicknessours 10.2 · paper 20 nm✕ outside (-49%)LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, …oxide thicknessours 39.2 · paper 52 nm✕ outside (-25%)LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, …oxide thicknessours 99.5 · paper 96 nm✓ within tolerance (+3.6%)LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, …oxide thicknessours 146 · paper 136 nm✓ within tolerance (+7.2%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °CGeO2 fraction of the oxideours 31.5 · paper 35 %✓ within tolerance (-9.9%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 27.7 · paper 220 nm✕ outside (-87%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 52.9 · paper 350 nm✕ outside (-85%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 101 · paper 450 nm✕ outside (-78%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 145 · paper 590 nm✕ outside (-75%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 187 · paper 660 nm✕ outside (-72%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 263 · paper 830 nm✕ outside (-68%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 331 · paper 950 nm✕ outside (-65%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 27.1 · paper 170 nm✕ outside (-84%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 51.7 · paper 220 nm✕ outside (-77%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 98.2 · paper 340 nm✕ outside (-71%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 142 · paper 450 nm✕ outside (-69%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 182 · paper 500 nm✕ outside (-64%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 256 · paper 580 nm✕ outside (-56%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 324 · paper 760 nm✕ outside (-57%)Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1…oxide thicknessours 6.35 · paper 180 nm✕ outside (-96%)Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1…oxide thicknessours 10.9 · paper 230 nm✕ outside (-95%)Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1…oxide thicknessours 20.3 · paper 280 nm✕ outside (-93%)Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1…oxide thicknessours 35.5 · paper 375 nm✕ outside (-91%)Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1…oxide thicknessours 44.1 · paper 400 nm✕ outside (-89%)
The pale green band is the tolerance. Bars past ±100% are cut and carry their value.
Oxide thickness against time, the four experiments Rabie et al. model
025751377010300120240360480time in Oxidation (min)oxide thickness (nm)LeGoues et al. 14%, 800 °CLiu et al. 36%, 700 °CLiu et al. 28%, 700 °CZhang et al. 50%, 1000 °Cour simulationthe paper
Sample and historyQuantityThe paperOur simulationDifferenceVerdictWhat the program's own evaluation saysWhere in the paper
LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, 800 °Cgermanium at the interface75 %44 %-41%off (±10%)outside the tested scopetext, PDF p. 7: “up to 75% Ge” (an upper value; time not stated, taken at the last point, 180 min)
LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, 800 °Cenriched layer, extent (3 e-folds)50 nm66 nm+32%off (±10%)outside the tested scopetext, PDF p. 7: “A 50-nm-thick Ge-rich layer”
LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, 800 °C, 10 minoxide thickness20 nm10.2 nm-49%off (±10%)direction onlydata/derived/rabie_2005_legoues_thickness.csv: Figure 4, read by eye (±3 nm); the dataset's own tolerance is ±6 nm on the first two points, 10% on the others
LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, 800 °C, 45 minoxide thickness52 nm39.2 nm-25%off (±10%)direction onlydata/derived/rabie_2005_legoues_thickness.csv: Figure 4, read by eye (±3 nm); the dataset's own tolerance is ±6 nm on the first two points, 10% on the others
LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, 800 °C, 120 minoxide thickness96 nm99.5 nm+4%within (±10%)direction onlydata/derived/rabie_2005_legoues_thickness.csv: Figure 4, read by eye (±3 nm); the dataset's own tolerance is ±6 nm on the first two points, 10% on the others
LeGoues et al. (Ref. 1): 14% Ge, wet oxygen, 800 °C, 180 minoxide thickness136 nm146 nm+7%within (±10%)direction onlydata/derived/rabie_2005_legoues_thickness.csv: Figure 4, read by eye (±3 nm); the dataset's own tolerance is ±6 nm on the first two points, 10% on the others
Liu et al. (Ref. 12): 36% Ge, steam, 700 °CGeO2 fraction of the oxide35 %31.5 %-10%within (±10%)outside the tested scopetext, PDF p. 7: “35% for the Si0.64Ge0.36 sample” (RBS)
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 30 minoxide thickness220 nm27.7 nm-87%off (±10%)outside the tested scopeFigure 3 (diamonds, y = 64), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 60 minoxide thickness350 nm52.9 nm-85%off (±10%)outside the tested scopeFigure 3 (diamonds, y = 64), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 120 minoxide thickness450 nm101 nm-78%off (±10%)outside the tested scopeFigure 3 (diamonds, y = 64), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 180 minoxide thickness590 nm145 nm-75%off (±10%)outside the tested scopeFigure 3 (diamonds, y = 64), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 240 minoxide thickness660 nm187 nm-72%off (±10%)outside the tested scopeFigure 3 (diamonds, y = 64), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 360 minoxide thickness830 nm262 nm-68%off (±10%)outside the tested scopeFigure 3 (diamonds, y = 64), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 480 minoxide thickness950 nm331 nm-65%off (±10%)outside the tested scopeFigure 3 (diamonds, y = 64), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 30 minoxide thickness170 nm27.1 nm-84%off (±10%)outside the tested scopeFigure 3 (triangles, y = 72), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 60 minoxide thickness220 nm51.7 nm-77%off (±10%)outside the tested scopeFigure 3 (triangles, y = 72), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 120 minoxide thickness340 nm98.2 nm-71%off (±10%)outside the tested scopeFigure 3 (triangles, y = 72), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 180 minoxide thickness450 nm142 nm-69%off (±10%)outside the tested scopeFigure 3 (triangles, y = 72), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 240 minoxide thickness500 nm182 nm-64%off (±10%)outside the tested scopeFigure 3 (triangles, y = 72), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 360 minoxide thickness580 nm256 nm-56%off (±10%)outside the tested scopeFigure 3 (triangles, y = 72), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 480 minoxide thickness760 nm324 nm-57%off (±10%)outside the tested scopeFigure 3 (triangles, y = 72), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1000 °C, 5 minoxide thickness180 nm6.35 nm-96%off (±10%)outside the tested scopeFigure 5 (diamonds, y = 50), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1000 °C, 10 minoxide thickness230 nm10.9 nm-95%off (±10%)outside the tested scopeFigure 5 (diamonds, y = 50), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1000 °C, 20 minoxide thickness280 nm20.2 nm-93%off (±10%)outside the tested scopeFigure 5 (diamonds, y = 50), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1000 °C, 36 minoxide thickness375 nm35.5 nm-91%off (±10%)outside the tested scopeFigure 5 (diamonds, y = 50), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours
Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1000 °C, 45 minoxide thickness400 nm44.1 nm-89%off (±10%)outside the tested scopeFigure 5 (diamonds, y = 50), read by eye by the second reader (±10 to 20 nm); not in any dataset of ours

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 legoues 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
Into the hot furnace (not described): durationLoad temperature, push rate and the moment time zero is counted from: none given5 to 1200 s60 s193.1 s2 of 6 within tolerance, median error 28.3%2 of 6 within tolerance, median error 26.8%

Together: Push duration 193.1 s (was 60).

As reproduced: 3 of 26 within tolerance, median error 69.8%. Aligned: 3 of 26 within tolerance, median error 69.4%. On the held-out samples only: 1 of 20 within tolerance, median error 76.0% as reproduced, 1 of 20 within tolerance, median error 75.4% aligned.

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

VariantAloneWith the aligned history
wet oxygen as 30% steam4 of 26 within tolerance, median error 69.8%4 of 26 within tolerance, median error 69.4%
wet oxygen as 90% steam3 of 26 within tolerance, median error 71.4%3 of 26 within tolerance, median error 71.1%
wet oxygen as pure steam (as the stored recipe is run)3 of 26 within tolerance, median error 71.4%3 of 26 within tolerance, median error 71.1%

One timing unknown was searched, the push into the furnace before the figure's clock starts (5 s to 20 min, in the oxidation gas, from 200 °C below the oxidation temperature), chosen on the LeGoues case alone; the Liu and Zhang curves are the test. The steam fraction of “wet oxygen” is a choice of material input, tried as variants (30%, 90%, pure steam) against the 55% the paper's own C* implies.

The push does not fix the LeGoues curve's shape. Our program, with the paper's constants, gives 9.4, 38.4, 98.8 and 145 nm at 10, 45, 120 and 180 min with no push, against 20, 52, 96 and 136 nm read from Figure 4. The measured curve starts about 10 nm higher and rises more slowly; the program's is nearly a straight line through the origin, as the paper's own line in Figure 4 is. A longer push lifts every point by the same few nanometres: at 193 s (the search's choice, 2 of 6 LeGoues numbers within tolerance, median error 27% against 28% at 60 s) the 10 min point is 12.0 nm and the 180 min point 147.5 nm; at 8 min the 10 min point reaches 16 nm and the 180 min point leaves its tolerance (151 nm). No push puts both ends within 10%. What the early points want is a starting oxide of about 10 nm or a fast initial regime, and the starting oxide is a hypothesis inside the program (1 nm), not something the history can state.

The steam fraction moves only the inventory program. The Rabie program does not read the gas, so its thickness, GeO2 fraction and the germanium at the interface are the same at every fraction. The inventory's germanium-rich layer extent is 47 nm at 30% steam, 66 nm at 55%, 86.5 nm at 90% and 91.6 nm as pure steam, against the 50 nm printed; 30% steam brings it within tolerance (4 of 26 numbers instead of 3). That is not evidence for 30% steam: the inventory's wet growth constants were fitted on this same experiment with wet oxygen run as pure steam, so a lower fraction simply grows less oxide in that program, and the layer extent follows the oxide.

The other three experiments are out of reach of any unknown in the history. With the LeGoues constants, the Liu and Zhang curves are 56 to 96% low at every point (1 of 20 test numbers within tolerance, median error 76% before and 75% after alignment); the one within tolerance is the GeO2 fraction of Liu's 36% alloy (31.5% against 35% by RBS). The paper reaches those curves by refitting k1, k2, k3 and DSiGe for each experiment (Table III: k1 + k2 runs from 1950 nm/min at 700 °C to 8 × 10^5 nm/min at 1000 °C), not by anything in the history.

✓1 within tolerance✕19 outside
simulation below the paper ← 0 → simulation above the paper-100%-50%0%+50%+100%Liu et al. (Ref. 12): 36% Ge, steam, 700 °CGeO2 fraction of the oxideours 31.5 · paper 35 %✓ within tolerance (-9.9%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 29.6 · paper 220 nm✕ outside (-87%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 54.7 · paper 350 nm✕ outside (-84%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 102 · paper 450 nm✕ outside (-77%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 147 · paper 590 nm✕ outside (-75%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 188 · paper 660 nm✕ outside (-72%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 264 · paper 830 nm✕ outside (-68%)Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, …oxide thicknessours 332 · paper 950 nm✕ outside (-65%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 29 · paper 170 nm✕ outside (-83%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 53.5 · paper 220 nm✕ outside (-76%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 99.8 · paper 340 nm✕ outside (-71%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 143 · paper 450 nm✕ outside (-68%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 183 · paper 500 nm✕ outside (-63%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 258 · paper 580 nm✕ outside (-56%)Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, …oxide thicknessours 325 · paper 760 nm✕ outside (-57%)Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1…oxide thicknessours 8.37 · paper 180 nm✕ outside (-95%)Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1…oxide thicknessours 13 · paper 230 nm✕ outside (-94%)Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1…oxide thicknessours 22.4 · paper 280 nm✕ outside (-92%)Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1…oxide thicknessours 37.6 · paper 375 nm✕ outside (-90%)Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1…oxide thicknessours 46.3 · paper 400 nm✕ outside (-88%)
The pale green band is the tolerance. Bars past ±100% are cut and carry their value.

1 within, 19 off of 20 numbers with the aligned settings (the samples used to choose the unknowns are left out).

SampleQuantityThe paperAs reproduced aboveAlignedDifferenceVerdictHow
Liu et al. (Ref. 12): 36% Ge, steam, 700 °CGeO2 fraction of the oxide35 %31.531.5-10%within (±10%)test
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 30 minoxide thickness220 nm27.729.6-87%off (±10%)test
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 60 minoxide thickness350 nm52.954.7-84%off (±10%)test
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 120 minoxide thickness450 nm101102-77%off (±10%)test
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 180 minoxide thickness590 nm145147-75%off (±10%)test
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 240 minoxide thickness660 nm187188-72%off (±10%)test
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 360 minoxide thickness830 nm262264-68%off (±10%)test
Liu et al. (Ref. 12): 36% Ge, steam, 700 °C, 480 minoxide thickness950 nm331332-65%off (±10%)test
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 30 minoxide thickness170 nm27.129-83%off (±10%)test
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 60 minoxide thickness220 nm51.753.5-76%off (±10%)test
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 120 minoxide thickness340 nm98.299.8-71%off (±10%)test
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 180 minoxide thickness450 nm142143-68%off (±10%)test
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 240 minoxide thickness500 nm182183-63%off (±10%)test
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 360 minoxide thickness580 nm256258-56%off (±10%)test
Liu et al. (Ref. 12): 28% Ge, steam, 700 °C, 480 minoxide thickness760 nm324325-57%off (±10%)test
Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1000 °C, 5 minoxide thickness180 nm6.358.37-95%off (±10%)test
Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1000 °C, 10 minoxide thickness230 nm10.913-94%off (±10%)test
Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1000 °C, 20 minoxide thickness280 nm20.222.4-92%off (±10%)test
Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1000 °C, 36 minoxide thickness375 nm35.537.6-90%off (±10%)test
Zhang et al. (Ref. 13): 50% Ge, wet oxygen, 1000 °C, 45 minoxide thickness400 nm44.146.2-88%off (±10%)test

What alignment cannot fix. The LeGoues germanium at the interface (75% measured, 44% from the enrichment relation the predictor reports, 51.5% from the Rabie program, 45% from the paper's own model) does not depend on any unknown we can write. The Liu and Zhang thicknesses need the paper's per-experiment constants, which our program does not carry; the predictor applies the 800 °C wet-oxygen constants to 700 °C steam and 1000 °C wet oxygen and labels the result “direction only” instead of refusing it or marking it outside its scope.

How to read the aligned numbers: the push was chosen on the LeGoues case, whose constants are the paper's fit to the same curve, so the LeGoues rows are not a test and are not shown in the aligned table. The Liu and Zhang rows are a test of transfer, which the program fails.

What our language and ontology cannot yet say

  • Wet oxygen by its steam pressure, or by its source. wet_O2 carries no partial pressures. A history should be able to say mix:H2O=x,O2=1-x, as here, or name the source (BUBBLER 95 C, PYROGENIC H2:O2 1.8) from which the pressure follows. Here the fraction moves the layer extent from 47 to 92 nm.
  • Constants that belong to a condition, and a refusal outside it. The program's k1, k2, k3 and DSiGe are the paper's for 800 °C, wet oxygen, 14%. A parameter should carry the conditions it was chosen for (VALID T 800; AMBIENT wet; GE 0.14), so the predictor labels or refuses a 700 °C steam history instead of answering it.
  • Programs that read the gas. The Rabie program ignores the ambient entirely: a push or a cooling in nitrogen would grow oxide in it, and dry oxidations (David 2015) are run with wet-oxygen constants.
  • A starting oxide on the sample. The model's initial oxide (“very small thickness Lox”) is a 1 nm hypothesis inside the program. The early LeGoues points ask for about 10 nm; a STARTING_OXIDE field would make that an unknown the alignment can search.
  • Report every observable a program computes. The Rabie program computes the germanium at the front (51.5% here) and the predictor drops it, reporting the enrichment relation's 44% under the same name. Two programs answering one target should both be reported, each with its name.
  • A measurement with no time. “A 50-nm-thick Ge-rich layer was obtained with up to 75% Ge” has no oxidation time. A result should be able to say AT unknown (or a range of times) and be compared over that range, not at the time we chose.
  • An upper value as data. “Up to 75%” is scored as 75 ± 10%. A result should carry ≤, ≥ or about, so that a program giving 60% is not counted as wrong by the same rule as one giving 44%.
  • A finite alloy layer. The source experiments are epilayers of unstated thickness; Table VI consumes up to 425 nm of alloy. The sample cannot say how thick the alloy is or what lies under it.

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)3 of 2671.1%
heat-up A (hot push), fast cooling2 of 2670.6%12 of 26 moved by more than 2%
heat-up A (hot push), slow cooling2 of 2670.6%13 of 26 moved by more than 2%
heat-up B (cold-furnace ramp), fast cooling0 of 2668.6%23 of 26 moved by more than 2%
heat-up B (cold-furnace ramp), slow cooling0 of 2668.6%24 of 26 moved by more than 2%

The paper's own conclusions

The paper statesWhat we find
The model is “in excellent agreement” with the oxide thickness in all four experimentsWith the LeGoues constants, our program agrees on LeGoues (the paper's own fit). Carried to Liu and Zhang it is far low: the paper refits k1, k2, k3 and DSiGe for eachreproduced on the fitted case only
LeGoues: Ge-rich layer up to 75% Ge, 50 nm; the model gives 45% and about 35 nmThe Rabie program gives 51.5% (computed, not reported by the predictor); the enrichment relation the predictor reports gives 44%direction right, amount low
LeGoues: pure SiO2; the model gives under 5% GeO28.6% GeO2 in our programdiffers from the paper's model
Liu 36%: 35% GeO2 in the oxide, uniform; no Ge-rich layersee the table: the GeO2 fraction is close although the thickness is a third of the measuredsee the table
Zhang: mixed oxide for 10 min, then pure SiO2Not compared: the paper gives no fractionnot tested

What we would like Emily to check

  1. In LeGoues' wet oxidation, is a steam fraction near 0.55 plausible, and was it a bubbler or pyrogenic steam?
  2. Is the germanium-rich layer of 50 nm, up to 75%, the state after 180 min, the last point of Figure 4?
  3. Rabie refits the reaction constants for each experiment. Would you accept a model that needs that as a reference, or should a reference model carry one set of constants across temperatures?
  4. Liu reports a mixed oxide and no germanium-rich layer at 700 °C in steam, LeGoues a pure oxide and a rich layer at 800 °C in wet oxygen. Is the difference the temperature, the gas, or the alloy?