An interactive session: design, run, compress#

This page is written as you would type it at a terminal or in a notebook: one import, then everything is an attribute of sol. The case is the everyday one of a hollow-fibre compressor. A 30 fs, 100 uJ pulse at 800 nm is spectrally broadened in a metre of 125 um capillary filled with argon, and the positively chirped pulse that comes out is compressed with a spectral phase, with glass, and with chirped mirrors and wedges.

The import configures logging and silences the material-range notices, for convenience in an exploratory session. Restore those warnings when assessing a material model outside its fitted range. Interactive use: the session namespace says exactly what the import does and how to undo it.

One import. The log level is lowered here only to keep this page short; at a prompt the default, INFO, reports the set-up of each run and draws its progress bar.

import matplotlib.pyplot as plt

import solprop.sol as sol  # noqa: PLR0402 - the form the manual teaches

sol.set_log_level("WARNING")

Design#

What will this pulse do in this fibre? capillary_params gives the numbers, and printing the result lays them out as one block: the dispersion at the pump, the characteristic lengths, the soliton order and the powers.

radius, gas, pressure = 125e-6, "Ar", 1.0
pulse = {"energy": 100e-6, "fwhm": 30e-15, "wavelength": 800e-9}

params = sol.capillary_params(radius, gas, pressure, shape="gauss", **pulse)
print(params)
MODE:
  MarcatiliMode(HE11, a=125 um, Ar, model=full, loss=True)
WAVEGUIDE:
  Aeff = 2.34e-08 m^2, Lloss = 7.06e+00 m (1/e power)
FILL:
  1 bar Ar at 293.15 K, Pcr = 9.20e+09 W,
  gamma = 3.46e-09 /(W m), n2 = 1.03e-19 cm^2/W
PULSE:
  1.000e-04 J, 3.000e-14 s @ 800.0 nm (shape: gauss)
DISPERSION:
  9.920e-30 s^2/m @ 800.0 nm, ZDW = 967.8 nm
POWER:
  3.13e+09 W (0.3404 of Pcr)
INTENSITY:
  1.34e+13 W/cm^2 mode-averaged, 2.37e+13 W/cm^2 on axis
SOLITON:
  Ld = 3.27e+01 m, Lnl = 9.23e-02 m, Lfiss = 1.74e+00 m, N = 18.83
CONSTITUENTS (unchirped NLSE):
  unavailable (normal dispersion)

The dispersion is normal at the pump (the zero-dispersion wavelength is on its red side), the peak power is a quarter of the critical power, and the nonlinear length is 11 cm: a metre of this fibre gives a B-integral of about nine, which is spectral broadening by self-phase modulation with a positive chirp. That is a compressor.

The same tools answer the opposite question. At what pressure would the pump sit at the zero-dispersion point, and if we went below it, into the soliton regime, where would the resonant dispersive wave come out?

at_zdw = sol.pressure_zdw(radius, gas, pulse["wavelength"])
print(f"the zero-dispersion wavelength reaches 800 nm at {at_zdw:.2f} bar")

thin = sol.MarcatiliMode(radius, gas, 0.2)
linear = sol.lambda_rdw(thin, pulse["wavelength"])
gamma = sol.nonlinear_coefficient(
    thin,
    sol.n2(gas, pressure=0.2, wavelength=pulse["wavelength"]),
    pulse["wavelength"],
)
kerr = sol.lambda_rdw(
    thin,
    pulse["wavelength"],
    peak_power=params.peak_power,
    gamma=gamma,
    fwhm=pulse["fwhm"],
    shape="gauss",
)
print(f"at 0.2 bar the dispersive wave is phase matched at {linear * 1e9:.0f} nm,")
print(f"or {kerr * 1e9:.0f} nm with the soliton's nonlinear wavenumber included;")
target = sol.pressure_rdw(radius, gas, 250e-9, pulse["wavelength"])
print(f"for a wave at 250 nm, fill to {target:.2f} bar")
the zero-dispersion wavelength reaches 800 nm at 0.46 bar
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/checkouts/24/src/solprop/physdata/sellmeier.py:959: RuntimeWarning: invalid value encountered in sqrt
  error = (chi / (np.sqrt(1.0 + chi) + 1.0)) / exact - 1.0
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
/home/docs/checkouts/solprop/envs/24/lib/python3.14/site-packages/optmat/gas/lorentz_lorenz.py:234: RuntimeWarning: invalid value encountered in sqrt
  return np.asarray(chi / (1.0 + np.sqrt(1.0 + chi)))
