#!/usr/bin/env python from scipy import * from numpy import trapz """ Cálculo del campo magnético generado por dos bobinas sobre el eje de simetría. """ # Parámetros a = 5.11 ;"radio de las bobinas (en cm)" b = 3.09 ;"Separación entre las bobinas (en cm)" z0 = 2.00 ;"Ancho de la sonda Hall (en cm)" L1 = 11.34 ;"Longitud de la bobina 1 (en cm)" n1 = 23.00 ;"Espiras por unidad de longitud para la bobina 1" L2 = 11.34 ;"Longitud de la bobina 2 (en cm)" n2 = 23.00 ;"Espiras por unidad de longitud para la bobina 2 (en cm)" mu0 = 4*pi*10**(-1) ;"mu0 en Gauss*cm/A" # Función para calcular el integrando def Itg(z): Itg = 1./((z0-z)**2 + a**2)**(3/2) return Itg # Función que calcula el campo en función de la corriente def B(I): "Campo en función de I (corriente) sobre la sonda Hall" # Convierto a I en un array I=conj(conj(I)) # Campo de la bobina 1 cte = mu0*n1*a**2/2 z1 = linspace(-b/2-L1,-b/2, 10001) B1 = I*cte*trapz(Itg(z1+b/2+L1),z1) # Campo de la bobina 2 cte = mu0*n1*a**2/2 z2 = linspace(b/2,b/2+L2, 10001) B2 = I*cte*trapz(Itg(z2-b/2),z2) # Campo total return B1 + B2 # Defino el vector corriente en A I=(0.800,0.700,0.600,0.500,0.400,0.300,0.200,0.100) # Cálculo la intensidad del campo para cada corriente en Gauss B(I)