Aplicaciones y ejemplos

Dr. Ricardo Méndez Fragoso $\mathbb{R}i\vec c \hbar$.

Ejemplo 1.

En las notas de la tarea de la página del curso, se encontró que el potencial que satisface la ecuación de Laplace $\nabla ^2 V = 0$ con condiciones a la frontera $V(0,y)=0$ y $V(x,0)=V(x,L_y)=V(L_x,y)=V_0$ se puede escribir como:

$$ V(x,y) = \frac{4V_0}{\pi} \sum ^{\infty} _{n=0} \frac{ \left\{ \sinh \left(\frac{2n+1}{L_y}\pi y\right) - \sinh \left( (2n+1)\pi \left(\tfrac{y}{L_y} -1 \right) \right) \right\} \sin\left(\frac{2n+1}{L_x}\pi x\right) + \sinh \left(\frac{2n+1}{L_x}\pi x\right) \sin\left(\frac{2n+1}{L_y}\pi y\right) }{(2n+1)\sinh \left((2n+1)\pi\right)} $$

Este potencial se encontró utilizando el principio de superposición para un potencial diferente de cero en cada una de las paredes a $V_0$. Para ilustrar el potencial anterior y el campo eléctrico que éste genera utilizaremos las siguientes bibliotecas:

In [1]:
from pylab import *
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
%config InlineBackend.figure_format = 'retina' # solo para pantallas de alta definicion

Con las siguientes funciones se puede generar el potencial anterior.

In [2]:
def V_xy( x , y , N_max=15):
    V = 0
    for i in range(N_max):
        V += ( ( sinh((2*i+1)*pi*y) - sinh((2*i+1)*pi*(y-1)) )*sin((2*i+1)*pi*x) + 
              sinh((2*i+1)*pi*x)*sin((2*i+1)*pi*y) ) / ( (2*i+1)*sinh((2*i+1)*pi) )
    return V*(4/pi)
In [5]:
def Potencial_3D(X,Y,Z):
    # comandos para graficar
    fig = figure(figsize=(10, 7))
    ax = fig.gca(projection='3d')
    surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.coolwarm,linewidth=0, antialiased=False)
    ax.set_zlim(0, 1.),ax.set_xlabel('Eje $x/L_x$'),ax.set_ylabel('Eje $y/L_y$'),ax.set_zlabel('$V(x,y) / V_0$')
    fig.colorbar(surf, shrink=0.5, aspect=7, cmap=plt.cm.coolwarm)
    ax.view_init(30,40)
    show()
In [6]:
x,y = linspace(0, 1, 200),linspace(0, 1, 200) 
X,Y = meshgrid(x, y)
Z = V_xy(X, Y,60)
Potencial_3D(X,Y,Z)

Las equipotenciales se generan con las siguientes líneas de código:

In [5]:
def equipotenciales(X,Y,Z):
    fig = plt.figure(figsize=(7, 7))
    niveles = arange(0.1,1,0.1)
    ax = fig.add_subplot(111)
    equipotenciales = ax.contour(X, Y, Z,niveles,cmap=cm.coolwarm,linewidths=2)
    ax.clabel(equipotenciales, fontsize=9, inline=1)
    title('Equipotenciales de $V(x,y) / V_0)$'),xlabel('Eje $x/L_x$'),ylabel('Eje $y/L_y$')
    ax.set_aspect('equal')
    show()
In [6]:
equipotenciales(X,Y,Z)

El campo eléctrico $\vec E$ que genera el potencial anterior se calcula de la siguiente manera:

In [7]:
def campo_E_V_xy_1(x,y,N_max=15):
    Ex,Ey = 0,0
    for i in range(N_max):
        Ex += ( ( sinh((2*i+1)*pi*y) - sinh((2*i+1)*pi*(y-1)) )*cos((2*i+1)*pi*x) + 
              cosh((2*i+1)*pi*x)*sin((2*i+1)*pi*y) ) / sinh((2*i+1)*pi) 
        Ey += ( ( cosh((2*i+1)*pi*y) - cosh((2*i+1)*pi*(y-1)) )*sin((2*i+1)*pi*x) + 
              sinh((2*i+1)*pi*x)*cos((2*i+1)*pi*y) ) / sinh((2*i+1)*pi) 
    return -4*Ex,-4*Ey

def graf_campo_E(x,y,Ex,Ey):
    fig = plt.figure(figsize=(7, 7))
    ax = fig.add_subplot(111)
    ax.streamplot(X, Y, Ex,Ey,density=[1, 1])
    title(r'Campo $\vec{E}$'),xlabel('Eje $x/L$'),ylabel('Eje $y/L$')
    xlim([0,1]),ylim([0,1])
    ax.set_aspect('equal')
    show()
In [8]:
Ex,Ey = campo_E_V_xy_1(X,Y,50)
graf_campo_E(X, Y, Ex,Ey)

Como se puede apreciar, el campo eléctrico, $\vec E$, es muy parecido al que se encuentra en el notebook de la Ecuación de Laplace en coordenadas cartesianas (parte 1).

Regresar a la página del curso

Se agradece el apoyo de los proyectos DGAPA-PAPIME:

  • PE 105017 durante el año 2020. Versión 1