at 0.2 bar the dispersive wave is phase matched at 449 nm,
or 381 nm with the soliton's nonlinear wavenumber included;
for a wave at 250 nm, fill to 0.07 bar

The same phase matching applies to an antiresonant fibre. Here d/D is the inner resonator diameter divided by the inscribed core diameter. The model’s wall resonances can produce several roots; phase matching does not ensure low loss.

lattice = sol.TubeLattice.from_inner_diameter_ratio(20e-6, 300e-9, 0.6, 6)
antiresonant = sol.VincettiMode(20e-6, "He", 2.0, lattice=lattice)
antiresonant_gamma = sol.nonlinear_coefficient(
    antiresonant, sol.n2("He", pressure=2.0, wavelength=800e-9), 800e-9
)
roots = sol.lambda_rdw_all(
    antiresonant,
    800e-9,
    peak_power=1e9,
    gamma=antiresonant_gamma,
    fwhm=30e-15,
    shape="gauss",
    wavelength_limits=(210e-9, 700e-9),
)
print("Vincetti RDW roots (nm):", [round(root * 1e9, 1) for root in roots])
2026-10-25 22:15:17,997 WARNING solprop.modes.antiresonant: Vincetti geometry outside published validation ranges: wall_thickness/tube_radius=0.0243902 outside [0.05, 0.2]
Vincetti RDW roots (nm): [636.0, 688.2]

Run#

One call. The pulse is a Gaussian, the default; the run takes a second or two.

