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/muller_2023.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
J. Müller, A. Lecestre, R. Demoulin, F. Cristiano, J.-M. Hartmann and G. Larrieu, “Engineering of dense arrays of Vertical Si1-xGex nanostructures”, Nanotechnology 34, 105303 (2023).
The challenge's reference for silicon nanowires. Figure 5 gives, for each as-etched wire diameter, the increase of the diameter on oxidation and the core left after the oxide is stripped; from the two the dataset computes the oxide on each of 12 wires. The radial program (experiments/muller_nanowire/radial_oxidation.isl.template) was built on this paper: its flat-surface rate is the slope of the paper's bulk oxide against time, its sidewall factor is the nanosheet oxide over the bulk oxide, and its stress time was fitted on the five largest wires. The study also holds SiGe sheets and wires from the same figure, which only show which SiGe programs run.
How well can this study be reproduced?
Moderate. The furnace cycle is described step by step (load at 600 °C, ramp in nitrogen, ramp in oxygen, 5 min hold, hydrogen on, cool in nitrogen), which is more than most nanowire papers give. What a simulation must supply: every ramp and cool-down duration, the H2:O2 ratio of the steam, and the wet time itself, which appears once, in the appendix, as an example (“e.g. 7.7 min for Si”). The oxide grown in oxygen before the steam is not measured. Wire values exist only in Figure 5.
| Sample described | 0 of 6 properties we need are stated and encoded the same |
| History described | 3 of 15 steps are stated and encoded the same; 5 are stated by the paper and absent from our history; 0 are ours because the paper is silent |
| Timing | 1 of 5 simulated steps have a stated duration; 7 of 8 other steps have none; 7 timing gaps listed below |
| How the results are given | Wire and sheet sizes only in Figure 5 (read from the vector drawing, about ±3 nm); bulk thickness in Figure A1; a few ranges and means in the text (33.5 to 22.1 nm, 44.1 ± 3.7 nm, 19 nm) |
| Repeatability stated by the authors | Not stated. A ± is given for the sheet means (± 3.7 nm, ± 2.6 nm) without saying what it is; the scatter of neighbouring wires in Figure 5 is 2 to 3 nm |
| Internal consistency | Moderate. The two panels of Figure 5 and the text agree near 60 nm and disagree at 40 and 100 nm (a silicon volume balance that does not close); SG50 is said both to keep and to lose diameter; Figure A1's legend prints Si0.2Ge0.8 |
| Is our model independent of this paper's data? | No for the Si wires. The radial program's planar rate and sidewall factor are taken from this paper, and its one fitted number (stress time, 142 s) was fitted on the five wires of 75 nm and above, which are the five fit wires here; the seven smaller wires were held out. The SiGe programs were not fitted to these samples, except that the interface-composition relation used this paper's two planar values |
| Outcome | 1 of 25 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.
“Samples are pre-cleaned with a 15 s oxygen plasma, directly followed by the main etching step using a gas mixture of SF6, C4F8 and O2 with constant pressure, power and overall flows.”
| oxide thickness | 0 nm | 33.4 |
| remaining silicon diameter | 94.4 nm | 58.4 |
| consumed substrate (radius) | 0 nm |
Does our sample and history match the paper's?
Left: the paper's own words, with the page of the PDF. Right: what we simulate. 3 same, 10 approximated, 1 assumed, 7 not in ours.
The timing of the history
Time is counted from the start of the first simulated step. A step the language cannot state takes no simulated time; where the paper gives its duration, the duration is in the last column. Stated means the paper gives the duration; partly stated that it gives a bound or a range; not stated; assumed that the duration in our history is ours.
Si nanowire, 94.4 nm as etched (fit wire)
| # | Step | Starts at | Lasts | Ends at | Temperature | Rate | Gas | Is the timing in the paper? |
|---|---|---|---|---|---|---|---|---|
| 1 | HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall | 0 s | not simulated | not stated. 15 s pre-clean stated; main etch time not stated | ||||
| 2 | HSQ mask removed in diluted HF | 0 s | not simulated | not stated | ||||
| 3 | Oxygen plasma, 20 W, 30 s | 0 s | not simulated | stated. 30 s | ||||
| 4 | As-etched diameter by SEM | 0 s | not simulated | not stated | ||||
| 5 | Into the furnace pre-heated to 600 °C | 0 s | not simulated | not stated. Push rate and time at 600 °C before the ramp not stated | ||||
| 6 | Ramp 600 → 750 °C in nitrogen | 0 s | 15 min | 15 min | 600 → 750 °C | +0.167 °C/s | inert_N2 | not stated; assumed. ramp rate not stated; 5 to 30 °C/min searched (5 to 30 min) |
| 7 | Ramp 750 → 850 °C in pure oxygen | 15 min | 10 min | 25 min | 750 → 850 °C | +0.167 °C/s | dry_O2 | not stated; assumed. ramp rate not stated; 5 to 30 °C/min searched (200 to 1200 s) |
| 8 | Hold 5 min at 850 °C (oxygen) | 25 min | 5 min | 30 min | 850 → 850 °C | held | dry_O2 | stated. 5 min |
| 9 | Steam at 850 °C, 7.7 min for Si | 30 min | 7 min 42 s | 37 min 42 s | 850 → 850 °C | held | mix:H2O=0.95,O2=0.05 | partly stated. “e.g. 7.7 min for Si”, in the appendix only, as an example; counted from hydrogen injection |
| 10 | Cooled under nitrogen | 37 min 42 s | 20 min | 57 min 42 s | 850 → 600 °C | -0.208 °C/s | inert_N2 | not stated; assumed. cool-down rate and unload temperature not stated |
| 11 | Oxidized diameter by SEM | 57 min 42 s | not simulated | not stated | ||||
| 12 | Oxide removed in buffered oxide etchant | 57 min 42 s | not simulated | not stated | ||||
| 13 | Remaining core by SEM | 57 min 42 s | not simulated | not stated |
Simulated time in this history: 57 min 42 s.
Across the samples
| Sample | RampN2 | RampO2 | Thermalize | WetOxidation | CoolN2 | Total |
|---|---|---|---|---|---|---|
| Si nanowire, 94.4 nm as etched (fit wire) | 15 min at 600→750 °C | 10 min at 750→850 °C | 5 min at 850 °C | 7 min 42 s at 850 °C | 20 min at 850→600 °C | 57 min 42 s |
| Si nanowire, 78.7 nm as etched (fit wire) | 15 min at 600→750 °C | 10 min at 750→850 °C | 5 min at 850 °C | 7 min 42 s at 850 °C | 20 min at 850→600 °C | 57 min 42 s |
| Si nanowire, 84.7 nm as etched (fit wire) | 15 min at 600→750 °C | 10 min at 750→850 °C | 5 min at 850 °C | 7 min 42 s at 850 °C | 20 min at 850→600 °C | 57 min 42 s |
| Si nanowire, 103.5 nm as etched (fit wire) | 15 min at 600→750 °C | 10 min at 750→850 °C | 5 min at 850 °C | 7 min 42 s at 850 °C | 20 min at 850→600 °C | 57 min 42 s |
| Si nanowire, 108.8 nm as etched (fit wire) | 15 min at 600→750 °C | 10 min at 750→850 °C | 5 min at 850 °C | 7 min 42 s at 850 °C | 20 min at 850→600 °C | 57 min 42 s |
| Si nanowire, 35.3 nm as etched (test wire) | 15 min at 600→750 °C | 10 min at 750→850 °C | 5 min at 850 °C | 7 min 42 s at 850 °C | 20 min at 850→600 °C | 57 min 42 s |
| Si nanowire, 40.2 nm as etched (test wire) | 15 min at 600→750 °C | 10 min at 750→850 °C | 5 min at 850 °C | 7 min 42 s at 850 °C | 20 min at 850→600 °C | 57 min 42 s |
| Si nanowire, 49.5 nm as etched (test wire) | 15 min at 600→750 °C | 10 min at 750→850 °C | 5 min at 850 °C | 7 min 42 s at 850 °C | 20 min at 850→600 °C | 57 min 42 s |
| Si nanowire, 61 nm as etched (test wire) | 15 min at 600→750 °C | 10 min at 750→850 °C | 5 min at 850 °C | 7 min 42 s at 850 °C | 20 min at 850→600 °C | 57 min 42 s |
| Si nanowire, 68.1 nm as etched (test wire) | 15 min at 600→750 °C | 10 min at 750→850 °C | 5 min at 850 °C | 7 min 42 s at 850 °C | 20 min at 850→600 °C | 57 min 42 s |
| Si nanosheet, 79.6 nm wide as etched | 15 min at 600→750 °C | 10 min at 750→850 °C | 5 min at 850 °C | 7 min 42 s at 850 °C | 20 min at 850→600 °C | 57 min 42 s |
| Si0.80Ge0.20 nanosheet, 114.8 nm wide as etched | 15 min at 600→750 °C | 10 min at 750→850 °C | 5 min at 850 °C | 1 min 49 s at 850 °C | 20 min at 850→600 °C | 51 min 49 s |
| Si0.50Ge0.50 nanosheet, 98.9 nm wide as etched | 15 min at 600→750 °C | 10 min at 750→850 °C | 5 min at 850 °C | 1 min 49 s at 850 °C | 20 min at 850→600 °C | 51 min 49 s |
Timing the paper does not give
- The wet time: “e.g. 7.7 min for Si” and “e.g. 1.82 min for SiGe”, given once, in the appendix, as examples. The main text says only “the set time”.
- Ramp 600 → 750 °C in nitrogen and 750 → 850 °C in oxygen: rates and durations not stated. The oxygen ramp grows dry oxide before the steam.
- Push rate and time at 600 °C before the ramp starts.
- Cool-down in nitrogen: rate and unload temperature not stated.
- The H2:O2 flow ratio, and so the steam fraction, during the wet step; total pressure.
- Whether the bulk references of Figure A1 went through the same ramps and hold; their line extrapolates to about 9 nm at zero wet time.
- The 1.82 min SiGe time is shorter than the shortest reference time (2 min): it is an extrapolation of Figure A1.
What the second reading changed
- The stored recipe for every Si wire is one steam step of 779.5 s at 850 °C. That is the time the bulk slope of Figure A1 (1.46 nm/min) needs to grow 19 nm from zero; the paper's example time is 7.7 min (462 s). The difference, about 5.3 min, stands in for whatever oxide the bulk had before the steam: the ramp in oxygen, the 5 min hold, the native oxide. With 462 s of steam and nothing before it, the program gives the 94 nm wire 21.8 nm of oxide instead of the measured 33.4.
- The paper's furnace cycle has five simulated steps (nitrogen ramp, oxygen ramp, 5 min oxygen hold, steam, nitrogen cool-down); the stored recipe has one. The radial program grows nothing in the four we added, because its rate is proportional to p_H2O and it has no temperature dependence.
- The stored SiGe recipe is 120 s of steam, marked “inferred, not stated”; the paper's example is 1.82 min (109.2 s).
- The wet ambient is stored as pure steam (p_H2O = 1 atm). The paper's steam is made by injecting hydrogen into a reduced oxygen flow; the ratio is not stated. Written as a mixture, the radial program's rate falls in proportion, although its rate constant was measured in this same furnace.
- Nanosheets are stored with FAMILY Si_Nanowire and a DIAMETER_NM, so the predictor runs a 2.1 µm long flat-sided beam as a cylinder. The program's sidewall factor was itself derived from the sheets.
- The dataset's wire oxide is computed from Figure 5(a) and (b) together: (as etched + increase − core)/2. Near 40 and 100 nm the two panels imply oxide thicknesses up to 10 nm apart with silicon conserved at an expansion of 2.27; the program conserves silicon, so it cannot match both the oxide and the core on those wires.
Their terms and ours
| The paper says | We write | Kind in our vocabulary | Note |
|---|---|---|---|
| as-etched NW/NS diameter | DIAMETER_NM | sample field (read by the radial program as the starting radius) | Not in ontology/isl_vocabulary.json; SHAPE and DIAMETER_NM are sample fields no vocabulary entry defines. |
| increase of diameter Δd_ox | (none) | no observable; it is core + 2 × Thickness − DIAMETER_NM | The paper's measured quantity is a difference of two SEM sizes; we compare its derived oxide instead. |
| shrunk core after oxide removal | Core_diameter (target: remaining silicon diameter) | observable (target: layer_thickness) | Assumes the buffered-oxide etch removes no silicon. |
| oxide thickness on the nanostructures | Thickness (target: oxide thickness) | observable (target: layer_thickness) | “calculated” from the two SEM sizes; the formula is not written. |
| wet-thermal oxidation: oxygen flow reduced and hydrogen injected | AMBIENT mix:H2O=0.95,O2=0.05 | ambient by partial pressure | Pyrogenic steam with leftover oxygen; the ratio is ours. The radial program reads p_H2O linearly. |
| ramped up … under a pure oxygen flow | RUN RampO2 … AMBIENT dry_O2 | a RUN | The radial program has no dry-oxygen growth: p_H2O = 0 gives zero rate. |
| thermalization period of 5 min | RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 | a RUN | Gas not restated; oxygen by context. |
| process time / set time | RUN WetOxidation DURATION … | a RUN with TIMING bound | Counted from hydrogen injection; the ramps and hold are not in it. |
| self-limitation (of NW oxidation) | F_ShellFlowStress: exp(-stress) | operator kind Relaxation; parameter stress_time (fitted) | The paper names it; it does not model it. |
| faceting, [110] vs [100] growth | (none) | not modelled | One rate around the circumference. |
| Ge rich layer (GRL), Ge rich oxide (GRO), top oxide (TO) | germanium at the interface; GeO2 fraction of the oxide | observables of the SiGe programs | GRO and TO are two oxide layers on SG50; no SiGe program has two layers. |
| growth rate enhancement (GRE) | (none) | a ratio of two growth rates; no formula given in the paper | Consistent with (oxide/time on SG20)/(oxide/time on Si) for the same structure. |
| O2 plasma clean (20 W, 30 s) | CLEAN: not_stated | sample field; process factor pre-oxidation-clean | The vocabulary's cleans are RCA-type wet cleans. |
The simulation in our language
Each sample is one history file: a SAMPLE and a CONTROL_TRAJECTORY. This is the whole input; run it with PYTHONPATH=. python -m isl_harness.predict <file>.
Si nanowire, 94.4 nm as etched (fit wire)
# Si nanowire, 94.4 nm as etched (fit wire)
SAMPLE Si_wire_94p4nm {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 94.4
DOPING: p_type_boron
HEIGHT_NM: 200
}
CONTROL_TRAJECTORY History {
EVENT Etch KIND etch TIMING assumed # HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall
EVENT Strip KIND etch TIMING assumed # HSQ mask removed in diluted HF
EVENT Clean KIND clean TIMING stated # Oxygen plasma, 20 W, 30 s
EVENT MeasureEtched KIND measurement TIMING assumed # As-etched diameter by SEM
EVENT Load KIND load TIMING assumed # Into the furnace pre-heated to 600 °C
RUN RampN2 DURATION 900 TEMP 600->750 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN RampO2 DURATION 600 TEMP 750->850 AMBIENT dry_O2 TIMING assumed VARY duration 200..1200
RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 TIMING stated
RUN WetOxidation DURATION 462 TEMP 850->850 AMBIENT mix:H2O=0.95,O2=0.05 TIMING bound VARY duration 400..900
RUN CoolN2 DURATION 1200 TEMP 850->600 AMBIENT inert_N2 TIMING assumed VARY duration 300..2400
EVENT MeasureShell KIND measurement TIMING assumed # Oxidized diameter by SEM
EVENT StripOxide KIND etch TIMING assumed # Oxide removed in buffered oxide etchant
EVENT MeasureCore KIND measurement TIMING assumed # Remaining core by SEM
}Si nanowire, 78.7 nm as etched (fit wire)
# Si nanowire, 78.7 nm as etched (fit wire)
SAMPLE Si_wire_78p7nm {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 78.7
DOPING: p_type_boron
HEIGHT_NM: 200
}
CONTROL_TRAJECTORY History {
EVENT Etch KIND etch TIMING assumed # HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall
EVENT Strip KIND etch TIMING assumed # HSQ mask removed in diluted HF
EVENT Clean KIND clean TIMING stated # Oxygen plasma, 20 W, 30 s
EVENT MeasureEtched KIND measurement TIMING assumed # As-etched diameter by SEM
EVENT Load KIND load TIMING assumed # Into the furnace pre-heated to 600 °C
RUN RampN2 DURATION 900 TEMP 600->750 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN RampO2 DURATION 600 TEMP 750->850 AMBIENT dry_O2 TIMING assumed VARY duration 200..1200
RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 TIMING stated
RUN WetOxidation DURATION 462 TEMP 850->850 AMBIENT mix:H2O=0.95,O2=0.05 TIMING bound VARY duration 400..900
RUN CoolN2 DURATION 1200 TEMP 850->600 AMBIENT inert_N2 TIMING assumed VARY duration 300..2400
EVENT MeasureShell KIND measurement TIMING assumed # Oxidized diameter by SEM
EVENT StripOxide KIND etch TIMING assumed # Oxide removed in buffered oxide etchant
EVENT MeasureCore KIND measurement TIMING assumed # Remaining core by SEM
}Si nanowire, 84.7 nm as etched (fit wire)
# Si nanowire, 84.7 nm as etched (fit wire)
SAMPLE Si_wire_84p7nm {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 84.7
DOPING: p_type_boron
HEIGHT_NM: 200
}
CONTROL_TRAJECTORY History {
EVENT Etch KIND etch TIMING assumed # HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall
EVENT Strip KIND etch TIMING assumed # HSQ mask removed in diluted HF
EVENT Clean KIND clean TIMING stated # Oxygen plasma, 20 W, 30 s
EVENT MeasureEtched KIND measurement TIMING assumed # As-etched diameter by SEM
EVENT Load KIND load TIMING assumed # Into the furnace pre-heated to 600 °C
RUN RampN2 DURATION 900 TEMP 600->750 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN RampO2 DURATION 600 TEMP 750->850 AMBIENT dry_O2 TIMING assumed VARY duration 200..1200
RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 TIMING stated
RUN WetOxidation DURATION 462 TEMP 850->850 AMBIENT mix:H2O=0.95,O2=0.05 TIMING bound VARY duration 400..900
RUN CoolN2 DURATION 1200 TEMP 850->600 AMBIENT inert_N2 TIMING assumed VARY duration 300..2400
EVENT MeasureShell KIND measurement TIMING assumed # Oxidized diameter by SEM
EVENT StripOxide KIND etch TIMING assumed # Oxide removed in buffered oxide etchant
EVENT MeasureCore KIND measurement TIMING assumed # Remaining core by SEM
}Si nanowire, 103.5 nm as etched (fit wire)
# Si nanowire, 103.5 nm as etched (fit wire)
SAMPLE Si_wire_103p5nm {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 103.5
DOPING: p_type_boron
HEIGHT_NM: 200
}
CONTROL_TRAJECTORY History {
EVENT Etch KIND etch TIMING assumed # HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall
EVENT Strip KIND etch TIMING assumed # HSQ mask removed in diluted HF
EVENT Clean KIND clean TIMING stated # Oxygen plasma, 20 W, 30 s
EVENT MeasureEtched KIND measurement TIMING assumed # As-etched diameter by SEM
EVENT Load KIND load TIMING assumed # Into the furnace pre-heated to 600 °C
RUN RampN2 DURATION 900 TEMP 600->750 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN RampO2 DURATION 600 TEMP 750->850 AMBIENT dry_O2 TIMING assumed VARY duration 200..1200
RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 TIMING stated
RUN WetOxidation DURATION 462 TEMP 850->850 AMBIENT mix:H2O=0.95,O2=0.05 TIMING bound VARY duration 400..900
RUN CoolN2 DURATION 1200 TEMP 850->600 AMBIENT inert_N2 TIMING assumed VARY duration 300..2400
EVENT MeasureShell KIND measurement TIMING assumed # Oxidized diameter by SEM
EVENT StripOxide KIND etch TIMING assumed # Oxide removed in buffered oxide etchant
EVENT MeasureCore KIND measurement TIMING assumed # Remaining core by SEM
}Si nanowire, 108.8 nm as etched (fit wire)
# Si nanowire, 108.8 nm as etched (fit wire)
SAMPLE Si_wire_108p8nm {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 108.8
DOPING: p_type_boron
HEIGHT_NM: 200
}
CONTROL_TRAJECTORY History {
EVENT Etch KIND etch TIMING assumed # HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall
EVENT Strip KIND etch TIMING assumed # HSQ mask removed in diluted HF
EVENT Clean KIND clean TIMING stated # Oxygen plasma, 20 W, 30 s
EVENT MeasureEtched KIND measurement TIMING assumed # As-etched diameter by SEM
EVENT Load KIND load TIMING assumed # Into the furnace pre-heated to 600 °C
RUN RampN2 DURATION 900 TEMP 600->750 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN RampO2 DURATION 600 TEMP 750->850 AMBIENT dry_O2 TIMING assumed VARY duration 200..1200
RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 TIMING stated
RUN WetOxidation DURATION 462 TEMP 850->850 AMBIENT mix:H2O=0.95,O2=0.05 TIMING bound VARY duration 400..900
RUN CoolN2 DURATION 1200 TEMP 850->600 AMBIENT inert_N2 TIMING assumed VARY duration 300..2400
EVENT MeasureShell KIND measurement TIMING assumed # Oxidized diameter by SEM
EVENT StripOxide KIND etch TIMING assumed # Oxide removed in buffered oxide etchant
EVENT MeasureCore KIND measurement TIMING assumed # Remaining core by SEM
}Si nanowire, 35.3 nm as etched (test wire)
# Si nanowire, 35.3 nm as etched (test wire)
SAMPLE Si_wire_35p3nm {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 35.3
DOPING: p_type_boron
HEIGHT_NM: 200
}
CONTROL_TRAJECTORY History {
EVENT Etch KIND etch TIMING assumed # HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall
EVENT Strip KIND etch TIMING assumed # HSQ mask removed in diluted HF
EVENT Clean KIND clean TIMING stated # Oxygen plasma, 20 W, 30 s
EVENT MeasureEtched KIND measurement TIMING assumed # As-etched diameter by SEM
EVENT Load KIND load TIMING assumed # Into the furnace pre-heated to 600 °C
RUN RampN2 DURATION 900 TEMP 600->750 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN RampO2 DURATION 600 TEMP 750->850 AMBIENT dry_O2 TIMING assumed VARY duration 200..1200
RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 TIMING stated
RUN WetOxidation DURATION 462 TEMP 850->850 AMBIENT mix:H2O=0.95,O2=0.05 TIMING bound VARY duration 400..900
RUN CoolN2 DURATION 1200 TEMP 850->600 AMBIENT inert_N2 TIMING assumed VARY duration 300..2400
EVENT MeasureShell KIND measurement TIMING assumed # Oxidized diameter by SEM
EVENT StripOxide KIND etch TIMING assumed # Oxide removed in buffered oxide etchant
EVENT MeasureCore KIND measurement TIMING assumed # Remaining core by SEM
}Si nanowire, 40.2 nm as etched (test wire)
# Si nanowire, 40.2 nm as etched (test wire)
SAMPLE Si_wire_40p2nm {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 40.2
DOPING: p_type_boron
HEIGHT_NM: 200
}
CONTROL_TRAJECTORY History {
EVENT Etch KIND etch TIMING assumed # HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall
EVENT Strip KIND etch TIMING assumed # HSQ mask removed in diluted HF
EVENT Clean KIND clean TIMING stated # Oxygen plasma, 20 W, 30 s
EVENT MeasureEtched KIND measurement TIMING assumed # As-etched diameter by SEM
EVENT Load KIND load TIMING assumed # Into the furnace pre-heated to 600 °C
RUN RampN2 DURATION 900 TEMP 600->750 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN RampO2 DURATION 600 TEMP 750->850 AMBIENT dry_O2 TIMING assumed VARY duration 200..1200
RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 TIMING stated
RUN WetOxidation DURATION 462 TEMP 850->850 AMBIENT mix:H2O=0.95,O2=0.05 TIMING bound VARY duration 400..900
RUN CoolN2 DURATION 1200 TEMP 850->600 AMBIENT inert_N2 TIMING assumed VARY duration 300..2400
EVENT MeasureShell KIND measurement TIMING assumed # Oxidized diameter by SEM
EVENT StripOxide KIND etch TIMING assumed # Oxide removed in buffered oxide etchant
EVENT MeasureCore KIND measurement TIMING assumed # Remaining core by SEM
}Si nanowire, 49.5 nm as etched (test wire)
# Si nanowire, 49.5 nm as etched (test wire)
SAMPLE Si_wire_49p5nm {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 49.5
DOPING: p_type_boron
HEIGHT_NM: 200
}
CONTROL_TRAJECTORY History {
EVENT Etch KIND etch TIMING assumed # HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall
EVENT Strip KIND etch TIMING assumed # HSQ mask removed in diluted HF
EVENT Clean KIND clean TIMING stated # Oxygen plasma, 20 W, 30 s
EVENT MeasureEtched KIND measurement TIMING assumed # As-etched diameter by SEM
EVENT Load KIND load TIMING assumed # Into the furnace pre-heated to 600 °C
RUN RampN2 DURATION 900 TEMP 600->750 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN RampO2 DURATION 600 TEMP 750->850 AMBIENT dry_O2 TIMING assumed VARY duration 200..1200
RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 TIMING stated
RUN WetOxidation DURATION 462 TEMP 850->850 AMBIENT mix:H2O=0.95,O2=0.05 TIMING bound VARY duration 400..900
RUN CoolN2 DURATION 1200 TEMP 850->600 AMBIENT inert_N2 TIMING assumed VARY duration 300..2400
EVENT MeasureShell KIND measurement TIMING assumed # Oxidized diameter by SEM
EVENT StripOxide KIND etch TIMING assumed # Oxide removed in buffered oxide etchant
EVENT MeasureCore KIND measurement TIMING assumed # Remaining core by SEM
}Si nanowire, 61 nm as etched (test wire)
# Si nanowire, 61 nm as etched (test wire)
SAMPLE Si_wire_61p0nm {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 61
DOPING: p_type_boron
HEIGHT_NM: 200
}
CONTROL_TRAJECTORY History {
EVENT Etch KIND etch TIMING assumed # HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall
EVENT Strip KIND etch TIMING assumed # HSQ mask removed in diluted HF
EVENT Clean KIND clean TIMING stated # Oxygen plasma, 20 W, 30 s
EVENT MeasureEtched KIND measurement TIMING assumed # As-etched diameter by SEM
EVENT Load KIND load TIMING assumed # Into the furnace pre-heated to 600 °C
RUN RampN2 DURATION 900 TEMP 600->750 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN RampO2 DURATION 600 TEMP 750->850 AMBIENT dry_O2 TIMING assumed VARY duration 200..1200
RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 TIMING stated
RUN WetOxidation DURATION 462 TEMP 850->850 AMBIENT mix:H2O=0.95,O2=0.05 TIMING bound VARY duration 400..900
RUN CoolN2 DURATION 1200 TEMP 850->600 AMBIENT inert_N2 TIMING assumed VARY duration 300..2400
EVENT MeasureShell KIND measurement TIMING assumed # Oxidized diameter by SEM
EVENT StripOxide KIND etch TIMING assumed # Oxide removed in buffered oxide etchant
EVENT MeasureCore KIND measurement TIMING assumed # Remaining core by SEM
}Si nanowire, 68.1 nm as etched (test wire)
# Si nanowire, 68.1 nm as etched (test wire)
SAMPLE Si_wire_68p1nm {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanowire
DIAMETER_NM: 68.1
DOPING: p_type_boron
HEIGHT_NM: 200
}
CONTROL_TRAJECTORY History {
EVENT Etch KIND etch TIMING assumed # HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall
EVENT Strip KIND etch TIMING assumed # HSQ mask removed in diluted HF
EVENT Clean KIND clean TIMING stated # Oxygen plasma, 20 W, 30 s
EVENT MeasureEtched KIND measurement TIMING assumed # As-etched diameter by SEM
EVENT Load KIND load TIMING assumed # Into the furnace pre-heated to 600 °C
RUN RampN2 DURATION 900 TEMP 600->750 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN RampO2 DURATION 600 TEMP 750->850 AMBIENT dry_O2 TIMING assumed VARY duration 200..1200
RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 TIMING stated
RUN WetOxidation DURATION 462 TEMP 850->850 AMBIENT mix:H2O=0.95,O2=0.05 TIMING bound VARY duration 400..900
RUN CoolN2 DURATION 1200 TEMP 850->600 AMBIENT inert_N2 TIMING assumed VARY duration 300..2400
EVENT MeasureShell KIND measurement TIMING assumed # Oxidized diameter by SEM
EVENT StripOxide KIND etch TIMING assumed # Oxide removed in buffered oxide etchant
EVENT MeasureCore KIND measurement TIMING assumed # Remaining core by SEM
}Si nanosheet, 79.6 nm wide as etched
# Si nanosheet, 79.6 nm wide as etched
SAMPLE Si_sheet_Si_79p6nm {
FAMILY: Si_Nanowire
ORIENTATION: Si100
CLEAN: not_stated
SHAPE: nanosheet
DIAMETER_NM: 79.6
DOPING: p_type_boron
HEIGHT_NM: 200
}
CONTROL_TRAJECTORY History {
EVENT Etch KIND etch TIMING assumed # HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall
EVENT Strip KIND etch TIMING assumed # HSQ mask removed in diluted HF
EVENT Clean KIND clean TIMING stated # Oxygen plasma, 20 W, 30 s
EVENT MeasureEtched KIND measurement TIMING assumed # As-etched diameter by SEM
EVENT Load KIND load TIMING assumed # Into the furnace pre-heated to 600 °C
RUN RampN2 DURATION 900 TEMP 600->750 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN RampO2 DURATION 600 TEMP 750->850 AMBIENT dry_O2 TIMING assumed VARY duration 200..1200
RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 TIMING stated
RUN WetOxidation DURATION 462 TEMP 850->850 AMBIENT mix:H2O=0.95,O2=0.05 TIMING bound VARY duration 400..900
RUN CoolN2 DURATION 1200 TEMP 850->600 AMBIENT inert_N2 TIMING assumed VARY duration 300..2400
EVENT MeasureShell KIND measurement TIMING assumed # Oxidized diameter by SEM
EVENT StripOxide KIND etch TIMING assumed # Oxide removed in buffered oxide etchant
EVENT MeasureCore KIND measurement TIMING assumed # Remaining core by SEM
}A nanosheet is a 2.1 µm long beam with flat sidewalls. The stored record gives it FAMILY Si_Nanowire and DIAMETER_NM, and the predictor, which does not read SHAPE, runs it as a cylinder of that diameter. The player draws it as a wire for the same reason.
Si0.80Ge0.20 nanosheet, 114.8 nm wide as etched
# Si0.80Ge0.20 nanosheet, 114.8 nm wide as etched
SAMPLE sheet_SG20_114p8nm {
FAMILY: SiGe_oxide
COMPOSITION: Si0.80Ge0.20
CLEAN: not_stated
SHAPE: nanosheet
DIAMETER_NM: 114.8
HEIGHT_NM: 200
SUBSTRATE: relaxed_virtual_substrate_on_Si001
DOPING: not_intentionally_p_type
}
CONTROL_TRAJECTORY History {
EVENT Etch KIND etch TIMING assumed # HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall
EVENT Strip KIND etch TIMING assumed # HSQ mask removed in diluted HF
EVENT Clean KIND clean TIMING stated # Oxygen plasma, 20 W, 30 s
EVENT MeasureEtched KIND measurement TIMING assumed # As-etched diameter by SEM
EVENT Load KIND load TIMING assumed # Into the furnace pre-heated to 600 °C
RUN RampN2 DURATION 900 TEMP 600->750 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN RampO2 DURATION 600 TEMP 750->850 AMBIENT dry_O2 TIMING assumed VARY duration 200..1200
RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 TIMING stated
RUN WetOxidation DURATION 109.2 TEMP 850->850 AMBIENT mix:H2O=0.95,O2=0.05 TIMING bound VARY duration 100..240
RUN CoolN2 DURATION 1200 TEMP 850->600 AMBIENT inert_N2 TIMING assumed VARY duration 300..2400
EVENT MeasureShell KIND measurement TIMING assumed # Oxidized diameter by SEM
EVENT StripOxide KIND etch TIMING assumed # Oxide removed in buffered oxide etchant
EVENT MeasureCore KIND measurement TIMING assumed # Remaining core by SEM
}SiGe samples run through the SiGe programs (FAMILY SiGe_oxide). They are planar programs; the predictor labels every number outside its tested scope. None reports a remaining core.
Si0.50Ge0.50 nanosheet, 98.9 nm wide as etched
# Si0.50Ge0.50 nanosheet, 98.9 nm wide as etched
SAMPLE sheet_SG50_98p9nm {
FAMILY: SiGe_oxide
COMPOSITION: Si0.50Ge0.50
CLEAN: not_stated
SHAPE: nanosheet
DIAMETER_NM: 98.9
HEIGHT_NM: 200
SUBSTRATE: relaxed_virtual_substrate_on_Si001
DOPING: not_intentionally_p_type
}
CONTROL_TRAJECTORY History {
EVENT Etch KIND etch TIMING assumed # HSQ mask by e-beam lithography, then SF6/C4F8/O2 plasma etch, 200 nm tall
EVENT Strip KIND etch TIMING assumed # HSQ mask removed in diluted HF
EVENT Clean KIND clean TIMING stated # Oxygen plasma, 20 W, 30 s
EVENT MeasureEtched KIND measurement TIMING assumed # As-etched diameter by SEM
EVENT Load KIND load TIMING assumed # Into the furnace pre-heated to 600 °C
RUN RampN2 DURATION 900 TEMP 600->750 AMBIENT inert_N2 TIMING assumed VARY duration 300..1800
RUN RampO2 DURATION 600 TEMP 750->850 AMBIENT dry_O2 TIMING assumed VARY duration 200..1200
RUN Thermalize DURATION 300 TEMP 850->850 AMBIENT dry_O2 TIMING stated
RUN WetOxidation DURATION 109.2 TEMP 850->850 AMBIENT mix:H2O=0.95,O2=0.05 TIMING bound VARY duration 100..240
RUN CoolN2 DURATION 1200 TEMP 850->600 AMBIENT inert_N2 TIMING assumed VARY duration 300..2400
EVENT MeasureShell KIND measurement TIMING assumed # Oxidized diameter by SEM
EVENT StripOxide KIND etch TIMING assumed # Oxide removed in buffered oxide etchant
EVENT MeasureCore KIND measurement TIMING assumed # Remaining core by SEM
}SiGe samples run through the SiGe programs (FAMILY SiGe_oxide). They are planar programs; the predictor labels every number outside its tested scope. None reports a remaining core.
The programs the predictor ran on these histories: experiments/muller_nanowire/radial_oxidation.isl.template with the length exponential curvature term, 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/muller_nanowire/radial_oxidation.isl.template, as it is written. Every equation the simulation uses is in this text; the runtime holds no physics.
# ==============================================================================
# ISL MODEL: OXIDATION OF A SILICON NANOWIRE (challenge system 2)
#
# Data: Mueller et al., Nanotechnology 34, 105303 (2023), Figure 5: vertical silicon
# nanowires oxidized wet at 850 C, oxide thickness and remaining core against the
# as-etched diameter.
#
# The wire is a cylinder of silicon of radius a inside an oxide shell of outer radius b.
# - Oxide forms at the silicon surface at the planar linear rate, times a sidewall
# factor, reduced by diffusion through the shell in cylindrical geometry
# (the linear-parabolic law written for a cylinder, after Kao et al.).
# - New oxide takes more room than the silicon it replaces, so the shell must flow
# outward. In a viscous shell that puts the silicon surface under a radial
# compression proportional to the growth rate and to (1/a^2 - 1/b^2). The reaction
# slows exponentially with that compression. One parameter, stress_time, lumps the
# oxide viscosity and the activation volume of the reaction.
# - The stress is carried as a state that follows its viscous value with a short lag,
# because the viscous value depends on the rate it reduces.
# The outer radius is not a state: it follows from the silicon consumed.
#
# Not included: the effect of pressure on oxidant diffusion and solubility, stress-
# dependent viscosity, and faceting. Fields in {{braces}} are filled by
# scripts/run_muller_nanowire.py.
# ==============================================================================
SAMPLE Wire_{tag} {{
FAMILY: Si_Nanowire
CLEAN: not_stated
ORIENTATION: Si100
SHAPE: nanowire
DIAMETER_NM: {diameter_nm}
}}
STATE a {{ UNIT: cm; INITIAL: a_0; MIN: 1.0e-9; MAX: 1.0e-4 }}
STATE stress {{ UNIT: 1; INITIAL: 0; MIN: 0; MAX: 50 }}
CONTROL T {{ UNIT: K }}
CONTROL p_H2O {{ UNIT: atm }}
PARAMETER a_0 {{ VALUE: {a_0_cm}; UNIT: cm; STATUS: sourced; SOURCE: Mueller et al. 2023 Figure 5, half the as-etched diameter }}
# ---- taken from the paper's own planar and flat-sidewall measurements --------------
PARAMETER rate_planar {{ VALUE: {rate_planar}; UNIT: cm s^-1; STATUS: sourced; SOURCE: Mueller et al. 2023 Figure A1, slope of bulk (100) oxide thickness against time at 850 C wet }}
PARAMETER sidewall {{ VALUE: {sidewall}; UNIT: 1; STATUS: sourced; SOURCE: Mueller et al. 2023 p. 8, nanosheet oxide 44.1 nm over bulk oxide 19 nm in the same run }}
PARAMETER A_dg {{ VALUE: 1.1e-4; UNIT: cm; STATUS: sourced; SOURCE: Deal and Grove 1965 wet oxidation, A extrapolated from 920 and 1000 C to 850 C }}
# ---- fitted to the larger wires -----------------------------------------------------
PARAMETER stress_time {{ VALUE: 1.0; UNIT: s; STATUS: fitted }}
# ---- assumptions --------------------------------------------------------------------
PARAMETER lag {{ VALUE: 2.0; UNIT: s; STATUS: hypothesis }}
# Growth is switched off smoothly as the core vanishes, so a fully consumed wire stops instead of going negative.
PARAMETER a_end {{ VALUE: 2.0e-8; UNIT: cm; STATUS: hypothesis }}
PARAMETER expansion {{ VALUE: 2.27; UNIT: 1; STATUS: constant }}
PARAMETER consumed {{ VALUE: 0.44; UNIT: 1; STATUS: constant }}
PARAMETER p_ref {{ VALUE: 1.0; UNIT: atm; STATUS: constant }}
QUANTITY b {{ UNIT: cm; EQUATION: b = sqrt(a * a + expansion * (a_0 * a_0 - a * a)) }}
QUANTITY growth {{ UNIT: cm s^-1; EQUATION: growth = (p_H2O / p_ref) * sidewall * rate_planar * exp(-stress) * (a / (a + a_end)) / (1 + (2 * a / A_dg) * log(b / a)) }}
QUANTITY viscous_stress {{ UNIT: 1; EQUATION: viscous_stress = stress_time * (1 - consumed) * a * growth * (1 / (a * a) - 1 / (b * b)) }}
CONTROL_TRAJECTORY History_{tag} {{
{runs}
}}
# Silicon is consumed at 0.44 of the oxide thickness formed at its surface.
OPERATOR F_RadialOxidation : OxideGrowth {{
EQUATION: d(a)/dt = -consumed * growth
}}
# The compression at the silicon surface follows the value a viscous shell would carry.
OPERATOR F_ShellFlowStress : Relaxation {{
EQUATION: d(stress)/dt = (viscous_stress - stress) / lag
}}
OBSERVATION_MODEL Obs_Oxide {{ TARGET: Thickness; UNIT: cm; EQUATION: Thickness = sqrt(a * a + expansion * (a_0 * a_0 - a * a)) - a }}
OBSERVATION_MODEL Obs_Core {{ TARGET: Core_diameter; UNIT: cm; EQUATION: Core_diameter = 2 * a }}
OBSERVATION_MODEL Obs_Consumed {{ TARGET: Consumed_substrate; UNIT: cm; EQUATION: Consumed_substrate = a_0 - a }}
EVALUATION_CONTRACT Contract_{tag} {{
FROZEN: true
DATASET: data/derived/muller_2023_nanowires.csv
DATASET_DIGEST: sha256:{dataset_sha256}
SPLIT: {split}
TARGET: Thickness = {oxide_cm} +/- {oxide_tol_cm} abs
TARGET: Core_diameter = {core_cm} +/- {core_tol_cm} abs
}}Our simulation against the paper
1 within, 1 near, 23 off of 25 numbers. Tolerance is stated per row; nothing was fitted for this page.
| Sample and history | Quantity | The paper | Our simulation | Difference | Verdict | What the program's own evaluation says | Where in the paper |
|---|---|---|---|---|---|---|---|
| Si nanowire, 94.4 nm as etched (fit wire) | oxide thickness on the wire | 33.4 nm | 18.8 nm | -44% | off (±9%) | outside the tested scope | Figure 5(a) and (b): (as etched + increase − core) / 2; dataset muller_2023_nanowires |
| Si nanowire, 94.4 nm as etched (fit wire) | remaining core diameter | 58.4 nm | 76 nm | +30% | off (±5.1%) | outside the tested scope | Figure 5(b), after the oxide strip |
| Si nanowire, 78.7 nm as etched (fit wire) | oxide thickness on the wire | 31.6 nm | 17.9 nm | -43% | off (±9.5%) | outside the tested scope | Figure 5(a) and (b): (as etched + increase − core) / 2; dataset muller_2023_nanowires |
| Si nanowire, 78.7 nm as etched (fit wire) | remaining core diameter | 44.1 nm | 60.9 nm | +38% | off (±6.8%) | outside the tested scope | Figure 5(b), after the oxide strip |
| Si nanowire, 84.7 nm as etched (fit wire) | oxide thickness on the wire | 33 nm | 18.3 nm | -45% | off (±9.1%) | outside the tested scope | Figure 5(a) and (b): (as etched + increase − core) / 2; dataset muller_2023_nanowires |
| Si nanowire, 84.7 nm as etched (fit wire) | remaining core diameter | 48 nm | 66.7 nm | +39% | off (±6.2%) | outside the tested scope | Figure 5(b), after the oxide strip |
| Si nanowire, 103.5 nm as etched (fit wire) | oxide thickness on the wire | 32.8 nm | 19.2 nm | -41% | off (±9.2%) | outside the tested scope | Figure 5(a) and (b): (as etched + increase − core) / 2; dataset muller_2023_nanowires |
| Si nanowire, 103.5 nm as etched (fit wire) | remaining core diameter | 66.9 nm | 84.8 nm | +27% | off (±4.5%) | outside the tested scope | Figure 5(b), after the oxide strip |
| Si nanowire, 108.8 nm as etched (fit wire) | oxide thickness on the wire | 33.5 nm | 19.4 nm | -42% | off (±9%) | outside the tested scope | Figure 5(a) and (b): (as etched + increase − core) / 2; dataset muller_2023_nanowires |
| Si nanowire, 108.8 nm as etched (fit wire) | remaining core diameter | 73.3 nm | 90 nm | +23% | off (±4.1%) | outside the tested scope | Figure 5(b), after the oxide strip |
| Si nanowire, 35.3 nm as etched (test wire) | oxide thickness on the wire | 22.2 nm | 12.7 nm | -43% | off (±13.5%) | outside the tested scope | Figure 5(a) and (b): (as etched + increase − core) / 2; dataset muller_2023_nanowires |
| Si nanowire, 35.3 nm as etched (test wire) | remaining core diameter | 11 nm | 21.8 nm | +99% | off (±27.3%) | outside the tested scope | Figure 5(b), after the oxide strip |
| Si nanowire, 40.2 nm as etched (test wire) | oxide thickness on the wire | 22.9 nm | 13.6 nm | -40% | off (±13.1%) | outside the tested scope | Figure 5(a) and (b): (as etched + increase − core) / 2; dataset muller_2023_nanowires |
| Si nanowire, 40.2 nm as etched (test wire) | remaining core diameter | 12.2 nm | 25.8 nm | +112% | off (±24.6%) | outside the tested scope | Figure 5(b), after the oxide strip |
| Si nanowire, 49.5 nm as etched (test wire) | oxide thickness on the wire | 25.5 nm | 15.1 nm | -41% | off (±11.8%) | outside the tested scope | Figure 5(a) and (b): (as etched + increase − core) / 2; dataset muller_2023_nanowires |
| Si nanowire, 49.5 nm as etched (test wire) | remaining core diameter | 22.4 nm | 33.9 nm | +51% | off (±13.4%) | outside the tested scope | Figure 5(b), after the oxide strip |
| Si nanowire, 61 nm as etched (test wire) | oxide thickness on the wire | 28 nm | 16.4 nm | -41% | off (±10.7%) | outside the tested scope | Figure 5(a) and (b): (as etched + increase − core) / 2; dataset muller_2023_nanowires |
| Si nanowire, 61 nm as etched (test wire) | remaining core diameter | 31.8 nm | 44.3 nm | +39% | off (±9.4%) | outside the tested scope | Figure 5(b), after the oxide strip |
| Si nanowire, 68.1 nm as etched (test wire) | oxide thickness on the wire | 28.6 nm | 17.1 nm | -40% | off (±10.5%) | outside the tested scope | Figure 5(a) and (b): (as etched + increase − core) / 2; dataset muller_2023_nanowires |
| Si nanowire, 68.1 nm as etched (test wire) | remaining core diameter | 37.8 nm | 50.9 nm | +35% | off (±7.9%) | outside the tested scope | Figure 5(b), after the oxide strip |
| Si nanosheet, 79.6 nm wide as etched | oxide thickness on the sheet | 45.3 nm | 23.9 nm | -47% | off (±6.6%) | outside the tested scope | Figure 5, vector drawing; dataset muller_2023_series (text: 44.1 ± 3.7 nm for all sheets, p. 8) |
| Si nanosheet, 79.6 nm wide as etched | remaining sheet width | 37.9 nm | 58.4 nm | +54% | off (±7.9%) | outside the tested scope | Figure 5(b), vector drawing; dataset muller_2023_series |
| Si0.80Ge0.20 nanosheet, 114.8 nm wide as etched | oxide thickness on the sheet | 41.6 nm | 43.7 nm | +5% | within (±7.2%) | outside the tested scope | Figure 5, vector drawing; dataset muller_2023_series |
| Si0.80Ge0.20 nanosheet, 114.8 nm wide as etched | germanium at the oxide/core interface | 55.6 % | 48.7 % | -12% | near (±10%) | outside the tested scope | text p. 9: “the Ge concentration at the oxide/core interface reaches 55.6%” (a large nanosheet in a separate TEM sample; its width is not given) |
| Si0.50Ge0.50 nanosheet, 98.9 nm wide as etched | oxide thickness on the sheet | 32.2 nm | 47.8 nm | +48% | off (±9.3%) | outside the tested scope | Figure 5, vector drawing; dataset muller_2023_series |
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 wire_103p5nm, wire_108p8nm, wire_78p7nm, wire_84p7nm, wire_94p4nm only; every other number is a test they played no part in.
| Unknown | What the paper says | Range searched | The reproduction used | Best alone | Score at the reproduction's value | Best score alone |
|---|---|---|---|---|---|---|
| Ramp 600 → 750 °C in nitrogen: duration (Si) | ramp rate not stated; 5 to 30 °C/min searched (5 to 30 min) | 300 to 1800 s | 900 s | 900 s (flat: the data do not constrain it) | 0 of 10 within tolerance, median error 40.1% | 0 of 10 within tolerance, median error 40.1% |
| Ramp 750 → 850 °C in pure oxygen: duration (Si) | ramp rate not stated; 5 to 30 °C/min searched (200 to 1200 s) | 200 to 1200 s | 600 s | 600 s (flat: the data do not constrain it) | 0 of 10 within tolerance, median error 40.1% | 0 of 10 within tolerance, median error 40.1% |
| Steam at 850 °C, 7.7 min for Si: duration (Si) | “e.g. 7.7 min for Si”, in the appendix only, as an example; counted from hydrogen injection | 400 to 900 s | 462 s | 900 s | 0 of 10 within tolerance, median error 40.1% | 10 of 10 within tolerance, median error 2.4% |
| Cooled under nitrogen: duration (Si) | cool-down rate and unload temperature not stated | 300 to 2400 s | 1200 s | 1200 s (flat: the data do not constrain it) | 0 of 10 within tolerance, median error 40.1% | 0 of 10 within tolerance, median error 40.1% |
Together: RampN2 duration 900 s (was 900); RampO2 duration 600 s (was 600); WetOxidation duration 900 s (was 462); CoolN2 duration 1200 s (was 1200).
As reproduced: 1 of 25 within tolerance, median error 41.2%. Aligned: 22 of 25 within tolerance, median error 3.7%. On the held-out samples only: 1 of 15 within tolerance, median error 41.2% as reproduced, 12 of 15 within tolerance, median error 4.9% aligned.
Choices of program or material property, each scored on its own and on top of the aligned history:
| Variant | Alone | With the aligned history |
|---|---|---|
| as stored: one steam step (779.5 s Si, 120 s SiGe) | 12 of 25 within tolerance, median error 8.9% | 12 of 25 within tolerance, median error 8.9% |
| steam fraction 1.0 (pure H2O) | 1 of 25 within tolerance, median error 38.7% | 22 of 25 within tolerance, median error 4.9% |
| steam fraction 0.67 (H2:O2 = 1:1) | 1 of 25 within tolerance, median error 55.7% | 1 of 25 within tolerance, median error 24.3% |
The unknowns were chosen on the five fit wires (78.7 to 108.8 nm, oxide and core), the same wires the program's stress time was fitted on. The other ten numbers on Si (five smaller wires and one sheet) and the three SiGe numbers are the test. Unknowns are shared per furnace run: one set for the Si run, one for the SiGe run.
The wet time is pinned, and it is not the paper's. With the stated 7.7 min (462 s) of steam no wire is within tolerance and every oxide is about a third low. The scan rises steadily to 10 of 10 fit numbers at 816.7 s (median error 1.2%) and falls again at 900 s (6 of 10). 816.7 s at a steam fraction of 0.95 is 776 s of pure steam: the stored recipe's 779.5 s, which is the time the program's stress time was fitted with. So this result is circular. What it shows is that the program needs about 13 min of steam-equivalent growth to reach these wires, where the paper states 7.7 min plus a dry cycle the program cannot see.
The furnace cycle is invisible to the Si program. The nitrogen ramp, the oxygen ramp and the cool-down score identically at every length (0 of 10 at any value), because the radial rate is proportional to p_H2O and does not depend on temperature. The 5 min oxygen hold is likewise worth nothing. The search leaves these at the low ends of their ranges only because ties go to the first value. The roughly 5 min the fit asks for beyond 7.7 min is the oxide the paper's cycle grows before the steam (Figure A1's bulk line reaches about 9 nm at zero wet time), but the program has no way to grow it from the steps the paper describes.
The steam fraction is not identifiable. The program reads p_H2O linearly, so a fraction of 1.0 or 0.67 trades one-for-one with the wet time: with the aligned time, 1.0 gives 15 of 25 and 0.67 gives 4 of 25. The rate constant was measured in this furnace with whatever fraction it had, so the fraction should not enter at all. The variant “as stored” (one steam step of 779.5 s) scores 16 of 25, the same as the aligned full cycle.
Aligned: 16 of 25 within tolerance, median error 6.5% (1 of 25, 32%, as reproduced). On the test numbers: 6 of 15 (from 1 of 15). The five smaller Si wires' oxide is within tolerance on all five (+3 to +7%); their cores are 10 to 36% too small (1 within tolerance, the other 4 within twice it). This is an upper bound for the fit wires and a weak test for the others, because the time and the stress time were both chosen on the large wires.
SiGe. The SiGe run's unknowns play no part in the choice (no SiGe sample is a fit wire), so its ramps fall to the low ends by the tie rule. That exposes a different problem: the SiGe growth program (Rabie's constants for wet oxidation at 800 °C) reads neither the gas nor the steam fraction, so the oxygen ramp and hold grow oxide at the wet rate. With the assumed 10 + 5 min of oxygen the SG20 sheet gets 43.7 nm against 41.65 nm measured; with the shortest ramp 17.8 nm. The agreement as reproduced is an accident of the assumed ramp, not a reproduction. The wet time itself (100 to 240 s) does not move the scored rows.
12 within, 2 near, 1 off of 15 numbers with the aligned settings (the samples used to choose the unknowns are left out).
| Sample | Quantity | The paper | As reproduced above | Aligned | Difference | Verdict | How |
|---|---|---|---|---|---|---|---|
| Si nanowire, 35.3 nm as etched (test wire) | oxide thickness on the wire | 22.2 nm | 12.7 | 19.3 | -13% | within (±14%) | test |
| Si nanowire, 35.3 nm as etched (test wire) | remaining core diameter | 11 nm | 21.8 | 12.7 | +15% | within (±27%) | test |
| Si nanowire, 40.2 nm as etched (test wire) | oxide thickness on the wire | 22.9 nm | 13.6 | 21.3 | -7% | within (±13%) | test |
| Si nanowire, 40.2 nm as etched (test wire) | remaining core diameter | 12.2 nm | 25.8 | 15.4 | +26% | near (±25%) | test |
| Si nanowire, 49.5 nm as etched (test wire) | oxide thickness on the wire | 25.5 nm | 15.1 | 24.6 | -4% | within (±12%) | test |
| Si nanowire, 49.5 nm as etched (test wire) | remaining core diameter | 22.4 nm | 33.9 | 21.4 | -4% | within (±13%) | test |
| Si nanowire, 61 nm as etched (test wire) | oxide thickness on the wire | 28 nm | 16.4 | 27.6 | -2% | within (±11%) | test |
| Si nanowire, 61 nm as etched (test wire) | remaining core diameter | 31.8 nm | 44.3 | 30.2 | -5% | within (±9%) | test |
| Si nanowire, 68.1 nm as etched (test wire) | oxide thickness on the wire | 28.6 nm | 17.1 | 29.1 | +2% | within (±10%) | test |
| Si nanowire, 68.1 nm as etched (test wire) | remaining core diameter | 37.8 nm | 50.9 | 36.1 | -5% | within (±8%) | test |
| Si nanosheet, 79.6 nm wide as etched | oxide thickness on the sheet | 45.3 nm | 23.9 | 45.4 | +0% | within (±7%) | test |
| Si nanosheet, 79.6 nm wide as etched | remaining sheet width | 37.9 nm | 58.4 | 39 | +3% | within (±8%) | test |
| Si0.80Ge0.20 nanosheet, 114.8 nm wide as etched | oxide thickness on the sheet | 41.6 nm | 43.7 | 43.7 | +5% | within (±7%) | test |
| Si0.80Ge0.20 nanosheet, 114.8 nm wide as etched | germanium at the oxide/core interface | 55.6 % | 48.7 | 48.7 | -12% | near (±10%) | test |
| Si0.50Ge0.50 nanosheet, 98.9 nm wide as etched | oxide thickness on the sheet | 32.2 nm | 47.8 | 47.8 | +48% | off (±9%) | test |
What alignment cannot fix. The remaining cores of the smaller wires are too small (7.0 against 11.0 nm at 35.3 nm as etched) while their oxide is right: the dataset's oxide and core on these wires do not conserve silicon at an expansion of 2.27, and the program does. Near 100 nm the opposite holds. That is a disagreement between the two panels of Figure 5 (or a faceted, non-round wire), not a timing.
The nanosheet is 29% short on oxide and 18% wide on its remaining width, because the predictor runs a 2.1 µm long flat-sided beam as a cylinder of 79.6 nm. A flat sidewall in the program's own terms has 2.32 times the bulk rate: about 44 nm at the aligned time, close to the 45.3 nm measured.
The SG50 sheet (32.25 nm measured) has a GeO2 layer over SiO2 and a Ge-rich oxide that no SiGe program has; the planar Rabie program grows 47.8 nm as reproduced and 19.1 nm aligned, and neither number means anything for a sheet. The SG20 interface germanium is 48.7% against 55.6% at every setting: the interface relation was fitted on planar values and has no shape term; the paper's own planar value beside the sheet is 48.2%.
What our language and ontology cannot yet say
- Growth in dry oxygen and temperature in the nanowire program. The paper's cycle puts the wires through 750 → 850 °C and 5 min at 850 °C in pure oxygen before any steam. The radial program's rate is p_H2O × constant, so these steps grow nothing, and the missing oxide reappears as a wet time 77% longer than stated. A dry channel (rate ∝ p_O2 with its own constant) and an Arrhenius temperature dependence would let the stated cycle be simulated as stated, and would let the ramp unknowns be inferred instead of being invisible.
- A rate constant that carries the gas it was measured in. The program's rate was measured in this furnace's pyrogenic steam, then multiplied by p_H2O/1 atm. Writing the gas truthfully as a mixture lowers the rate. A PARAMETER should be able to say “measured at p_H2O = the furnace's own” so that a stated mixture and the calibration are not counted twice; today the steam fraction and the wet time are interchangeable unknowns.
- A starting oxide on the sample. Figure A1's bulk line extrapolates to about 9 nm at zero wet time; the wires had an HF strip then a 20 W oxygen plasma. Neither program can start a wire with an oxide shell. A sample field
OXIDE_NM, read as the initial shell, would separate the oxide grown before time zero from the oxide grown in the stated time. - Shape must select the program. The predictor does not read SHAPE: a nanosheet stored with DIAMETER_NM is run as a cylinder, and a SiGe nanosheet is run by planar programs (labelled outside scope, but still numbers).
SHAPE: nanosheetshould run a flat-sidewall program (the radial program with a → ∞ gives one) or refuse. - Gas in the SiGe growth program. The Rabie program grows at its wet-oxidation rate in any gas, including the dry-oxygen ramp and the nitrogen steps' temperature. It should refuse, or read p_H2O and p_O2, before the furnace-cycle unknowns can be searched on SiGe.
- Furnace runs as data. All Si structures went through one run and both SiGe compositions through another, at different times chosen per material. The alignment shares unknowns per run (
case["run"]), but the history language has no statement for it; aBATCHof samples under one trajectory would put this in the history itself. - An observable for what the paper measures. Figure 5(a) is the increase of the outer diameter; Figure 5(b) is the core after a buffered-oxide etch. The dataset turns them into an oxide thickness, which already assumes the etch removes no silicon. Observables
Outer_diameterandCore_diameter_after_stripwould let the program be scored on the measured quantities and show the volume balance the data do not close. - Faceting and sidewall orientation. Above 60 nm the paper's Si wires are faceted by faster growth on {110}. A wire has one rate around its circumference in our language; a sidewall orientation mix on the sample would let that be tested.
With heating and cooling transitions
No paper we hold states how its wafers heated up or cooled down. The project owner specified scenarios for one Vitkavage wafer (isl_harness/vitkavage_transitions.py); isl_harness/thermal_transitions.py applies the same numbers to every sample here: a heat-up in nitrogen before the first furnace step (a hot push of 1 to 5 min, or a cold-furnace ramp of 60 to 120 min), the owner's radiative cooling knots after the last furnace step or after the paper's own pull (fast, or every time multiplied by 5), and ramps around an anneal at 300 to 500 °C. The paper's own steps are kept as written. All transitions are assumptions, written in the history with TIMING assumed.
| History | Within tolerance | Median error | Changed numbers |
|---|---|---|---|
| as the paper states it (above) | 1 of 25 | 41.2% | |
| heat-up A (hot push), fast cooling | 0 of 25 | 41.2% | 2 of 25 moved by more than 2% |
| heat-up A (hot push), slow cooling | 0 of 25 | 41.2% | 2 of 25 moved by more than 2% |
| heat-up B (cold-furnace ramp), fast cooling | 0 of 25 | 41.4% | 2 of 25 moved by more than 2% |
| heat-up B (cold-furnace ramp), slow cooling | 0 of 25 | 41.4% | 2 of 25 moved by more than 2% |
The paper's own conclusions
| The paper states | What we find | |
|---|---|---|
| Oxide on Si nanowires falls with diameter: 33.5 to 22.1 nm “for decreasing nanowire dimensions” | The radial program gives the fall in direction on every wire; its size comes from a fitted stress time | direction right |
| Nanosheet oxide is constant over width (44.1 ± 3.7 nm) and larger than bulk (19 nm) | The program's sidewall factor is this ratio (44.1/19); the predictor runs a sheet as a cylinder, so the sheet itself is not reproduced | not tested |
| Si wire cores self-limit near 10 nm; SiGe wire cores oxidize completely | The Si program slows growth as the core shrinks; no SiGe program has a core | partly |
| SG20 interface germanium 55.6% on a sheet, 48.2% in the bulk around it | The interface relation gives 48 to 49% whatever the shape | see the table |
What we would like Emily to check
- Is the wet time of the wire samples the 7.7 min the appendix gives as an example, or was it chosen per run from the bulk curve?
- How long do the 600 → 750 °C nitrogen ramp and the 750 → 850 °C oxygen ramp take in this furnace? Did the bulk reference samples of Figure A1 go through the same cycle?
- How much oxide is on the bulk reference before the hydrogen is switched on? Figure A1's line extrapolates to about 9 nm at zero wet time.
- What H2:O2 flow ratio does the furnace use for the wet step?
- Is the oxide on a wire half the difference of the oxidized and stripped diameters of the same wire, or of size-class averages? Near 40 and 100 nm the two panels of Figure 5 do not conserve silicon.