Skip to content

Fix parameters for experimental data

Compare
Choose a tag to compare
@garrettj403 garrettj403 released this 30 Jul 23:39
· 104 commits to master since this release

Experimental data

  • Process experimental data in a consistent order (i.e., I-V and IF data should be processed in the same way).
  • Add warning if normal resistance is too low or too high. This can help to detect if you are using the wrong units for the current.
  • Make parameters in qmix.exp.parameters more consistent. Changes include:
    • voffset_range, which defines where the voltage offset is potentially found, is now defined as a list. E.g., if the experimental voltage offset could be found anywhere between -0.5mV and 0.1mV, you now use voffset_range=(-0.5e-3, 0.1e-3). This change is backwards compatible, so you can still define it as a float if you like. For example, if you set voffset_range=1e-3, this is equivalent to voffset_range=(-1e-3, 1e-3).
    • rn_vmin and rn_vmax, which previously defined where the normal resistance was calculated, are now combined into vrn. Previously, this was defined using rn_vmin and rn_vmax. Now, it is defined using vrn as a list. For example, if you previously used rn_vmin=4e-3 and rn_vmax=5e-3, you would now use vrn=(4e-3, 5e-3). This change is backwards compatible, so you can still use rn_vmin and rn_vmax.
    • vshot, which controls where the shot noise slope is calculated, is now a list of lists, so that multiple voltage ranges can be defined. For example, if the shot noise slope is smooth between from 4-5mV and 5.5-6mV, you can define vshot=((4e-3,5e-3),(5.5e-3,6e-3)). This change is backwards compatible, so you can still use a normal list.
    • cut_low and cut_high, which previously defined the region of the first photon step that would be used for impedance recovery, are now combined into fit_range. For example, if you previously used cut_low=0.25 and cut_high=0.2, you should now use fit_interval=(0.25, 0.8). (NB: The way that the upper limit is defined has been changed!). In this example, the script will ignore the first 25% of the photon step and the last 20% during the impdance recovery process. This is backwards compatible, so you can still use cut_low and cut_high if you like.
    • vgap_guess and igap_guess have been removed. They actually weren't needed all along.
    • ifdata_vmax, which previously defined the maximum IF voltage to import, has been removed. QMix now uses the value from vmax instead.
    • ifdata_sigma, which defines the width of the filter for the IF data, is now defined in units [V]. Previously, it was defined by the number of data points. This is also backwards compatible (if ifdata_sigma is >0.5, it will assume that you are defining it by the number steps).

Optimization

  • Add basic timing scripts for qmix.harmonic_balance. See speed/ directory.
  • Use a better initial guess for the junction voltage in the qmix.harmonic_balance.harmonic_balance function.

Testing

  • Improve code coverage. Now 99.0% covered!

Command line

  • Add command line script to plot IF response from experimental data (bin/plot-if-response.py).