Ejemplo n.º 1
0
def loadOneDotPinchvalues(od, outputdir, verbose=1):
    """ Load the pinch-off values for a one-dot

    Arguments
    ---------
        od : dict
            one-dot structure
        outputdir : string
            location of the data

    """
    print('analyse data for 1-dot: %s' % od['name'])
    gg = od['gates']
    pv = np.zeros((3, 1))
    for ii, g in enumerate(gg):
        basename = pinchoffFilename(g, od=None)

        pfile = os.path.join(outputdir, 'one_dot', basename)
        alldata, _ = loadDataset(pfile)
        if alldata is None:
            raise Exception('could not load file %s' % pfile)
        adata = analyseGateSweep(alldata,
                                 fig=None,
                                 minthr=None,
                                 maxthr=None,
                                 verbose=1)
        if verbose:
            print('loadOneDotPinchvalues: pinchvalue for gate %s: %.1f' %
                  (g, adata['pinchoff_point']))
        pv[ii] = adata['pinchoff_point']
    od['pinchvalues'] = pv
    return od
Ejemplo n.º 2
0
 def test_analyseGateSweep(self, fig=None, verbose=0):
     x = np.arange(-800, 0, 1)  # mV
     y = logistic(x, x0=-400, alpha=.05)
     data_set = makeDataSet1Dplain('plunger', x, 'current', y)
     result = analyseGateSweep(data_set, fig=fig, verbose=verbose)
     self.assertAlmostEqual(result['_pinchvalueX'], -450.0)
     self.assertAlmostEqual(result['lowvalue'], 9.445888759986548e-18, 6)
     self.assertAlmostEqual(result['highvalue'], 0.9999999999999998, 6)
     self.assertAlmostEqual(result['midvalue'], 0.29999999999999993, 6)
     self.assertEqual(result['type'], 'gatesweep')
     if fig:
         plot_pinchoff(result, ds=data_set, fig=fig)
     plt.close('all')
Ejemplo n.º 3
0
scanjob.add_sweep(param_right,
                  start=start,
                  end=start + 400,
                  step=4.,
                  wait_time=0.)
scanjob.add_sweep(param_left, start=start, end=start + 400, step=5)
scanjob.add_minstrument(['keithley1.amplitude'])
data = qtt.measurements.scans.scan2D(station, scanjob)

gates.set(param_right, -300)
gates.set(param_left, -300)
gv = gates.allvalues()

#%% Fit 1D pinch-off scan:

adata = analyseGateSweep(data1d, fig=100)

#%% Fit 2D cross
try:
    from projects.autotune4dot.autotuning import analyse2dot
    qtt.measurements.scans.plotData(data, fig=30)

    pt, resultsfine = analyse2dot(data, fig=300, efig=400, istep=1, verbose=2)
except:
    pass

#%% Make virtual gates
np.set_printoptions(precision=2, suppress=True)

crosscap_map = OrderedDict(
    (('VP1', OrderedDict((('P1', 1), ('P2', 0.56), ('P3', 0.15)))),