예제 #1
0
b_cyl = np.zeros((len(a),2))
#b_bar = np.zeros((len(r),))
b_dip = np.zeros((len(r),3))
cnt = 0
startT = time.time()
for i in r:
#    b_bar[cnt] = modE.barMagnet(i)
#    b_cyl[cnt] = modC.calcB_cyl(np.array([i, 0]), np.pi/2)
    b_dip[cnt] = modE.calcB(np.array([i, 0, 0]), np.array([1, 0, 0]))    
    cnt += 1
print "time needed: ", time.time()-startT    
    
cnt = 0
for i in a:
    print "here! ", cnt
    b_cyl[cnt] = modC.calcB_cyl(np.array([r[0], 0]), i)        
    cnt += 1
    
#a = modC.calcB_cyl(np.array([r[0], 0]), np.pi/2)
    
plt.close('all')    
#plt.figure()
#plt.plot(r,b_bar,'r')    
#plt.title('bar Magnet')
plt.figure()
#plt.plot(r,b_cyl[:,0],'r',r,b_cyl[:,1],'g')    
plt.plot(a,b_cyl[:,0],'r',a,b_cyl[:,1],'g')    
plt.title('cyl formula')
plt.figure()
plt.plot(r,b_dip[:,0],'r',r,b_dip[:,1],'g',r,b_dip[:,2],'b')    
plt.title('dip formula')
b_cylA = np.zeros((len(a),2))
b_cyl1 = np.zeros((len(r),2))
pos1 = np.zeros((len(r),2))
b_cyl2 = np.zeros((len(r),2))
pos2 = np.zeros((len(r),2))
#b_bar = np.zeros((len(r),))
b_dip = np.zeros((len(r),3))
cnt = 0

pPos = np.zeros((len(r),2))

for i in r:
#    b_bar[cnt] = modE.barMagnet(i)
#     b_cyl1[cnt] = modC.calcB_cyl(np.array([0.06+l_mag/2, i]), np.pi*(0./2.))
#     b_cyl2[cnt] = modC.calcB_cyl(np.array([0.06, i]), np.pi*(-1./2.))
     b_cyl1[cnt] = modC.calcB_cyl(np.array([i, 0]), 0)*[1, -1]
     b_cyl2[cnt] = modC.calcB_cyl(np.array([0, i]), np.pi/2)*[1, -1]
#    b_cyl[cnt] = modC.calcBHand()
#    b_dip[cnt] = modE.calcB(np.array([-rr[cnt], 0, 0]), np.array([1, 0, 0]))  
#    pPos[cnt] = np.array([0, i])
     cnt += 1
  
print "b_cyl1[0]\n", b_cyl1[0]
print "b_cyl2[0]\n", b_cyl2[0]
    
cnt = 0
for i in a:
    b_cylA[cnt] = modC.calcB_cyl(np.array([r[0], 0]), i)        
    cnt += 1
    
#a = modC.calcB_cyl(np.array([r[0], 0]), np.pi/2)
start = 7.1
stopP = 2.0625
rPos = np.arange(stopP,start,((start-stopP)/len(dP)))[::-1]
stopN = 1.4528
rNeg = np.arange(stopN,start,((start-stopN)/len(dN)))[::-1]
tP = rPos
tN = rNeg
#tP = np.arange(0.03,0.07,(0.03/95))[::-1]
#tN = np.arange(0.04,0.07,(0.03/70))[::-1]
bP = np.zeros((len(tP),3))
bN = np.zeros((len(tN),3))

cnt = 0
for i in tP:
    bP[cnt] = modC.calcB_cyl(np.array([abs(i)*1e-2+(0.015/2),0.,0.]), 0.)
    cnt += 1
    
cnt = 0    
for i in tN:
    bN[cnt] = modC.calcB_cyl(np.array([abs(i)*1e-2+(0.015/2),0.,0.]), np.pi)
    cnt += 1    

dP += bP[0][0]-dP[0][0]  #0.0001602
dN += bN[0][0]-dN[0][0] #0.0001145

''' plotting only measured '''

plt.close('all')

#Direct input 
예제 #4
0
b_dip2 = np.zeros((len(r),3))    
b_dip3 = np.zeros((len(r),3))    
b_cyl0 = np.zeros((len(r),3))    
b_cyl1 = np.zeros((len(r),3))    
b_cyl2 = np.zeros((len(r),3))    
b_cyl3 = np.zeros((len(r),3))  

tmp = np.zeros((len(r),3))  
cnt = 0
for i in p_dip:
    b_dip0[cnt] = modD.calcB(i-(s0+zOff), h0)
    b_dip1[cnt] = modD.calcB(i-(s1+zOff), h0)
    b_dip2[cnt] = modD.calcB(i-(s2+zOff), h0)
    b_dip3[cnt] = modD.calcB(i-(s3+zOff), h0)
        
    b_cyl0[cnt] = modC.calcB_cyl(i-(s0+zOff), 0.)
    b_cyl1[cnt] = modC.calcB_cyl(i-(s1+zOff), 0.)
    b_cyl2[cnt] = modC.calcB_cyl(i-(s2+zOff), 0.)
    b_cyl3[cnt] = modC.calcB_cyl(i-(s3+zOff), 0.)
    
    tmp[cnt] = (i-(s0+zOff))
    
#    b_dip0[cnt] = modD.calcB(i, h0)
#    b_cyl0[cnt] = modC.calcB_cyl(i, 0.)
   
    
    cnt += 1
    
#plo.plotter2d((b_dip0, b_dip1, b_dip2, b_dip3), ("DIP 0", "1", "2", "3"), shareAxis=False)        
#plo.plotter2d((b_cyl0, b_cyl1, b_cyl2, b_cyl3), ("CYL 0", "1", "2", "3"))