Exemplo n.º 1
0
    atom = zs.Rb87()

    sim = np.load(filename)['simulation'][()]
    wire = sim['wire']
    setup = sim['setup']
    eta = sim['eta']
    v0 = sim['v0']
    vf = sim['vf']

    looppos, segments, layer = setup['looppos'], setup['segments'], setup['layer']

    print filename
    eta, v0, vf, detu, R = sim['eta'], sim['v0'], sim['vf'], sim['detu'], sim['R']
    sl = zs.slowerlength(atom.aslow, eta, v0, vf)
    z = np.array([0])
    bfield = zs.bideal(atom, z, eta, v0, vf, detu)
    z = np.append([-10*R], np.append(np.linspace(0, sl, 61), [sl+10*R]))
    ze = np.linspace(z[0], z[-1], 201)

    # print setup['csign']
    # bf = lo.fieldcalc(ze, setup)
    # # pl.plot(ze, bf)
    # pl.plot(ze[1:], np.diff(bf))

    series = 4
    ratio = 1

    setup['csign'] = [s*ratio if s < 0 else s for s in setup['csign']]
    # setup['csign'] = [s*ratio if s < 0 else s*ratio for s in setup['csign']]

    # Get the needed current to run the coils:
Exemplo n.º 2
0
import zeemanslower as zs
from layeroptimize import *

# Whether or not separate the images
separate = False
prefix = "test"

# This the testing data to get the B-field scaling
series = 12
filename = "%d_AWG1_5.npz" %(series)
sim = np.load(filename)['simulation'][()]
eta, v0, vf, detu, R = sim['eta'], sim['v0'], sim['vf'], sim['detu'], sim['R']
atom = zs.Rb87()
sl = zs.slowerlength(atom.aslow, eta, v0, vf)
z = np.array([0])
bfield = zs.bideal(atom, z, eta, v0, vf, detu)

# # This the testing data to get the B-field scaling
# series = 9
# filename = "%d_AWG18_5.npz" %(series)
# sim = np.load(filename)['simulation'][()]
# eta, v0, vf, detu = sim['eta'], sim['v0'], sim['vf'], sim['detu']
# atom = zs.K41()
# sl = zs.slowerlength(atom.aslow, eta, v0, vf)
# z = np.array([0])
# bfield = zs.bideal(atom, z, eta, v0, vf, detu)


def getdata(filename):
    # Change from 0-d array into dict
    sim = np.load(filename)['simulation'][()]
Exemplo n.º 3
0
import zeemanslower as zs

simfile = "19_AWG12Coat_10.npz"
sim = np.load(simfile)['simulation'][()]
atom = zs.Rb87()
wire = sim['wire']
setup = sim['setup']
eta = sim['eta']
v0 = sim['v0']
vf = sim['vf']
sl = zs.slowerlength(atom.aslow, eta, v0, vf)

looppos, segments, layer = setup['looppos'], setup['segments'], setup['layer']
eta, v0, vf, detu, R = sim['eta'], sim['v0'], sim['vf'], sim['detu'], sim['R']

bideal = zs.bideal(atom, 0, eta, v0, vf, detu)

z = np.append([-5.5*R], np.append(np.linspace(0, sl, 61), [sl+5.5*R]))
ze = np.linspace(z[0], z[-1], 201)
ze = np.linspace(0.4, z[-1], 201)

# for i, s in enumerate(segments):
#     print i, s, layer[i]

f1 = lo.fieldcalc(ze, setup)/lo.fieldcalc(0, setup)
pl.plot(ze, lo.fieldcalc(ze, setup)/lo.fieldcalc(0, setup), 'k-', linewidth=1)

print setup['segments']
segments[18] = [302, 302]
segments[19] = [302, 304]
segments[20] = [304, 304]
Exemplo n.º 4
0
fieldfile = "16_AWG12Coat_10.npz"
atom = zs.Rb87()

sim = np.load(fieldfile)['simulation'][()]
wire = sim['wire']
setup = sim['setup']
eta = sim['eta']
v0 = sim['v0']
vf = sim['vf']
looppos, segments, layer = setup['looppos'], setup['segments'], setup['layer']

eta, v0, vf, detu, R = sim['eta'], sim['v0'], sim['vf'], sim['detu'], sim['R']
sl = zs.slowerlength(atom.aslow, eta, v0, vf)
z = np.array([0])
bfield = zs.bideal(atom, z, eta, v0, vf, detu)
z = np.append([-10*R], np.append(np.linspace(0, sl, 61), [sl+10*R]))
ze = np.linspace(z[0], z[-1], 201)

ratio = 1
filename = 'trajectory01.npz'
simed = True
if simed:
    setup['csign'] = [s*ratio if s < 0 else s for s in setup['csign']]
    # Get the needed current to run the coils:
    bf = lo.fieldcalc(ze, setup)
    B0 = zs.bideal(atom, 0, eta, v0, vf, detu)
    I = B0[0] / lo.fieldcalc(0, setup)[0]
    print "Current:", I
    bf *= I
    field = lambda z: lo.fieldcalc(z, setup)*I
Exemplo n.º 5
0
if __name__ == "__main__":
    atom = zs.Rb87()
    
    v0 = 254
    vf = 30
    eta = 0.5
    # z0 = 0
    # vmin, vmax = 230, 270

    z0 = zs.slowerlength(atom.aslow, eta, v0, vf)
    z0 = 0.5683
    vmin, vmax = 3, 130


    detu = -175*1e6*2*np.pi
    B0 = zs.bideal(atom, [z0], eta, v0, vf, detu/(-2e6*np.pi))
    vrange = np.linspace(vmin, vmax, 50000)
    delta = atom.k*vrange + detu - zs.uprimehbar * B0
    s = eta/(1-eta)
    s = 2
    print s
    a = -zs.hbar*atom.k*atom.G/(2*atom.m) * s/(1 + s + 4*delta**2 / atom.G**2)
    dz = 0.001
    B = zs.bideal(atom, [z0], eta, v0, vf, detu/(-2e6*np.pi))
    dBdz = np.diff(zs.bideal(atom, [z0, z0+dz], eta, v0, vf, detu/(-2e6*np.pi)))/dz
    # dBdz = 0
    # dBdz = zs.hbar*atom.k*atom.G/(2*atom.m) * s/(1 + s)
    print B, dBdz
    ddeltaz = atom.k*a/vrange - zs.uprimehbar*dBdz
    # pl.plot(vrange, delta)
    i = np.argmin(ddeltaz)