# -*- coding: utf-8 -*- """ Editor de Spyder Este es un archivo temporal """ #!/usr/bin/env python """ Cálculo del campo magnético generado por dos bobinas sobre el eje de simetría. """ import numpy as np from scipy import * import matplotlib.pyplot as plt #%% Parámetros R = 4.9 ;"radio de las bobinas (en cm)" d = 3.0 ;"Separación entre las bobinas (en cm)" L1 = 11.3 ;"Longitud de la bobina 1 (en cm)" n1 = 1000.0 ;"Espiras por unidad de longitud para la bobina 1 (por metro)" L2 = 11.3 ;"Longitud de la bobina 2 (en cm)" n2 = 1000.0 ;"Espiras por unidad de longitud para la bobina 2 (por metro)" mu0 = 4*3.14*10**(-3) ;"mu0 en Gauss*m/A" #mu0 = 4*3.14*10**(-7) ;"mu0 en Tesla*m/A" #%% Función que calcula el campo magnético en función de la corriente y la posición en el eje z def B(I,z): "Campo en función de I (corriente) y z (posición en el eje z) sobre la sonda Hall" # Campo de la bobina 1 B1=0.5*I*n1*mu0*((L1 - z)/np.sqrt((z - L1)**2 + R**2) + z/np.sqrt((z)**2 + R**2)) # Campo de la bobina 2 B2=0.5*I*n2*mu0*((L1 + L2 + d - z)/np.sqrt((z - L1 - L2 - d)**2 + R**2) - (L1 + d - z)/np.sqrt((z - L1 - d)**2 + R**2)) # Campo total return B1 + B2 #%% Cálculo la intensidad del campo en todo el eje z y para una corriente fija # Defino el vector posición en el eje z (unidades: cm) z = linspace(0, L1 + d + L2, 1000) # Corriente (unidades: A) I=0.32 campoB = B(I,z) #%% Figura plt.figure() plt.plot(z,campoB,'b-',label='Campo B en el eje del solenoide (I = 320 mA)') plt.legend(loc='best') plt.xlabel('z (cm)') plt.ylabel('B (Gauss)') plt.show() #%% Valor que toma B para una corriente fija y una posición z fija print("Para I=320mA y z=12 cm, el campo B vale:", B(0.32,12),"Gauss")