def run(name): m = pulsar_mbi_espin.ElectronRamsey(name) funcs.prepare(m, SIL_NAME) pts = 61 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['MW_pulse_delays'] = np.linspace(0, 10e-6, pts) m.params['detuning'] = 1e6 #artificial detuning # MW pulses ## First pulse m.params['MW_pulse_durations'] = np.ones( pts) * m.params['fast_pi2_duration'] m.params['MW_pulse_amps'] = np.ones(pts) * m.params['fast_pi2_amp'] m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \ m.params['AWG_MBI_MW_pulse_mod_frq'] m.params['MW_pulse_1_phases'] = np.ones(pts) * 0 ## Second pulse m.params['MW_pulse_2_durations'] = m.params['MW_pulse_durations'] m.params['MW_pulse_2_amps'] = m.params['MW_pulse_amps'] m.params['MW_pulse_2_phases'] = np.ones( pts) * 180 + 360 * m.params['detuning'] * m.params['MW_pulse_delays'] # for the autoanalysis m.params['sweep_name'] = 'evolution time (ns)' m.params['sweep_pts'] = m.params['MW_pulse_delays'] / 1e-9 funcs.finish(m, debug=False)
def run(name): m = pulsar_mbi_espin.ElectronRamsey_Dephasing(name) funcs.prepare(m) pts = 11 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['evolution_time']=300e-6 m.params['MW_pulse_delays'] = np.linspace(0.1e-6,10e-6,pts)#np.ones(pts)*m.params['evolution_time'] #during this time we shine in a laser m.params['detuning'] = 0e6 #artificial detuning # MW pulses ## First pulse m.params['MW_pulse_durations'] = np.ones(pts) * m.params['fast_pi2_duration'] m.params['MW_pulse_amps'] = np.ones(pts) * m.params['fast_pi2_amp'] m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \ m.params['AWG_MBI_MW_pulse_mod_frq'] m.params['MW_pulse_1_phases'] = np.ones(pts) * 0 ## Second pulse m.params['MW_pulse_2_durations'] = np.linspace(0,0,pts) #m.params['MW_pulse_durations'] m.params['MW_pulse_2_amps'] = np.linspace(0,0,pts) #m.params['MW_pulse_amps'] m.params['MW_pulse_2_phases'] = np.linspace(0,0,pts) #np.linspace(0,360,pts) # for the autoanalysis m.params['sweep_name'] = 'AWG repump time (us)' m.params['sweep_pts'] = m.params['MW_pulse_delays']/(1e-6) # laser beam m.params['dephasing_AOM'] = 'NewfocusAOM' m.params['laser_dephasing_amplitude']= 18e-9 #in Watts funcs.finish(m, debug=False)
def run(name, **kw): m = pulsar_mbi_espin.Simple_Electron_repumping(name) funcs.prepare(m) max_duration = kw.get('max_duration', 3e-6) more_data_until = kw.pop('more_data_until', 0) m.params['init_state'] = kw.pop('init_state', 'm1') m.params['ro_state'] = kw.pop('ro_state', '0') pts = 50 # even number m.params['pts'] = pts m.params['reps_per_ROsequence'] = 1000 m.params['detuning'] = 0e6 #artificial detuning m.params['repump_AOM'] = 'NewfocusAOM' m.params['laser_repump_amplitude'] = kw.get('newfocus_power', 5e-9) # m.params['repumper_amplitude'] = kw.get('repumper_power',5e-9) duration_sweep = True if duration_sweep: m.params['delay_before_MW'] = 0e-9 * np.ones(pts) m.params['delay_after_MW'] = 0e-9 * np.ones(pts) if more_data_until == 0 or more_data_until > max_duration: m.params['repumping_time'] = np.linspace(0.0e-6, max_duration, pts) else: m.params['repumping_time'] = np.append( np.linspace(0.0e-6, more_data_until, pts / 2), np.linspace(more_data_until, max_duration, pts / 2)) else: m.params['repumping_time'] = np.ones(pts) * 30e-9 m.params['delay_after_MW'] = np.linspace(0e-9, 500e-9, pts) m.params['delay_before_MW'] = np.linspace(0e-9, 500e-9, pts) m.params['MW_repump_delay1'] = np.ones(pts) * 1000e-9 m.params['MW_repump_delay2'] = np.ones(pts) * 2500e-9 m.params['Repump_multiplicity'] = np.ones(pts) * 1 m.params['pumping_cycles'] = kw.get('pumping_cycles', 1) # for the autoanalysis if duration_sweep: m.params['sweep_name'] = 'Repump duration (ns)' m.params['sweep_pts'] = m.params['repumping_time'] / (1e-9) else: m.params['sweep_name'] = 'Repump MW delay (ns)' m.params['sweep_pts'] = m.params['delay_after_MW'] / (1e-9) funcs.finish(m, debug=kw.pop('debug', False))
def run(name): m = pulsar_mbi_espin.ElectronRamsey_Dephasing(name) funcs.prepare(m) pts = 51 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 200 m.params['detuning'] = 0e6 #artificial detuning # sequence parameters m.params['readout_with_second_source'] = False m.params['pump_using_MW2'] = False m.params['init_with_second_source'] = False m.params['init_in_zero'] = True # MW pulses ps.X_pulse(m) #this updated fast_pi_amp ## First pulse m.params['MW_pulse_2_durations'] = np.ones(pts) * m.params['fast_pi_duration'] m.params['MW_pulse_2_amps'] = np.ones(pts) * m.params['fast_pi_amp'] m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \ m.params['AWG_MBI_MW_pulse_mod_frq'] m.params['MW_pulse_1_phases'] = np.ones(pts) * 0 ## Second pulse m.params['MW_pulse_durations'] = np.linspace(0,0,pts) m.params['MW_pulse_amps'] = np.linspace(0,0,pts) m.params['MW_pulse_2_phases'] = np.linspace(0,0,pts) m.params['Repump_multiplicity'] = np.ones(pts)*1 ### this parameter is used for ionization studies. # laser beam m.params['dephasing_AOM'] = 'NewfocusAOM' m.params['laser_dephasing_amplitude']= 1000e-9 #in Watts m.params['repumping_time'] = np.ones(pts)*0.7e-6 m.params['MW_repump_delay1'] = np.ones(pts) * 500e-9 #sweep param m.params['MW_repump_delay2'] = np.linspace(-0.5e-6, 0.5e-6,pts) # for the autoanalysis m.params['sweep_name'] = 'MW vs. repump delay' m.params['sweep_pts'] = m.params['MW_repump_delay2']/(1e-6) funcs.finish(m, debug=False)
def run(name, **kw): m = pulsar_mbi_espin.ElectronRamsey_Dephasing(name) funcs.prepare(m) pts = 30# even number m.params['pts'] = pts max_reps = kw.get('Element_reps',3000) m.params['Repump_multiplicity'] = np.round(np.arange(1,max_reps,(max_reps-1)/float(pts))) pts = len(m.params['Repump_multiplicity']) m.params['reps_per_ROsequence'] = 500 m.params['detuning'] = 0e6 #artificial detuning (MW) # MW pulses ## First pulse #print 'PULSE AMP' #print m.params['fast_pi_amp'] m.params['MW_pulse_durations'] = np.ones(pts) * m.params['fast_pi_duration'] m.params['MW_pulse_amps'] = np.ones(pts) * m.params['fast_pi_amp'] m.params['MW_pulse_mod_frqs'] = np.ones(pts) * m.params['AWG_MBI_MW_pulse_mod_frq'] m.params['MW_pulse_1_phases'] = np.ones(pts) * 0 ## Second pulse m.params['MW_pulse_2_durations'] = np.linspace(0,0,pts) m.params['MW_pulse_2_amps'] = np.linspace(0,0,pts) m.params['MW_pulse_2_phases'] = np.linspace(0,0,pts) # laser beam m.params['dephasing_AOM'] = 'NewfocusAOM' #m.params['laser_dephasing_amplitude']= 2400e-9 #in Watts m.params['repumping_time'] = np.ones(pts)*1.5e-6 #m.params['repumping_time'] = np.r_[np.linspace(0.03e-6,0.5e-6,pts/4.), np.linspace(0.2e-6,5e-6,3.*pts/4.)] m.params['MW_repump_delay1'] = np.ones(pts) * 500e-9 #sweep param m.params['MW_repump_delay2'] = np.ones(pts) * 2500e-9 # for the autoanalysis m.params['sweep_name'] = 'Number of repetitions' m.params['sweep_pts'] = m.params['Repump_multiplicity'] m.params['laser_dephasing_amplitude'] = kw.get('repump_power',2400e-9) funcs.finish(m, debug = kw.get('debug',False))
def run(name): m = pulsar_mbi_espin.ElectronRamsey_Dephasing(name) funcs.prepare(m) pts = 21 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['detuning'] = 0e6 #artificial detuning # MW pulses ## First pulse #print 'PULSE AMP' #print m.params['fast_pi_amp'] m.params['MW_pulse_durations'] = np.ones(pts) * m.params['fast_pi_duration'] m.params['MW_pulse_amps'] = np.ones(pts) * m.params['fast_pi_amp'] m.params['MW_pulse_mod_frqs'] = np.ones(pts) * m.params['AWG_MBI_MW_pulse_mod_frq'] m.params['MW_pulse_1_phases'] = np.ones(pts) * 0 ## Second pulse m.params['MW_pulse_2_durations'] = np.linspace(0,0,pts) m.params['MW_pulse_2_amps'] = np.linspace(0,0,pts) m.params['MW_pulse_2_phases'] = np.linspace(0,0,pts) # laser beam m.params['dephasing_AOM'] = 'NewfocusAOM' m.params['laser_dephasing_amplitude']= 110e-9 #in Watts m.params['repumping_time'] = np.linspace(0.0e-6,5e-6,pts) m.params['MW_repump_delay1'] = np.ones(pts) * 2500e-9 #sweep param m.params['MW_repump_delay2'] = np.ones(pts) * 2500e-9 # for the autoanalysis m.params['sweep_name'] = 'Repump duration (us)' m.params['sweep_pts'] = m.params['repumping_time']/(1e-6) funcs.finish(m, debug=False)
def run(name): m = pulsar_mbi_espin.ElectronRamsey(name) funcs.prepare(m, SIL_NAME) pts = 81 m.params['pts'] = pts m.params['reps_per_ROsequence'] = 500 m.params['MW_pulse_delays'] = np.linspace(0,10e-6,pts) m.params['detuning'] = 1e6 #artificial detuning # MW pulses m.params['MW_pulse_durations'] = np.ones(pts) * m.params['fast_pi2_duration'] m.params['MW_pulse_amps'] = np.ones(pts) * m.params['fast_pi2_amp'] m.params['MW_pulse_mod_frqs'] = np.ones(pts) * \ m.params['AWG_MBI_MW_pulse_mod_frq'] m.params['MW_pulse_1_phases'] = np.ones(pts) * 0 m.params['MW_pulse_2_phases'] = np.ones(pts) * 180 + 360*m.params['detuning']*m.params['MW_pulse_delays'] # for the autoanalysis m.params['sweep_name'] = 'evolution time (ns)' m.params['sweep_pts'] = m.params['MW_pulse_delays'] /1e-9 funcs.finish(m, debug=False)
def run( name, phase=0, ): m = pulsar_mbi_espin.ElectronRamsey(name) funcs.prepare(m, SIL_NAME) ### sweep the length of the second pulse MW_pulse_2_durations = np.arange(0, m.params['fast_pi_duration'] + 10e-9, 8e-9) pts = len(MW_pulse_2_durations) m.params['pts'] = pts m.params['reps_per_ROsequence'] = 2000 m.params['MW_pulse_delays'] = np.ones( pts) * 20e-6 # Time between the first and second pulse ## MW pulses m.params['MW_pulse_mod_frqs'] = np.ones( pts) * m.params['AWG_MBI_MW_pulse_mod_frq'] ## First pulse m.params['MW_pulse_durations'] = np.ones( pts) * m.params['fast_pi2_duration'] m.params['MW_pulse_amps'] = np.ones(pts) * m.params['fast_pi2_amp'] m.params['MW_pulse_1_phases'] = np.ones(pts) * 90 ## Second pulse m.params['MW_pulse_2_durations'] = MW_pulse_2_durations m.params['MW_pulse_2_amps'] = np.ones(pts) * m.params['fast_pi_amp'] m.params['MW_pulse_2_phases'] = np.ones(pts) * phase # for the autoanalysis m.params['sweep_name'] = 'MW_pulse_2_duration (ns)' m.params['sweep_pts'] = MW_pulse_2_durations / 1e-9 funcs.finish(m, debug=False)
def run(name, **kw): m = pulsar_mbi_espin.ElectronRamsey_Dephasing(name) funcs.prepare(m) max_duration = kw.get('max_duration', 3e-6) pts = 50 # even number m.params['pts'] = pts m.params['reps_per_ROsequence'] = 200 m.params['detuning'] = 0e6 #artificial detuning # MW pulses ## First pulse # m.params['MW_pulse_durations'] = np.ones(pts) * m.params['fast_pi_duration'] # m.params['MW_pulse_amps'] = np.ones(pts) * m.params['fast_pi_amp'] # m.params['MW_pulse_mod_frqs'] = np.ones(pts) * m.params['AWG_MBI_MW_pulse_mod_frq'] # m.params['MW_pulse_1_phases'] = np.ones(pts) * 0 m.params['init_with_second_source'] = init_with_second_source m.params['readout_with_second_source'] = readout_with_second_source m.params['init_in_zero'] = init_in_zero ## this needs to be cleaner MW1_pi = ps.X_pulse(m) m.params['fast_pi_amp'] = MW1_pi.amplitude ## initialization microwave pulse if init_with_second_source: m.params['MW_pulse_durations'] = np.ones( pts) * m.params['mw2_fast_pi_duration'] m.params['MW_pulse_amps'] = np.ones(pts) * m.params['mw2_fast_pi_amp'] else: m.params['MW_pulse_durations'] = np.ones( pts) * m.params['fast_pi_duration'] m.params['MW_pulse_amps'] = np.ones(pts) * m.params['fast_pi_amp'] m.params['MW_pulse_mod_frqs'] = np.ones( pts) * m.params['AWG_MBI_MW_pulse_mod_frq'] m.params['MW_pulse_1_phases'] = np.ones(pts) * 0 ## Readout microwave pulse if do_pm1_readout: if readout_with_second_source: m.params['MW_pulse_2_durations'] = np.ones( pts) * m.params['mw2_fast_pi_duration'] m.params['MW_pulse_2_amps'] = np.ones( pts) * m.params['mw2_fast_pi_amp'] else: m.params['MW_pulse_2_durations'] = np.ones( pts) * m.params['fast_pi_duration'] m.params['MW_pulse_2_amps'] = np.ones( pts) * m.params['fast_pi_amp'] m.params['MW_pulse_mod_frqs'] = np.ones( pts) * m.params['AWG_MBI_MW_pulse_mod_frq'] m.params['MW_pulse_2_phases'] = np.ones(pts) * 0 else: m.params['MW_pulse_2_durations'] = np.ones(pts) * 0 m.params['MW_pulse_2_amps'] = np.ones(pts) * 0 m.params['MW_pulse_2_phases'] = np.ones(pts) * 0 m.params['pump_using_repumper'] = pump_using_repumper m.params['pump_using_newfocus'] = pump_using_newfocus m.params['pump_using_MW2'] = pump_using_MW2 if pump_using_MW2: m.params['pump_MW2_durations'] = np.linspace(0.0e-6, max_duration, pts) m.params['pump_MW2_delay'] = np.ones(pts) * pump_MW2_delay m.params['pump_MW2_falltime'] = np.ones(pts) * pump_MW2_falltime # laser beam; called dephasing, but does repump m.params['dephasing_AOM'] = 'NewfocusAOM' #m.params['dephasing_AOM'] = 'RepumperAOM' m.params['laser_dephasing_amplitude'] = kw.get('newfocus_power', 20e-9) m.params['repumper_amplitude'] = kw.get('repumper_power', 20e-9) m.params['repumping_time'] = np.linspace( 0.0e-6, max_duration, pts ) # np.r_[np.linspace(0.0e-6,0.2e-6,pts/2), np.linspace(1.2e-6,5e-6,pts/2)] #m.params['repumping_time'] = np.r_[np.linspace(0.03e-6,0.5e-6,pts/4.), np.linspace(0.2e-6,5e-6,3.*pts/4.)] m.params['MW_repump_delay1'] = np.ones(pts) * 500e-9 m.params['MW_repump_delay2'] = np.ones(pts) * 2500e-9 m.params['Repump_multiplicity'] = np.ones(pts) * 1 # for the autoanalysis m.params['sweep_name'] = 'Repump duration (us)' m.params['sweep_pts'] = m.params['repumping_time'] / (1e-6) funcs.finish(m, debug=kw.get('debug', False))