Agentic PrimitivesAP

Study reproduced ·

Reproducing Kobayashi et al. 2017: interface states on SiC after an argon anneal

Kobayashi et al. 2017: 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 (21 within).

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

T. Kobayashi, J. Suda and T. Kimoto, “Reduction of interface state density in SiC (0001) MOS structures by post-oxidation Ar annealing at high temperature”, AIP Advances 7, 045008 (2017).

The only electrical data we hold on SiC: 27 values of interface state density at three energies, taken from the vector drawing of its Figures 2 and 3. The SiC interface-state program (a one-way reduction set by the argon anneal temperature) was fitted to these and nothing else, so this page is a check on our reading, not a test of the model.

How well can this study be reproduced?

Low. The process is given as ranges for the whole sample set: the argon anneal is “1 - 10 min”, the 1300 °C oxidation “40 min or 1h 20 min”, the cooling rates are bounds, and what happens between the two furnaces is not described. Agreement here is with a program fitted to these same points.

Sample described2 of 4 properties we need are stated and encoded the same
History described2 of 4 steps are stated and encoded the same; 1 are stated by the paper and absent from our history; 1 are ours because the paper is silent
Timing1 of 1 simulated steps have a stated duration; 3 of 3 other steps have none; 6 timing gaps listed below
How the results are givenOnly in figures; taken from the vector drawing in the PDF, so exact to the drawing
Repeatability stated by the authorsNot stated
Internal consistencyFair: the Figure 1 caption says the anneal temperature was varied between 1300 and 1500 °C, the text says either one or the other. The paper's statement that cooling rate does not matter is not borne out by its own Figure 2
Is our model independent of this paper's data?No. The program was fitted to these 27 values and to nothing else
Outcome21 of 21 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.

4H-SiC
Step 1 of 4 · recorded, not simulated
Clean and load
temperature 25 °C
elapsed 0 s of 20 h 00 min
timing in the paper: not stated. Not described

not stated

