Exemplo n.º 1
0
def SimpleDecoupling_swp_mw_amp(name,tau=None,N=None, mw_amps=np.arange(0.6,0.8,0.01),reps_per_ROsequence=1000, mbi = True):

    m = DD.SimpleDecoupling(name+'_tau_'+str(tau*1e9))


    funcs.prepare(m)
    #input parameters
    m.params['reps_per_ROsequence'] = reps_per_ROsequence

    pts = len(mw_amps)

    tau_list = tau*np.ones(pts)
    N_list = N*np.ones(pts)
        
    #inital and final pulse
    m.params['Initial_Pulse'] ='y'
    m.params['Final_Pulse'] ='-y' 
    #Method to construct the sequence
    m.params['Decoupling_sequence_scheme'] = 'repeating_T_elt' # repeating_T_elt
    
    m.params['pts'] = pts
    m.params['tau_list'] = tau_list
    m.params['Number_of_pulses'] = N_list
    m.params['sweep_pts'] = mw_amps
    m.params['do_general_sweep'] = 1
    m.params['general_sweep_name'] = 'Hermite_pi_length'
    m.params['general_sweep_pts'] = mw_amps
    m.params['sweep_name'] = 'Hermite_pi_length'
    m.autoconfig()


    m.params['DD_in_eigenstate'] = False

    funcs.finish(m, upload =True, debug=False)
def SimpleDecoupling_swp_tau(name,tau_min=9e-6,tau_max=10e-6,tau_step =50e-9, N =16, reps_per_ROsequence=250):

    m = DD.SimpleDecoupling(name+'_tau_'+str(tau_min*1e9))

    # print 'threshold =' + str(m.params['MBI_threshold'])
    # print 'pulse_shape = ' +str(m.params['pulse_shape'])
    # NOTE: ADDED from ElectronT1_Hermite on 23-04-2015
    m.params.from_dict(qt.exp_params['samples'][SAMPLE])
    m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO'])
    m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['AdwinSSRO'])
    m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['AdwinSSRO-integrated'])
    m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO+espin'])
    m.params.from_dict(qt.exp_params['protocols']['cr_mod'])
    m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['pulses'])

    funcs.prepare(m)

    if False: ### if you don't want to do MBI for this script.
        m.params['MBI_threshold'] = 0
        m.params['Ex_SP_amplitude'] = 0.
        m.params['Ex_MBI_amplitude'] = 0.
        m.params['SP_E_duration'] = 50 
        
        m.params['repump_after_MBI_A_amplitude'] = [12e-9] #20e-9
        m.params['repump_after_MBI_duration'] = [200] # 50  


    '''set experimental parameters'''
    m.params['reps_per_ROsequence'] = reps_per_ROsequence
    m.params['Initial_Pulse'] ='x'

    m.params['Final_Pulse'] ='-x'

    m.params['Decoupling_sequence_scheme'] = 'repeating_T_elt'
    # m.params['Decoupling_sequence_scheme'] = 'single_block'
    Number_of_pulses = N 
    tau_list = np.arange(tau_min,tau_max,tau_step) 
    print tau_list

    m.params['pts']              = len(tau_list)
    m.params['Number_of_pulses'] = Number_of_pulses*np.ones(m.params['pts']).astype(int)
    m.params['tau_list']         = tau_list
    m.params['sweep_pts']        = tau_list*1e6
    m.params['sweep_name']       = 'tau (us)'

    m.params['DD_in_eigenstate'] = False



    m.autoconfig()
    funcs.finish(m, upload = True, debug=False)
Exemplo n.º 3
0
def SimpleDecoupling_swp_N(name,
                           tau=None,
                           NoP=np.arange(4, 254, 4),
                           reps_per_ROsequence=1000,
                           mbi=True,
                           readout_pulse='-x'):

    m = DD.SimpleDecoupling(name + '_tau_' + str(tau * 1e9))

    funcs.prepare(m)
    #input parameters
    m.params['reps_per_ROsequence'] = reps_per_ROsequence
    Number_of_pulses = NoP

    pts = len(Number_of_pulses)

    if tau == None:
        tau = m.params['C3_Ren_tau'][0]
    tau_list = tau * np.ones(pts)
    print 'tau_list =' + str(tau_list)

    #inital and final pulse
    m.params['Initial_Pulse'] = 'x'
    m.params['Final_Pulse'] = readout_pulse
    #Method to construct the sequence
    m.params['Decoupling_sequence_scheme'] = 'repeating_T_elt'

    m.params['pts'] = pts
    m.params['tau_list'] = tau_list
    m.params['Number_of_pulses'] = Number_of_pulses
    m.params['sweep_pts'] = Number_of_pulses * tau_list * 1.e3
    print m.params['sweep_pts']
    m.params['sweep_name'] = 'Total evolution time [ms]'
    m.autoconfig()

    m.params['DD_in_eigenstate'] = False

    funcs.finish(m, upload=True, debug=False)
def SimpleDecoupling_swp_N(name,
                           tau=None,
                           NoP=np.arange(4, 254, 4),
                           reps_per_ROsequence=1000,
                           mbi=True):

    m = DD.SimpleDecoupling(name + '_tau_' + str(tau * 1e9))
    """
    ##### MODIFICATION FOR LT1 ######
    """
    # m.params.from_dict(qt.exp_params['samples'][SAMPLE])
    # m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO'])
    # m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['AdwinSSRO'])
    # m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['AdwinSSRO-integrated'])
    # # m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['AdwinSSRO+MBI'])
    # m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO+MBI'])
    # m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO+espin'])
    # m.params.from_dict(qt.exp_params['protocols']['cr_mod'])
    # m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['pulses'])

    # Default values when no MBI
    # # Default values when no MBI
    # if mbi == False:
    #     m.params['MBI_threshold'] = 0
    #     m.params['Ex_SP_amplitude'] = 0
    #     m.params['Ex_MBI_amplitude'] = 0
    #     m.params['SP_E_duration'] = 20 #2000

    #     m.params['repump_after_MBI_A_amplitude'] = [15e-9]
    #     m.params['repump_after_MBI_duration'] = [300] # 50
    # """
    # END MODIFICATIONS FOR LT1
    # """

    funcs.prepare(m)
    #input parameters
    m.params['reps_per_ROsequence'] = reps_per_ROsequence
    Number_of_pulses = NoP

    pts = len(Number_of_pulses)

    if tau == None:
        tau = m.params['C3_Ren_tau'][0]
    tau_list = tau * np.ones(pts)
    print 'tau_list =' + str(tau_list)

    #inital and final pulse
    m.params['Initial_Pulse'] = 'x'
    m.params['Final_Pulse'] = '-x'
    #Method to construct the sequence
    m.params['Decoupling_sequence_scheme'] = 'repeating_T_elt'

    m.params['pts'] = pts
    m.params['tau_list'] = tau_list
    m.params['Number_of_pulses'] = Number_of_pulses
    m.params['sweep_pts'] = Number_of_pulses
    print m.params['sweep_pts']
    m.params['sweep_name'] = 'Number of pulses'

    m.autoconfig()
    # ### MODIFICATION FOR LT1 ###
    # m.params['E_RO_durations'] = [m.params['SSRO_duration']]
    # m.params['E_RO_amplitudes'] = [m.params['Ex_RO_amplitude']]
    # ### END MODIFICATION FOR LT1 ###

    funcs.finish(m, upload=True, debug=False)