append_default_ddrf_sequence

append_default_ddrf_sequence(model, nuclear_spin_name, angle, phase, rf_duration, n_dds, dd_duration, controlled=True, self_corrected=False, electron_spin_name='e', mw_driving_field_name='MW_x', rf_driving_field_name='RF_x', verbose=False)

Add a default DDRF pulse sequence.

The DDRF sequence applies phase-controlled RF driving to a nuclear spin while interleaving dynamical-decoupling pulses on the electron spin.

Parameters:
  • model (Model) – Model to update.

  • nuclear_spin_name (str) – Name of the driven nuclear spin.

  • angle (float) – Target nuclear-spin rotation angle.

  • phase (float) – Rotation axis of the nuclear rotation.

  • rf_duration (float) – Duration of each RF pulse segment.

  • n_dds (int) – Number of dynamical-decoupling pulses. Must be a multiple of 4.

  • dd_duration (float) – Duration of each electron-spin dynamical-decoupling pulse.

  • controlled (bool) – If True, implement the controlled version of the DDRF sequence.

  • self_corrected (bool) – If True, use the self-corrected DD phase pattern.

  • electron_spin_name (str) – Name of the electron spin.

  • mw_driving_field_name (str) – Name of the microwave driving field.

  • rf_driving_field_name (str) – Name of the radio-frequency driving field.

  • verbose (bool) – If True, log the derived pulse amplitudes at INFO level.

Return type:

Model

Returns:

Updated model.

Raises:

SimphonyError – If n_dds is not a multiple of 4.