Skip to content

v3.6.0

Latest

Choose a tag to compare

@roytsmart roytsmart released this 27 Oct 03:06
b5ffed9

This release extends the optical constants of zirconium and zirconia into the visible and infrared, corrects the default and Lynch tables of zirconium, and lets SequentialSystem.image() be seeded. It has the same requirements as 3.5.

It changes the default optical constants of Zr from 411 to 671 Å and beyond 1216 Å, and those of ZrO2 beyond 423 Å (see below). Elsewhere they are unchanged.

Zirconium and zirconia into the visible and infrared (#267)

The default tables of Zr and ZrO2 ended at 1216 and 423 Å, and na.interp holds the last value of a table beyond its end. So Chemical("Zr") gave the n + ik of 1216 Å at every longer wavelength, and a Zr filter could not be modeled in the visible or infrared. The tables now reach 55.6 and 33 µm.

  • New tables, from the refractiveindex.info database (CC0 1.0), each of which can be chosen with table, as in Chemical("Zr", table="querry"):

    • Zr_querry: Querry (1987), CRDEC-CR-88009, 0.22 to 55.6 µm.
    • Zr_palm: Palm et al. (2018), ACS Photonics 5, 4677, a 200 nm e-beam film, 0.226 to 1.68 µm. Its ε1 is positive at 500 nm, which is not metallic, and the default doesn't use it.
    • ZrO2_synowicki: Synowicki & Tiwald (2004), Thin Solid Films 455-456, 248, bulk cubic ZrO2, 0.130 to 33 µm.
  • Zr_lynch is rebuilt from the table it came from, of polycrystalline Zr in Weaver et al. (1981), which tabulates Lynch, Olson & Weaver (1975). IMD's copy had two errors. Its k column disagreed with the table's own dielectric function: at 30 eV it gave 0.64, where ε gives 0.36. And from 10.6 to 26.0 eV each wavelength held the values of the row before. The table now has all 272 rows, from 0.10 to 30 eV (413 Å to 12.4 µm), with n and k computed from ε. So Chemical("Zr", table="lynch") also changes over its old range, 413 to 1378 Å. The table of single-crystal Zr, Zr-te_lynch, was right and is unchanged.

  • The default Zr.nk is now CXRO to 411 Å (30 eV), Windt et al. to 1216 Å, Lynch et al. to 2175 Å, and Querry from 2200 Å.

    • Querry is used wherever it has data, since it was measured at room temperature, and Lynch et al. measured below 4.4 eV at 4.2 K. The two disagree in the infrared.
    • CXRO no longer reaches 649 Å. Below 30 eV, its atomic scattering factors put the 4p edge of Zr at 27 eV (455 Å), and k fell to 0.06 beyond it, where Windt et al. and Lynch et al. measured more than 0.3. Its 31 rows from 417 to 649 Å are replaced by the 6 rows of Windt et al. from 448 to 616 Å, the measurements the default already used from 671 Å.
  • The default ZrO2.nk is now CXRO to 423 Å and Synowicki & Tiwald from 1301 Å.

  • What it changes: a 2000 Å Zr filter with 5 nm of ZrO2 on each side transmits

    wavelength 3.5 3.6
    94 Å 0.48 0.48
    131 Å 0.45 0.45
    470 Å 0.018 6.9e-9
    1500 Å 2.6e-10 2.1e-6
    500 nm 1.5e-3 9.5e-8
    1 µm 0.041 2.3e-5

AAACATALOG.TXT lists the new files, the new range of Zr_lynch, and what the defaults are made of.

Limitations:

  • ZrO2 from 423 to 1301 Å: no table covers it, so n and k are interpolated linearly across the gap.
  • Zr in the visible: the measurements disagree. At 500 nm, a bare 2000 Å film transmits 5e-7 with Zr_lynch, 8e-8 with Zr_querry and 5e-4 with Zr_palm.

Seeded images (#265)

SequentialSystem.image() places each ray at a random position inside its cell of the wavelength, field and pupil grids. It now takes a seed for that draw, so the same seed gives the same image. The default, None, draws different positions every time, as before. The noise of the sensor is drawn separately and isn't seeded.

README (#266)

The multilayer figure in the README's gallery links to the plot the docs now make. Its old link had been broken since 3.5.0.

Full Changelog: v3.5.0...v3.6.0