run = sol.prop_capillary(
    radius,
    1.0,  # length, m
    gas,
    pressure,
    lambda0=pulse["wavelength"],
    wavelength_limits=(400e-9, 1.6e-6),
    trange=600e-15,
    fwhm=pulse["fwhm"],
    energy=pulse["energy"],
    n_save=41,
    progress="none",
)
print(run)
MemoryOutput
  state:           closed
  planes:          41, 0 m to 1 m
  field per plane: 1 x 1 x 1025 (modes x components x omega)
  statistics:      core_radius, density, electron_density, energy, fwhm_t, fwhm_t_out...
  between planes:  none
  run:             RunMetadata(multimode, field grid of 2048, 1 modes, numba_cpu, 202...

The propagation maps: the spectrum broadens symmetrically and the pulse stretches, as self-phase modulation in normal dispersion does.

figures = sol.prop_2d(run, "wavelength", wavelength_range=(500e-9, 1.2e-6), db_min=-30)
Propagation (HE11)

Compress#

How short could the output be, and what gets it there? The transform limit first, then a pure group-delay dispersion, then dispersion and third order together.

limit_fwhm, limit_power = sol.transform_limit(run)
print(f"transform limit: {limit_fwhm * 1e15:.2f} fs, {limit_power * 1e-9:.1f} GW")

gdd = sol.compress_taylor(run)
gdd_tod = sol.compress_taylor(run, order=3)
print(gdd)
print(gdd_tod)
transform limit: 4.21 fs, 17.4 GW
Compression by taylor
  found:      GDD -33.58 fs^2
  duration:   41.92 fs before, 4.742 fs after, 4.21 fs at the transform limit
  peak power: 2.113 GW before, 14.46 GW after, 17.44 GW at the limit
  quality:    0.8295 of the transform-limited peak power
  search:     converged: Solution found. (77 evaluations)
Compression by taylor
  found:      GDD -38.65 fs^2, TOD 30.01 fs^3
  duration:   41.92 fs before, 4.231 fs after, 4.21 fs at the transform limit
  peak power: 2.113 GW before, 16.4 GW after, 17.44 GW at the limit
  quality:    0.9403 of the transform-limited peak power
  search:     converged: Optimization terminated successfully. (1445 evaluations)

About -40 fs2 does most of the work, reaching 0.86 of the transform-limited peak power, and adding third order recovers much of what is left. Neither is a thing you can buy. Glass has the wrong sign for this pulse, and the search says so: the best it can do is remove glass that is not there.

print(sol.compress_material(run, medium="CaF2", thickness_range=(-5e-3, 5e-3)))
Compression by material
  found:      -1.136 mm of material
  duration:   41.92 fs before, 4.944 fs after, 4.21 fs at the transform limit
  peak power: 2.113 GW before, 13.34 GW after, 17.44 GW at the limit
  quality:    0.765 of the transform-limited peak power
  search:     converged: Solution found. (77 evaluations)

What is on the table is a set of chirped mirrors, which over-compensate in whole bounces, and a pair of wedges to trim the rest. compress_mirrors tries every count and tunes the insertion for each.

mirrors = sol.compress_mirrors(
    run,
    mirror="PC70",
    max_reflections=6,
    medium="CaF2",
    thickness_range=(0.0, 3e-3),
)
print(mirrors)
Compression by mirrors
  found:      1 reflections, 123.8 um of material
  duration:   41.92 fs before, 4.965 fs after, 4.21 fs at the transform limit
  peak power: 2.113 GW before, 13.13 GW after, 17.44 GW at the limit
  quality:    0.7531 of the transform-limited peak power
  search:     converged: Solution found. (629 evaluations)
  per count:  0: quality 0.1212, 0 m
              1: quality 0.7531, 123.8 um
              2: quality 0.7389, 1.337 mm
              3: quality 0.7289, 2.547 mm
              4: quality 0.392, 3 mm
              5: quality 0.2174, 3 mm
              6: quality 0.1509, 3 mm

The standard plots take the element too: the pulse behind the mirrors and wedges, and the spectrum it was compressed from.

sol.time_1d(run, transfer=mirrors.transfer)
sol.spec_1d(run)
  • plot 04 interactive session
  • plot 04 interactive session
<Figure size 850x500 with 1 Axes>

Every result carries its transfer function, which the time-domain accessors and plots take directly: sol.time_1d(run, transfer=mirrors.transfer) draws the compressed pulse. Here the three are drawn together: the pulse as it leaves the fibre, after the mirrors and wedges, and at its transform limit.

figure, axis = plt.subplots(figsize=(7.0, 4.0))
cases = (
    ("as it leaves the fibre", {}, "C0"),
    ("mirrors and wedges", {"transfer": mirrors.transfer}, "C1"),
    ("transform limit", {"transform_limit": True}, "0.5"),
)
for label, keywords, colour in cases:
    t, power = sol.get_power(run, plane=-1, oversampling=4, **keywords)
    width = sol.fwhm(t, power) * 1e15
    print(f"{label}: {power.max() * 1e-9:.2f} GW, {width:.1f} fs")
    axis.plot(t * 1e15, power * 1e-9, color=colour, label=f"{label}, {width:.1f} fs")
axis.set_xlim(-80, 80)
axis.set_ylim(bottom=0.0)
axis.set_xlabel("Time (fs)")
axis.set_ylabel("Power (GW)")
axis.legend(frameon=False)
figure.tight_layout()
plot 04 interactive session
as it leaves the fibre: 2.11 GW, 41.9 fs
mirrors and wedges: 13.13 GW, 5.0 fs
transform limit: 17.44 GW, 4.2 fs

A session ends when the interpreter does. To hand the process back to the library’s defaults before that – the range warnings visible, no log handler – end it: