nanotune.tuningstages.gatecharacterization_tasks

nanotune.tuningstages.gatecharacterization_tasks.get_new_gatecharacterization_range(current_valid_ranges: Sequence[Sequence[float]], safety_voltage_ranges: Sequence[Sequence[float]], range_update_directives: List[str]) Sequence[Sequence[float]][source]

Determines new voltage range for a subsequent tuning stage iteration. It extends the current range to the relevant safety range, i.e. if the directive required a voltage to be swept more negative, then the lower bound is set to the lower safety value. No intermediate tries, just being efficient.

Parameters
  • current_valid_ranges – Current voltage ranges.

  • safety_voltage_ranges – List of safety ranges.

  • range_update_directives – List of range update directives.

Returns

list – List with a tuple with the new voltage range.

nanotune.tuningstages.gatecharacterization_tasks.get_range_directives_gatecharacterization(fit_range_update_directives: List[str], current_valid_ranges: Sequence[Sequence[float]], safety_voltage_ranges: Sequence[Sequence[float]], dV_stop: float = 0.1) Tuple[List[str], List[str]][source]

Determines voltage range directives to update ranges for a subsequent tuning stage iteration. It checks if the voltage range update directives determined previously, e.g by a fit class, can be carried out based on the supplied safety ranges.

Parameters
  • fit_range_update_directives – Directives determined previously, such as during fitting.

  • current_valid_ranges – Voltage range swept at previous iteration.

  • safety_voltage_ranges – Safety range of gate/voltage parameter swept.

  • dV_stop – Mininmal voltage difference between current and safety ranges for current ranges to be changed. Default is 100mV.

Returns
  • list – Range update directives, e.g. ‘x more negative’.

  • list – Issues encountered, e.g. ‘positive safety voltage reached’.

nanotune.tuningstages.gatecharacterization_tasks.finish_early_pinched_off(last_measurement_strength: float, normalization_constant: Tuple[float, float], recent_measurement_strengths: List[float], voltage_precision: float, noise_level: float, voltage_interval_to_track: float = 0.3) Tuple[bool, List[float]][source]

Checks the average strength of measured signal over a given voltage interval is below the noise floor.

If this is the case, the boolean returned indicates that the measurement can be stopped.

Parameters
  • last_measurement_strength – Last measurement output.

  • normalization_constant – Constant to normalize last_measurement_strength.

  • recent_measurement_strengths – List of most recent signal strengths.

  • voltage_precision – Voltage precision of the measurement, i.e. voltage difference between setpoints.

  • noise_level – Relative noise in percent compared to normalized signal.

  • voltage_interval_to_track – Voltage interval over which the average should be taken. Voltage ranges less than voltage_interval_to_track will be ignored, i.e. will always return False.

Returns
  • bool – Whether or not a measurement can be stopped.

  • list – List of measurements strenghts/outputs over the last voltage_interval_to_track.