In [1]:
import numpy as np
import matplotlib.pyplot as plt
from ipywidgets import interact
%matplotlib inline
plt.style.use('classic')
In [2]:
Q = 1
a = 1
b = 2
r = np.linspace(0,3*b,1000)
def rhoi(a,b):
return 3*Q/(4*np.pi)/(b**3-a**3)
def rho(r,a,b):
return 0*(r<=a) + rhoi(a,b)*(r>a)*(r<b) + 0*(r>=b)
def Emax(b):
return Q/(4*np.pi*b**2)
def E(r,a,b):
return 0*(r<=a) + (Q*(r**3-a**3)/(4*np.pi*r**2*(b**3-a**3)))*(r>a)*(r<b) + (Q/(4*np.pi*r**2))*(r>=b)
def phi(r,a,b):
phi1 = 3*(b**2-a**2)/(2*(b**3-a**3))
phi2 = (-(2*a**3+r**3)/(2*r*(b**3-a**3)))+3*b**2/(2*(b**3-a**3))
return phi1*(r<=a) + phi2*(r>a)*(r<b) + (1/r)*(r>=b)
In [3]:
def grho(a=1,b=2):
plt.plot(r,rho(r,a,b), linewidth=2)
plt.xlabel('$r$', fontsize=15)
plt.title('Densidad $\\rho(r)$', fontsize=15)
plt.xticks([0,a,b],['$0$','$a$', '$b$'], fontsize=15)
plt.yticks([0,rhoi(a,b)],['$0$','$\\frac{Q}{4\\pi\\varepsilon_0}\\frac{3}{(b^3-a^3)}$'], fontsize=15)
plt.ylim(-0.2*rhoi(a,b),1.2*rhoi(a,b))
plt.grid(True)
plt.tight_layout()
#plt.savefig('fig-esfera-hueca-densidad.pdf')
In [4]:
def gE(a=1,b=2):
plt.plot(r,E(r,a,b), linewidth=2)
plt.xlabel('$r$', fontsize=15)
plt.title('Campo eléctrico $E(r)$', fontsize=15)
plt.xticks([0,a,b],['$0$','$a$', '$b$'], fontsize=15)
plt.yticks([0,Emax(b)],['$0$','$\\frac{Q}{4\\pi\\varepsilon_0 b^2}$'], fontsize=15)
plt.ylim(-0.2*Emax(b),1.2*Emax(b))
plt.grid(True)
plt.tight_layout()
#plt.savefig('fig-esfera-hueca-campo.pdf')
In [5]:
def gphi(a=1,b=2):
plt.plot(r,phi(r,a,b), linewidth=2)
plt.xlabel('$r$', fontsize=15)
plt.title('Potencial $\\phi(r)$', fontsize=15)
plt.xticks([0,a,b,2*b],['$0$','$a$', '$b$'], fontsize=15)
plt.yticks([0,phi(a/2,a,b)],['$0$','$\\frac{Q}{4\\pi\\varepsilon_0}\\frac{3(b^2-a^2)}{2(b^3-a^3)}$'], fontsize=15)
plt.ylim(-0.2*phi(a/2,a,b),1.2*phi(a/2,a,b))
plt.grid(True)
plt.tight_layout()
#plt.savefig('fig-esfera-hueca-potencial.pdf')
In [6]:
grho()
In [7]:
gE()
In [8]:
gphi()
In [ ]:
interact(grho, a=(0,5,0.1), b=(0,5,0.1))
In [ ]:
interact(gE, a=(0,5,0.1), b=(0,5,0.1))
In [ ]:
interact(gphi, a=(0,5,0.1), b=(0,5,0.1))