DyLab_3D_MOT/Coil_geometry/07_02_testing B_tot.py
schoener dc1e81ee2f Refactor B_multiple --> B_field
Update B_field function with raster function
2021-10-20 16:49:17 +02:00

115 lines
3.4 KiB
Python

# -*- coding: utf-8 -*-
"""
Created on Mon Aug 23 17:40:37 2021
@author: Joschka
"""
import matplotlib.pyplot as plt
import numpy as np
#from src import B_field_calculation as bf
from src import coil_class as BC
from IPython import get_ipython
get_ipython().run_line_magic('matplotlib', 'qt')
#get_ipython().run_line_magic('matplotlib', 'inline')
#set up axis
axis = 30001 #30001 for -15 to 15 = 1μm
x = np.linspace(-15, 15, axis)
z = np.linspace(-15, 15, axis)
#New coil
I_current = 5
HH_Coil = BC.BCoil(HH = 1, distance = 54 ,radius = 48 , layers = 4, windings = 4, wire_height = 1, wire_width = 1, windings_spacing=0.25, layers_spacing = 0.25)
HH_Coil.set_R_outer(49.3)
HH_Coil.set_d_min(49.8)
HH_Coil.print_info()
#Bz, Bx = HH_Coil.B_field(I_current,x,z,raster = 10)
B_tot_z, B_tot_x = HH_Coil.B_tot_along_axis(I_current, x, z,raster = 8)
Bz_curv = BC.BCoil.curv(B_tot_z, z)
Bx_curv = BC.BCoil.curv(B_tot_x, x)
HH_Coil.cooling(I_current,25)
B_0 = B_tot_z[axis//2]
print(f"B_tot(0,0) = {B_0} G")
print(f"B_tot_x = {B_tot_x[15000]}")
print(f"B_z_curvature(0) = {Bz_curv[axis//2]:.5f} G/cm^2")
print(f"B_x_curvature(0) = {Bx_curv[axis//2]:.5f} G/cm^2")
print("")
print("Differences along z-axis:")
print(f"B_tot_z(1 μm) = {B_tot_z[15001]}")
print(f"B_tot_z(1 mm) = {B_tot_z[16000]}")
print(f"Diff B 1 μm: {B_tot_z[15001] - B_0}, relative: {(B_tot_z[15001] - B_0)/B_0}")
print(f"Diff B 1 mm: {B_tot_z[16000] - B_0}, relative: {(B_tot_z[16000] - B_0)/B_0}")
print(f"Diff B 0.5 mm: {B_tot_z[15500] - B_0}, relative: {(B_tot_z[15500] - B_0)/B_0}")
print(" ")
print("Differences along x-axis:")
print(f"B_tot_x(1 μm) = {B_tot_x[15001]}")
print(f"B_tot_x(1 mm) = {B_tot_x[16000]}")
print(f"Diff B 1 μm: {B_tot_x[15001] - B_0}, relative: {(B_tot_x[15001] - B_0)/B_0}")
print(f"Diff B 1 mm: {B_tot_x[16000] - B_0}, relative: {(B_tot_x[16000] - B_0)/B_0}")
print(f"Diff B 0.5 mm: {B_tot_x[15500] - B_0}, relative: {(B_tot_x[15500] - B_0)/B_0}")
plt.figure(300)
#Field plot
##########################
plt.subplot(2,1,1)
#plt.plot(z,B_totz,linestyle = "solid", label = r"$B_z along z-axis")
#plt.plot(x,Bx,label = "B_x along x")
plt.plot(z,B_tot_z, label = "New B_tot along z-axis")
plt.plot(x,B_tot_x, label = "B_tot along x-axis")
#plt.plot(z,B_z_comp,linestyle = "solid", label = r"$B_{z,1}$, d = 54 mm, R = 48.8 mm, I = 5 A, 4 x 4")
#plt.plot(z,B_tot,linestyle = "solid", label = r"$B_{z,1} + B_{z,2}$")
#plt.xlim(-0.01,0.01)
plt.title("B-field" )
plt.ylabel(r"$B_z$ [G]")
plt.xlabel("z-axis [mm]")
plt.legend()#bbox_to_anchor=(1.05, 1), loc='upper left')
plt.subplot(2,1,2)
plt.plot(z,Bz_curv,linestyle = "solid", label = r"$\nabla_z^2 B_{ref}$, d = 44 mm, R = 44 mm")
plt.plot(x,Bx_curv,label = "B_x_curv")
#plt.plot(z,B_z_comp_curv,linestyle = "solid", label = r"$\nabla_z^2 B_{z,1}$, d = 54 mm, R = 48.8 mm, I = 5 A")
#plt.plot(z,B_tot_curv,linestyle = "solid", label = r"$\nabla_z^2 B_{z,1} + B_{z,2}$")
plt.ylabel(r"$\nabla_z^2 B_z [G/cm^2]$")
plt.xlabel("z-axis [mm]")#plt.xlim(-10,10)
plt.title("Curvature of B-field")
plt.legend()#bbox_to_anchor=(1.05, 1), loc='upper left')
#plt.savefig("output/first_compensation_idea.png")
plt.show()
"""
AHH ############################################################################
###############################################################################
###############################################################################
"""