The simulation at this moment
oxide thickness0 nm
interface state density at 0.3 eV below the conduction band3.23×10¹² cm⁻² eV⁻¹3.26×10¹²
interface state density at 0.4 eV below the conduction band2.32×10¹² cm⁻² eV⁻¹2.31×10¹²
interface state density at 0.5 eV below the conduction band1.59×10¹² cm⁻² eV⁻¹1.59×10¹²
right column: the paper, at the end of the history
CleanOxidation20 hMetalCV11500 °CThe same history to true scale (20 h 00 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. 4 same, 1 approximated, 1 assumed, 2 not in ours.

✓4 same≈1 approximated?1 assumed✕2 not in ours
Sample: what the paper saysWhat we simulate
Substrate
“MOS capacitors fabricated on 4H-SiC (0001) 4° off-axis epilayers”
PDF p. 3
✓same
FAMILY: SiC_SiO2; ORIENTATION: 4H_SiC_Si_face; OFFCUT: 4_degrees (recorded)
The off-cut is recorded on the sample here; the stored measurements do not carry it.
Doping
“n-type epilayer … about 1×10^16 cm-3”
PDF p. 3
✓same
DOPING: n_type_1e16 (recorded; no program reads it)
Oxide thickness
“in the range of 90-110 nm” for the whole set; no thickness per recipe
PDF p. 3
≈approximated
grown by the history
Our SiC growth program has no test at 1150 °C for 20 h or at 1300 °C on this face, so the simulated thickness is outside its tested scope.
Gate
circular Al electrodes about 500 µm in diameter; no anneal after metal mentioned
PDF p. 3
✕not in ours
not in our sample
History: what the paper saysWhat we simulate
Clean and load
not stated
PDF p. 3
?assumed
CLEAN: not_stated
The paper describes no clean, loading or ramp.
Dry oxidation, 1150 °C, 20 h
“we first performed dry oxidation at either 1150°C for 20 h, or at 1300°C for 40 min or 1h 20 min”
PDF p. 3
✓same
RUN Oxidation DURATION 72000 TEMP 1150->1150 AMBIENT dry_O2
Aluminium electrodes
“The diameter of circular Al electrodes was about 500 µm.” Deposition and any anneal after metal are not stated
PDF p. 3
✕not in ours
not in our history
C-V, high (1 MHz)-low method
“conventional high(1 MHz)-low method”; measurement temperature not stated
PDF p. 3
✓same
the observable Dit at 0.3, 0.4 and 0.5 eV below the conduction band
The 1 MHz method misses fast states; the paper's Figure 4 shows more states with a 100 MHz reference.

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.

Oxidized at 1150 °C, no anneal

#StepStarts atLastsEnds atTemperatureRateGasIs the timing in the paper?
1Clean and load0 snot simulatednot stated. Not described
2Dry oxidation, 1150 °C, 20 h0 s20 h 00 min20 h 00 min1150 → 1150 °Chelddry_O2stated. 20 h
3Aluminium electrodes20 h 00 minnot simulatednot stated
4C-V, high (1 MHz)-low method20 h 00 minnot simulatednot stated

Simulated time in this history: 20 h 00 min.

Across the samples

SampleOxidationRampUpArgonAnneal0CoolRapidCoolStandardArgonAnneal1Total
Oxidized at 1150 °C, no anneal20 h 00 min at 1150 °C–––––20 h 00 min
1150 °C, argon 1300 °C, rapid cooling20 h 00 min at 1150 °C5 min at 25→1300 °C5 min at 1300 °C50 s at 1300→800 °C––20 h 10 min 50 s
1150 °C, argon 1500 °C, rapid cooling20 h 00 min at 1150 °C5 min at 25→1500 °C5 min at 1500 °C1 min 10 s at 1500→800 °C––20 h 11 min 10 s
1150 °C, argon 1500 °C, standard cooling20 h 00 min at 1150 °C5 min at 25→1500 °C5 min at 1500 °C–10 min at 1500→800 °C–20 h 20 min
Oxidized at 1300 °C, no anneal40 min at 1300 °C–––––40 min
1300 °C, argon 1500 °C, rapid cooling40 min at 1300 °C5 min at 25→1500 °C5 min at 1500 °C1 min 10 s at 1500→800 °C––51 min 10 s
1300 °C, argon 1500 °C, then argon 1300 °C40 min at 1300 °C5 min at 25→1500 °C5 min at 1500 °C50 s at 1300→800 °C–5 min at 1300 °C55 min 50 s

Timing the paper does not give

  • The argon anneal time for each sample: only “1 - 10 min” for the whole set.
  • Which 1300 °C oxidation time (40 min or 1 h 20 min) each sample had.
  • Everything between the oxidation furnace and the anneal furnace: cooling, unloading, time in air, reloading and the ramp to 1300 or 1500 °C.
  • The cooling rates are bounds (“< 70”, “> 600” °C/min), with no temperature interval and no gas. The two rates are also two different furnaces.
  • Whether the twice-annealed sample was unloaded or measured between its two anneals.
  • The temperature of the C-V measurement.

What the second reading changed

  • Oxidation and argon anneal were done in different furnaces, so each annealed sample was cooled, unloaded and reheated in between. Our stored history runs the anneal straight after the oxidation.
  • Five minutes of argon and forty minutes of oxidation at 1300 °C are our choices from the ranges the paper gives (1 to 10 min; 40 min or 1 h 20 min). The stored records present them as the recipe.
  • Cooling rate is tied to furnace type: the slow rate is the resistive furnace (oxygen measured under 1 ppm), the fast rate the induction furnace (oxygen not reported). A difference between cooling rates is also a difference between furnaces.
  • The substrate is 4° off-axis; the growth data we use for SiC (Song 2004) are on-axis. The sample records did not distinguish them.

Their terms and ours

The paper saysWe writeKind in our vocabularyNote
Dit, EC − ETDit_at_0p3eV_below_Ec …observable (target: trap_density)Three energies, the ones the drawing could be read at.
post-oxidation Ar annealingRUN ArgonAnneal0 DURATION 300 TEMP 1500->1500 AMBIENT inert_Ara RUN; process factors inert-anneal, anneal-temperature
standard cooling rate (< 70 °C/min), rapid cooling rate (> 600 °C/min)RUN Cool DURATION t TEMP T->800 AMBIENT inert_Ara RUN; nearest process factor hydrogen-during-cooling (“cooling rate”)No program reads the cooling step.
dry oxidationdry_O2ambient
high(1 MHz)-low method(none)not in vocabularyThe measurement method is not a term of ours; it limits which states are counted.
as-oxidized(no RUN after the oxidation)absence of a step
(0001) 4° off-axisORIENTATION: 4H_SiC_Si_facesample field; process factor orientationThe off-cut has no term.

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

Oxidized at 1150 °C, no anneal

# Oxidized at 1150 °C, no anneal
SAMPLE ox1150C {
    FAMILY: SiC_SiO2
    ORIENTATION: 4H_SiC_Si_face
    CLEAN: not_stated
    DOPING: n_type_1e16
    OFFCUT: 4_degrees
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Clean and load
    RUN Oxidation DURATION 72000 TEMP 1150->1150 AMBIENT dry_O2 TIMING stated
    EVENT Metal KIND metallization TIMING assumed                # Aluminium electrodes
    EVENT CV KIND measurement TIMING assumed                     # C-V, high (1 MHz)-low method
}

1150 °C, argon 1300 °C, rapid cooling

# 1150 °C, argon 1300 °C, rapid cooling
SAMPLE ox1150C_Ar1300C_cool600 {
    FAMILY: SiC_SiO2
    ORIENTATION: 4H_SiC_Si_face
    CLEAN: not_stated
    DOPING: n_type_1e16
    OFFCUT: 4_degrees
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Clean and load
    RUN Oxidation DURATION 72000 TEMP 1150->1150 AMBIENT dry_O2 TIMING stated
    EVENT Transfer KIND transfer TIMING assumed                  # Moved to a different furnace
    RUN RampUp DURATION 300 TEMP 25->1300 AMBIENT inert_Ar TIMING assumed VARY duration 60..1800
    RUN ArgonAnneal0 DURATION 300 TEMP 1300->1300 AMBIENT inert_Ar TIMING range VARY duration 60..600
    RUN CoolRapid DURATION 50 TEMP 1300->800 AMBIENT inert_Ar TIMING bound VARY duration 12.5..50
    EVENT Metal KIND metallization TIMING assumed                # Aluminium electrodes
    EVENT CV KIND measurement TIMING assumed                     # C-V, high (1 MHz)-low method
}

1150 °C, argon 1500 °C, rapid cooling

# 1150 °C, argon 1500 °C, rapid cooling
SAMPLE ox1150C_Ar1500C_cool600 {
    FAMILY: SiC_SiO2
    ORIENTATION: 4H_SiC_Si_face
    CLEAN: not_stated
    DOPING: n_type_1e16
    OFFCUT: 4_degrees
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Clean and load
    RUN Oxidation DURATION 72000 TEMP 1150->1150 AMBIENT dry_O2 TIMING stated
    EVENT Transfer KIND transfer TIMING assumed                  # Moved to a different furnace
    RUN RampUp DURATION 300 TEMP 25->1500 AMBIENT inert_Ar TIMING assumed VARY duration 60..1800
    RUN ArgonAnneal0 DURATION 300 TEMP 1500->1500 AMBIENT inert_Ar TIMING range VARY duration 60..600
    RUN CoolRapid DURATION 70 TEMP 1500->800 AMBIENT inert_Ar TIMING bound VARY duration 17.5..70
    EVENT Metal KIND metallization TIMING assumed                # Aluminium electrodes
    EVENT CV KIND measurement TIMING assumed                     # C-V, high (1 MHz)-low method
}

1150 °C, argon 1500 °C, standard cooling

# 1150 °C, argon 1500 °C, standard cooling
SAMPLE ox1150C_Ar1500C_cool70 {
    FAMILY: SiC_SiO2
    ORIENTATION: 4H_SiC_Si_face
    CLEAN: not_stated
    DOPING: n_type_1e16
    OFFCUT: 4_degrees
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Clean and load
    RUN Oxidation DURATION 72000 TEMP 1150->1150 AMBIENT dry_O2 TIMING stated
    EVENT Transfer KIND transfer TIMING assumed                  # Moved to a different furnace
    RUN RampUp DURATION 300 TEMP 25->1500 AMBIENT inert_Ar TIMING assumed VARY duration 60..1800
    RUN ArgonAnneal0 DURATION 300 TEMP 1500->1500 AMBIENT inert_Ar TIMING range VARY duration 60..600
    RUN CoolStandard DURATION 600 TEMP 1500->800 AMBIENT inert_Ar TIMING bound VARY duration 600..2400
    EVENT Metal KIND metallization TIMING assumed                # Aluminium electrodes
    EVENT CV KIND measurement TIMING assumed                     # C-V, high (1 MHz)-low method
}

Oxidized at 1300 °C, no anneal

# Oxidized at 1300 °C, no anneal
SAMPLE ox1300C {
    FAMILY: SiC_SiO2
    ORIENTATION: 4H_SiC_Si_face
    CLEAN: not_stated
    DOPING: n_type_1e16
    OFFCUT: 4_degrees
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Clean and load
    RUN Oxidation DURATION 2400 TEMP 1300->1300 AMBIENT dry_O2 TIMING range VARY duration 2400..4800
    EVENT Metal KIND metallization TIMING assumed                # Aluminium electrodes
    EVENT CV KIND measurement TIMING assumed                     # C-V, high (1 MHz)-low method
}

1300 °C, argon 1500 °C, rapid cooling

# 1300 °C, argon 1500 °C, rapid cooling
SAMPLE ox1300C_Ar1500C_cool600 {
    FAMILY: SiC_SiO2
    ORIENTATION: 4H_SiC_Si_face
    CLEAN: not_stated
    DOPING: n_type_1e16
    OFFCUT: 4_degrees
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Clean and load
    RUN Oxidation DURATION 2400 TEMP 1300->1300 AMBIENT dry_O2 TIMING range VARY duration 2400..4800
    EVENT Transfer KIND transfer TIMING assumed                  # Moved to a different furnace
    RUN RampUp DURATION 300 TEMP 25->1500 AMBIENT inert_Ar TIMING assumed VARY duration 60..1800
    RUN ArgonAnneal0 DURATION 300 TEMP 1500->1500 AMBIENT inert_Ar TIMING range VARY duration 60..600
    RUN CoolRapid DURATION 70 TEMP 1500->800 AMBIENT inert_Ar TIMING bound VARY duration 17.5..70
    EVENT Metal KIND metallization TIMING assumed                # Aluminium electrodes
    EVENT CV KIND measurement TIMING assumed                     # C-V, high (1 MHz)-low method
}

1300 °C, argon 1500 °C, then argon 1300 °C

# 1300 °C, argon 1500 °C, then argon 1300 °C
SAMPLE ox1300C_Ar1500C_Ar1300C_cool600 {
    FAMILY: SiC_SiO2
    ORIENTATION: 4H_SiC_Si_face
    CLEAN: not_stated
    DOPING: n_type_1e16
    OFFCUT: 4_degrees
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Clean and load
    RUN Oxidation DURATION 2400 TEMP 1300->1300 AMBIENT dry_O2 TIMING range VARY duration 2400..4800
    EVENT Transfer KIND transfer TIMING assumed                  # Moved to a different furnace
    RUN RampUp DURATION 300 TEMP 25->1500 AMBIENT inert_Ar TIMING assumed VARY duration 60..1800
    RUN ArgonAnneal0 DURATION 300 TEMP 1500->1500 AMBIENT inert_Ar TIMING range VARY duration 60..600
    RUN ArgonAnneal1 DURATION 300 TEMP 1300->1300 AMBIENT inert_Ar TIMING range
    RUN CoolRapid DURATION 50 TEMP 1300->800 AMBIENT inert_Ar TIMING bound VARY duration 12.5..50
    EVENT Metal KIND metallization TIMING assumed                # Aluminium electrodes
    EVENT CV KIND measurement TIMING assumed                     # C-V, high (1 MHz)-low method
}

The programs the predictor ran on these histories: experiments/sic_interface_states/one_way_anneal.isl.template, experiments/song_sic/oxide_growth_sic.isl.template.

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

# ==============================================================================
# ISL MODEL: INTERFACE STATES OF SiC/SiO2 THROUGH ARGON ANNEALS
#
# Two parts. One is stable. The other is removable: a hold in argon takes it down to a level
# set by the anneal temperature, and it does not come back at a lower temperature. The density
# at each energy below the conduction band is the stable part plus the removable part, each
# with its own weight at that energy.
#
# The form was chosen among three (decay to nothing, a reversible equilibrium, a one-way level)
# by scripts/run_sic_interface_states.py, on the samples oxidized at 1150 C. How fast the level
# is reached is not resolved by any source we hold (the anneals are "1 to 10 min"), so the rate
# is a hypothesis: fast enough to finish within a minute.
# Fields in {{braces}} are filled by the runner.
# ==============================================================================
SAMPLE {sample_id} {{
    FAMILY: SiC_SiO2
    ORIENTATION: 4H_SiC_Si_face
    CLEAN: not_stated
}}
STATE removable {{ UNIT: 1; INITIAL: 1; MIN: 0; MAX: 1 }}
CONTROL T {{ UNIT: K }}
CONTROL p_Ar {{ UNIT: atm }}
PARAMETER log_level {{ VALUE: -0.3; UNIT: 1; STATUS: fitted }}
PARAMETER E_level {{ VALUE: 1.0; UNIT: eV; STATUS: fitted }}
PARAMETER log_S_0p3 {{ VALUE: 11.8; UNIT: 1; STATUS: fitted }}
PARAMETER log_S_0p4 {{ VALUE: 11.5; UNIT: 1; STATUS: fitted }}
PARAMETER log_S_0p5 {{ VALUE: 11.2; UNIT: 1; STATUS: fitted }}
PARAMETER log_R_0p3 {{ VALUE: 12.4; UNIT: 1; STATUS: fitted }}
PARAMETER log_R_0p4 {{ VALUE: 12.3; UNIT: 1; STATUS: fitted }}
PARAMETER log_R_0p5 {{ VALUE: 12.1; UNIT: 1; STATUS: fitted }}
PARAMETER settle_rate {{ VALUE: 0.1; UNIT: s^-1; STATUS: hypothesis }}
PARAMETER way {{ VALUE: {way}; UNIT: 1; STATUS: constant }}
PARAMETER soft {{ VALUE: 1.0e-3; UNIT: 1; STATUS: constant }}
PARAMETER T_ref {{ VALUE: 1573.15; UNIT: K; STATUS: constant }}
PARAMETER D_unit {{ VALUE: 1.0; UNIT: cm^-2 eV^-1; STATUS: constant }}
PARAMETER p_ref {{ VALUE: 1.0; UNIT: atm; STATUS: constant }}
PARAMETER ln10 {{ VALUE: 2.302585092994046; UNIT: 1; STATUS: constant }}
PARAMETER k_B {{ VALUE: 8.617333262e-5; UNIT: eV K^-1; STATUS: constant }}
# The level the anneal temperature allows, as a fraction of the as-oxidized removable part.
QUANTITY raw_level {{ UNIT: 1; EQUATION: raw_level = exp(ln10 * log_level) * exp((E_level / k_B) * (1 / T - 1 / T_ref)) }}
# Never more than the as-oxidized amount.
QUANTITY level {{ UNIT: 1; EQUATION: level = (raw_level + 1 - sqrt((raw_level - 1) * (raw_level - 1) + soft * soft)) / 2 }}
# way = 1: one-way (acts only while above the level). way = 0: reversible (moves to the level from either side).
QUANTITY above {{ UNIT: 1; EQUATION: above = (1 - way) + way * (1 + (removable - level) / sqrt((removable - level) * (removable - level) + soft * soft)) / 2 }}
CONTROL_TRAJECTORY {trajectory_id} {{
{runs}
}}
OPERATOR F_ArgonAnneal : Relaxation {{
    EQUATION: d(removable)/dt = -settle_rate * (p_Ar / p_ref) * above * (removable - {target})
}}
OBSERVATION_MODEL Obs_0p3 {{ TARGET: Dit_at_0p3eV_below_Ec; UNIT: cm^-2 eV^-1; EQUATION: Dit_at_0p3eV_below_Ec = D_unit * (exp(ln10 * log_S_0p3) + removable * exp(ln10 * log_R_0p3)) }}
OBSERVATION_MODEL Obs_0p4 {{ TARGET: Dit_at_0p4eV_below_Ec; UNIT: cm^-2 eV^-1; EQUATION: Dit_at_0p4eV_below_Ec = D_unit * (exp(ln10 * log_S_0p4) + removable * exp(ln10 * log_R_0p4)) }}
OBSERVATION_MODEL Obs_0p5 {{ TARGET: Dit_at_0p5eV_below_Ec; UNIT: cm^-2 eV^-1; EQUATION: Dit_at_0p5eV_below_Ec = D_unit * (exp(ln10 * log_S_0p5) + removable * exp(ln10 * log_R_0p5)) }}
EVALUATION_CONTRACT {contract_id} {{
    FROZEN: true
    DATASET: data/derived/kobayashi_2017_sic_dit.csv
    DATASET_DIGEST: sha256:{dataset_sha256}
    SPLIT: {split}
{targets}
}}

Our simulation against the paper

21 within of 21 numbers. Tolerance is stated per row; nothing was fitted for this page.

✓21 within tolerance
simulation below the paper ← 0 → simulation above the paper-100%-50%0%+50%+100%Oxidized at 1150 °C, no annealDit at Ec − 0.3 eVours 3.23×10¹² · paper 3.26×10¹² cm⁻² eV⁻¹✓ within tolerance (-0.9%)Oxidized at 1150 °C, no annealDit at Ec − 0.4 eVours 2.32×10¹² · paper 2.31×10¹² cm⁻² eV⁻¹✓ within tolerance (+0.6%)Oxidized at 1150 °C, no annealDit at Ec − 0.5 eVours 1.59×10¹² · paper 1.59×10¹² cm⁻² eV⁻¹✓ within tolerance (+0.3%)1150 °C, argon 1300 °C, rapid coolingDit at Ec − 0.3 eVours 2.09×10¹² · paper 2.10×10¹² cm⁻² eV⁻¹✓ within tolerance (-0.6%)1150 °C, argon 1300 °C, rapid coolingDit at Ec − 0.4 eVours 1.39×10¹² · paper 1.65×10¹² cm⁻² eV⁻¹✓ within tolerance (-16%)1150 °C, argon 1300 °C, rapid coolingDit at Ec − 0.5 eVours 9.17×10¹¹ · paper 1.09×10¹² cm⁻² eV⁻¹✓ within tolerance (-16%)1150 °C, argon 1500 °C, rapid coolingDit at Ec − 0.3 eVours 8.62×10¹¹ · paper 8.72×10¹¹ cm⁻² eV⁻¹✓ within tolerance (-1.1%)1150 °C, argon 1500 °C, rapid coolingDit at Ec − 0.4 eVours 3.91×10¹¹ · paper 3.60×10¹¹ cm⁻² eV⁻¹✓ within tolerance (+8.6%)1150 °C, argon 1500 °C, rapid coolingDit at Ec − 0.5 eVours 1.90×10¹¹ · paper 1.66×10¹¹ cm⁻² eV⁻¹✓ within tolerance (+15%)1150 °C, argon 1500 °C, standard coolingDit at Ec − 0.3 eVours 8.63×10¹¹ · paper 8.56×10¹¹ cm⁻² eV⁻¹✓ within tolerance (+0.9%)1150 °C, argon 1500 °C, standard coolingDit at Ec − 0.4 eVours 3.92×10¹¹ · paper 4.25×10¹¹ cm⁻² eV⁻¹✓ within tolerance (-7.8%)1150 °C, argon 1500 °C, standard coolingDit at Ec − 0.5 eVours 1.91×10¹¹ · paper 2.19×10¹¹ cm⁻² eV⁻¹✓ within tolerance (-13%)Oxidized at 1300 °C, no annealDit at Ec − 0.3 eVours 3.23×10¹² · paper 3.28×10¹² cm⁻² eV⁻¹✓ within tolerance (-1.5%)Oxidized at 1300 °C, no annealDit at Ec − 0.4 eVours 2.32×10¹² · paper 2.14×10¹² cm⁻² eV⁻¹✓ within tolerance (+8.6%)Oxidized at 1300 °C, no annealDit at Ec − 0.5 eVours 1.59×10¹² · paper 1.36×10¹² cm⁻² eV⁻¹✓ within tolerance (+17%)1300 °C, argon 1500 °C, rapid coolingDit at Ec − 0.3 eVours 8.62×10¹¹ · paper 8.76×10¹¹ cm⁻² eV⁻¹✓ within tolerance (-1.6%)1300 °C, argon 1500 °C, rapid coolingDit at Ec − 0.4 eVours 3.91×10¹¹ · paper 4.44×10¹¹ cm⁻² eV⁻¹✓ within tolerance (-12%)1300 °C, argon 1500 °C, rapid coolingDit at Ec − 0.5 eVours 1.90×10¹¹ · paper 1.95×10¹¹ cm⁻² eV⁻¹✓ within tolerance (-2.4%)1300 °C, argon 1500 °C, then argon 1300 °CDit at Ec − 0.3 eVours 8.62×10¹¹ · paper 1.05×10¹² cm⁻² eV⁻¹✓ within tolerance (-18%)1300 °C, argon 1500 °C, then argon 1300 °CDit at Ec − 0.4 eVours 3.91×10¹¹ · paper 4.10×10¹¹ cm⁻² eV⁻¹✓ within tolerance (-4.7%)1300 °C, argon 1500 °C, then argon 1300 °CDit at Ec − 0.5 eVours 1.90×10¹¹ · paper 1.85×10¹¹ cm⁻² eV⁻¹✓ within tolerance (+2.9%)
The pale green band is the tolerance. Bars past ±100% are cut and carry their value.
Sample and historyQuantityThe paperOur simulationDifferenceVerdictWhat the program's own evaluation saysWhere in the paper
Oxidized at 1150 °C, no annealDit at Ec − 0.3 eV3.26e+12 cm⁻² eV⁻¹3.23e+12 cm⁻² eV⁻¹-1%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
Oxidized at 1150 °C, no annealDit at Ec − 0.4 eV2.31e+12 cm⁻² eV⁻¹2.32e+12 cm⁻² eV⁻¹+1%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
Oxidized at 1150 °C, no annealDit at Ec − 0.5 eV1.59e+12 cm⁻² eV⁻¹1.60e+12 cm⁻² eV⁻¹+0%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1150 °C, argon 1300 °C, rapid coolingDit at Ec − 0.3 eV2.10e+12 cm⁻² eV⁻¹2.09e+12 cm⁻² eV⁻¹-1%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1150 °C, argon 1300 °C, rapid coolingDit at Ec − 0.4 eV1.65e+12 cm⁻² eV⁻¹1.39e+12 cm⁻² eV⁻¹-16%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1150 °C, argon 1300 °C, rapid coolingDit at Ec − 0.5 eV1.09e+12 cm⁻² eV⁻¹9.17e+11 cm⁻² eV⁻¹-16%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1150 °C, argon 1500 °C, rapid coolingDit at Ec − 0.3 eV8.72e+11 cm⁻² eV⁻¹8.62e+11 cm⁻² eV⁻¹-1%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1150 °C, argon 1500 °C, rapid coolingDit at Ec − 0.4 eV3.60e+11 cm⁻² eV⁻¹3.91e+11 cm⁻² eV⁻¹+9%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1150 °C, argon 1500 °C, rapid coolingDit at Ec − 0.5 eV1.66e+11 cm⁻² eV⁻¹1.90e+11 cm⁻² eV⁻¹+15%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1150 °C, argon 1500 °C, standard coolingDit at Ec − 0.3 eV8.56e+11 cm⁻² eV⁻¹8.64e+11 cm⁻² eV⁻¹+1%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1150 °C, argon 1500 °C, standard coolingDit at Ec − 0.4 eV4.25e+11 cm⁻² eV⁻¹3.92e+11 cm⁻² eV⁻¹-8%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1150 °C, argon 1500 °C, standard coolingDit at Ec − 0.5 eV2.19e+11 cm⁻² eV⁻¹1.91e+11 cm⁻² eV⁻¹-13%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
Oxidized at 1300 °C, no annealDit at Ec − 0.3 eV3.28e+12 cm⁻² eV⁻¹3.23e+12 cm⁻² eV⁻¹-2%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
Oxidized at 1300 °C, no annealDit at Ec − 0.4 eV2.14e+12 cm⁻² eV⁻¹2.32e+12 cm⁻² eV⁻¹+9%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
Oxidized at 1300 °C, no annealDit at Ec − 0.5 eV1.36e+12 cm⁻² eV⁻¹1.60e+12 cm⁻² eV⁻¹+17%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1300 °C, argon 1500 °C, rapid coolingDit at Ec − 0.3 eV8.76e+11 cm⁻² eV⁻¹8.62e+11 cm⁻² eV⁻¹-2%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1300 °C, argon 1500 °C, rapid coolingDit at Ec − 0.4 eV4.44e+11 cm⁻² eV⁻¹3.91e+11 cm⁻² eV⁻¹-12%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1300 °C, argon 1500 °C, rapid coolingDit at Ec − 0.5 eV1.95e+11 cm⁻² eV⁻¹1.90e+11 cm⁻² eV⁻¹-2%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1300 °C, argon 1500 °C, then argon 1300 °CDit at Ec − 0.3 eV1.05e+12 cm⁻² eV⁻¹8.62e+11 cm⁻² eV⁻¹-18%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1300 °C, argon 1500 °C, then argon 1300 °CDit at Ec − 0.4 eV4.10e+11 cm⁻² eV⁻¹3.91e+11 cm⁻² eV⁻¹-5%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing
1300 °C, argon 1500 °C, then argon 1300 °CDit at Ec − 0.5 eV1.85e+11 cm⁻² eV⁻¹1.90e+11 cm⁻² eV⁻¹+3%within (±20%)inconclusiveFigures 2 and 3, from the vector drawing

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 ox1150C, ox1150C_Ar1300C_cool600, ox1150C_Ar1500C_cool600, ox1150C_Ar1500C_cool70 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
Heated in argon to 1300 °C in the anneal furnace: durationNot described; searched from 1 to 30 min60 to 1800 s300 s300 s12 of 12 within tolerance, median error 4.5%12 of 12 within tolerance, median error 4.5%
Argon anneal at 1300 °C, 5 min: duration“1 - 10 min”; 5 min used, searched from 1 to 10 min60 to 600 s300 s60 s (flat: the data do not constrain it)12 of 12 within tolerance, median error 4.5%12 of 12 within tolerance, median error 4.4%
Cooled in argon at 600 °C/min: duration> 600 °C/min; end temperature not given; searched over 600 to 2400 °C/min0.25 to 1×1×1× (flat: the data do not constrain it)12 of 12 within tolerance, median error 4.5%12 of 12 within tolerance, median error 4.5%
Cooled in argon at 70 °C/min: duration< 70 °C/min; end temperature not given; searched over 70 to 17.5 °C/min600 to 2400 s600 s2100 s (flat: the data do not constrain it)12 of 12 within tolerance, median error 4.5%12 of 12 within tolerance, median error 4.2%

Together: RampUp duration 300 s (was 300); ArgonAnneal0 duration 60 s (was 300); CoolRapid duration 1× (was 1); CoolStandard duration 2100 s (was 600).

As reproduced: 21 of 21 within tolerance, median error 4.7%. Aligned: 21 of 21 within tolerance, median error 4.6%. On the held-out samples only: 9 of 9 within tolerance, median error 4.7% as reproduced, 9 of 9 within tolerance, median error 4.6% aligned.

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

VariantAloneWith the aligned history
exponential cooling to 25 °C at the bound rate21 of 21 within tolerance, median error 4.7%21 of 21 within tolerance, median error 4.6%
no ramp: furnace at temperature when loaded21 of 21 within tolerance, median error 4.7%21 of 21 within tolerance, median error 4.8%

What was searched. Five things the paper gives only as ranges or not at all: the ramp to the anneal temperature in the anneal furnace (not described; 1 to 30 min, written as a new step, RampUp), the argon anneal time (“1 - 10 min”), the 1300 °C oxidation time (“40 min or 1h 20 min”), and the two cooling rates (“< 70” and “> 600 °C/min”, searched from 70 down to 17.5 °C/min and from 600 up to 2400 °C/min). The time of the second anneal of the twice-annealed sample is also “1 - 10 min”, but that sample is a test sample, so it was left at 5 min. Exponential cooling at the bound rate and a furnace already hot at loading are variants.

Read this as an upper bound. The unknowns were chosen on the four samples oxidized at 1150 °C (12 values), the same samples the program's eight fitted numbers were fitted on (evaluations/sic_interface_states_report.json). The three samples oxidized at 1300 °C (9 values) were not used in that fit or here, and are the test; they carry the same argon anneals at 1500 °C, so they test the oxidation temperature, which the program does not read.

Nothing in the history moves the numbers. On the chosen samples every unknown is flat: 12 of 12 within tolerance at every value searched, the median error between 4.2% and 4.5%. The anneal time does not matter between 1 and 10 min because the program's settling rate (0.1 s^-1, a hypothesis, not a fit) finishes the reduction in under a minute. The oxidation time and the cooling rates are not read: the as-oxidized level is a constant, and the reduction is one-way, so a slower cooling only lets it go on a little longer (median 4.5% at 600 s, 4.2% at 2400 s for the standard cooling). The combined search, which breaks ties on median error, settles on a 1 min anneal and a standard cooling of 35 min (20 °C/min) with nothing else changed. Aligned: 21 of 21, median error 4.6% (4.7% as reproduced); on the 1300 °C samples 9 of 9 both ways, median 4.7% to 4.6%. The two variants give 21 of 21 as well (median 4.7% alone, 4.6% and 4.8% on the aligned history). None of these differences is evidence.

The search found a fault in the program instead. With a ramp of 9.7 min or longer from room temperature in argon, the predictor refuses every annealed sample: the state removable reaches 1.00 and is reported as outside its bounds [0, 1]. At low temperature the program's level is softly capped just below 1, and a long time there lets the solver step over it. At 9.7 min 9 of the 12 chosen values are still simulated, at 17 and 30 min only the 3 as-oxidized ones. The search did not choose those values only because it counts values within tolerance, not values refused; it would have been wrong for it to choose them on median error.

✓9 within tolerance
simulation below the paper ← 0 → simulation above the paper-100%-50%0%+50%+100%Oxidized at 1300 °C, no annealDit at Ec − 0.3 eVours 3.23×10¹² · paper 3.28×10¹² cm⁻² eV⁻¹✓ within tolerance (-1.5%)Oxidized at 1300 °C, no annealDit at Ec − 0.4 eVours 2.32×10¹² · paper 2.14×10¹² cm⁻² eV⁻¹✓ within tolerance (+8.6%)Oxidized at 1300 °C, no annealDit at Ec − 0.5 eVours 1.59×10¹² · paper 1.36×10¹² cm⁻² eV⁻¹✓ within tolerance (+17%)1300 °C, argon 1500 °C, rapid coolingDit at Ec − 0.3 eVours 8.63×10¹¹ · paper 8.76×10¹¹ cm⁻² eV⁻¹✓ within tolerance (-1.5%)1300 °C, argon 1500 °C, rapid coolingDit at Ec − 0.4 eVours 3.91×10¹¹ · paper 4.44×10¹¹ cm⁻² eV⁻¹✓ within tolerance (-12%)1300 °C, argon 1500 °C, rapid coolingDit at Ec − 0.5 eVours 1.91×10¹¹ · paper 1.95×10¹¹ cm⁻² eV⁻¹✓ within tolerance (-2.3%)1300 °C, argon 1500 °C, then argon 1300 °CDit at Ec − 0.3 eVours 8.63×10¹¹ · paper 1.05×10¹² cm⁻² eV⁻¹✓ within tolerance (-18%)1300 °C, argon 1500 °C, then argon 1300 °CDit at Ec − 0.4 eVours 3.91×10¹¹ · paper 4.10×10¹¹ cm⁻² eV⁻¹✓ within tolerance (-4.6%)1300 °C, argon 1500 °C, then argon 1300 °CDit at Ec − 0.5 eVours 1.91×10¹¹ · paper 1.85×10¹¹ cm⁻² eV⁻¹✓ within tolerance (+3.0%)
The pale green band is the tolerance. Bars past ±100% are cut and carry their value.

9 within of 9 numbers with the aligned settings (the samples used to choose the unknowns are left out).

SampleQuantityThe paperAs reproduced aboveAlignedDifferenceVerdictHow
Oxidized at 1300 °C, no annealDit at Ec − 0.3 eV3.28e+12 cm⁻² eV⁻¹3.23e+123.23e+12-2%within (±20%)test
Oxidized at 1300 °C, no annealDit at Ec − 0.4 eV2.14e+12 cm⁻² eV⁻¹2.32e+122.32e+12+9%within (±20%)test
Oxidized at 1300 °C, no annealDit at Ec − 0.5 eV1.36e+12 cm⁻² eV⁻¹1.60e+121.60e+12+17%within (±20%)test
1300 °C, argon 1500 °C, rapid coolingDit at Ec − 0.3 eV8.76e+11 cm⁻² eV⁻¹8.62e+118.63e+11-1%within (±20%)test
1300 °C, argon 1500 °C, rapid coolingDit at Ec − 0.4 eV4.44e+11 cm⁻² eV⁻¹3.91e+113.91e+11-12%within (±20%)test
1300 °C, argon 1500 °C, rapid coolingDit at Ec − 0.5 eV1.95e+11 cm⁻² eV⁻¹1.90e+111.91e+11-2%within (±20%)test
1300 °C, argon 1500 °C, then argon 1300 °CDit at Ec − 0.3 eV1.05e+12 cm⁻² eV⁻¹8.62e+118.63e+11-18%within (±20%)test
1300 °C, argon 1500 °C, then argon 1300 °CDit at Ec − 0.4 eV4.10e+11 cm⁻² eV⁻¹3.91e+113.91e+11-5%within (±20%)test
1300 °C, argon 1500 °C, then argon 1300 °CDit at Ec − 0.5 eV1.85e+11 cm⁻² eV⁻¹1.90e+111.91e+11+3%within (±20%)test

This paper cannot discriminate between histories, so alignment cannot test the program here. What the data do show and the program does not have is the cooling rate: at 0.4 and 0.5 eV the 1500 °C samples differ by 18 and 32% between standard and rapid cooling (4.25 against 3.60, 2.19 against 1.66 × 10^11 cm^-2 eV^-1), more states after the slow cooling; after argon at 1300 °C the slow-cooled sample (not among the cases here) has fewer (1.18 against 1.65 × 10^12 at 0.4 eV). The program gives each pair the same value. Because each cooling rate is also a different furnace, that difference cannot be assigned to the cooling alone.

The program's anneal clock is a hypothesis (0.1 s^-1). A sample annealed for less than a minute, or an isothermal series in time, would be needed to test it; this paper has neither.

What our language and ontology cannot yet say

  • A cooling rate as a statement (COOL RATE <K/min> TO <T> [BOUND upper|lower]), so “< 70 °C/min” is written as the paper gives it rather than as an invented end temperature and duration. The rate also needs its own furnace, so a cooling difference is not silently also a furnace difference.
  • A furnace or equipment field on a RUN (FURNACE resistive | rf_induction), and the residual oxygen it is known for (under 1 ppm for one, not reported for the other). Here the two cooling rates are two furnaces.
  • A transfer through air as a RUN-like step with its own gas and time (TRANSFER AMBIENT air DURATION …): the Transfer here is an EVENT, so any exposure of the interface to room air between furnaces cannot reach a program.
  • OFFCUT read by programs (4° off-axis here, on-axis in Song 2004), and the measurement method on an observable (1 MHz high-low counts fewer states than a 100 MHz reference, the paper's Figure 4).
  • For the predictor: a small tolerance on a state's declared bounds, or a hard clamp, so that a long low-temperature hold does not refuse a history at exactly 1.00.

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)21 of 214.7%
heat-up A (hot push), fast cooling21 of 214.7%0 of 21 moved by more than 2%
heat-up A (hot push), slow cooling21 of 214.6%0 of 21 moved by more than 2%
heat-up B (cold-furnace ramp), fast cooling21 of 214.7%0 of 21 moved by more than 2%
heat-up B (cold-furnace ramp), slow cooling21 of 214.6%0 of 21 moved by more than 2%

The paper's own conclusions

The paper statesWhat we find
An argon anneal at 1500 °C lowers the interface state density; one at 1300 °C does littleReproduced: the program is a one-way reduction whose size is set by the anneal temperaturedirection right (fitted to these data)
The reduction is kept after a second anneal at 1300 °C: it is not reversibleReproduced; a reversible level that follows temperature was fitted and rejectedagrees
The result is not sensitive to the cooling rateThe measurements differ by 30 to 40% between the two cooling rates at 0.4 and 0.5 eVnot supported by the paper's own figure
Effective fixed charge +9.1 × 10^11 cm^-2 after 1150 °C oxidation and 1500 °C argonNo program for fixed charge on SiCnot modelled

What we would like Emily to check

  1. Is five minutes a fair single value for the argon anneal, or does the reduction depend on time within 1 to 10 minutes?
  2. Between oxidation and the argon anneal the sample saw air at room temperature. Does that matter for this interface?
  3. With the 1 MHz high-low method on SiC, how much of the state density is missed, and should we compare against the 100 MHz curves instead?