Potencial periódico

Consideremos el movimiento de una partícula en un potencial periódico de periodo l=a+b, formado por pozos de potencial de anchura a y profundidad V0 y barreras de potencial de anchura b.
La función de onda tiene la forma
Obtenemos la imagen de las funciones de onda considerando que u(x) se asemeja a la función de onda de los átomos aislados (de un pozo de potencial)

y reemplazando exp(iKx) por las funciones de onda de una partícula libre en una pozo infinito de potencial. Esto es lo que hemos observado al visualizar las funciones de onda de los primeros niveles de energía de un sistema de pozos de potencial.


Como el potencial es periódico con periodo l=a+b, suma de la anchura a del pozo y de la separación b entre pozos, se deberá cumplir que
u(x+l)=u(x)
Ambas expresiones constituyen el teorema de Bloch. De ambas, se deduce que
Sistema de pozos de potencial
En la página previa titulada Sistema de pozos de potencial, calculamos los niveles de energía y representamos las funciones de onda de un sistema de N pozos de potencial. En esta página, se estudia el caso en el que N es infinito
En la figura, se muestra las regiones I y II en las que vamos a obtener la solución de la ecuación de Schrödinger.

En la primera, 0≤x<a
En la segunda región, -b≤x<0
Escribiremos ahora las condiciones de continuidad de la función de onda y de su derivada primera en los puntos x=0, y x=a.
en x=0
en x=a, por el teorema de Bloch
Tenemos un sistema homogéneo de cuatro ecuaciones con cuatro incógnitas, el determinante de los coeficientes debe ser cero.
Despejamos C y D en las dos primeras ecuaciones y en las dos últimas
Obtenemos un sistema homogéneo de dos ecuaciones con dos incógnitas A y B
El determinante ha de ser cero
Realizando operaciones
Obtenemos la expresión
Las partes real e imaginaria de esta expresión son
El resultado es
Ya que el valor absoluto del coseno no puede ser mayor que la unidad, obtenemos así la condición impuesta a k y a q y por tanto, a la energía E.
Esta condición define las bandas de energía permitidas.
Representamos la función f(E) para a=2, b=1 y V0=5
Calculamos las raíces de las ecuaciones transcendentes, f(E)-1=0 y f(E)+1=0, señalamos las regiones (bandas de energía) en la que se cumple que -1≤f(E)≤+1
function pozos
a=2; %anchura del pozo
b=1; %separación entre pozos
H=5; %profundidad del pozo
ff=@(x) bandas(x)+1;
xb=buscar_intervalos(ff,0.1,H-0.1,20);
nb=size(xb);
E1=zeros(1,nb(1));
for m=1:nb(1)
E1(m)=fzero(ff,[xb(m,1) xb(m,2)]);
end
ff=@(x)bandas(x)-1;
xb=buscar_intervalos(ff,0.1,H-0.1,20);
nb=size(xb);
E2=zeros(1,nb(1));
for m=1:nb(1)
E2(m)=fzero(ff,[xb(m,1) xb(m,2)]);
end
E2=[E2,5];
disp(E1)
disp(E2)
hold on
for i=1:length(E1)
XX=[E1(i), E1(i), E2(i), E2(i)];
YY=[-1,1,1,-1];
fill(XX,YY,'yellow')
end
fplot(@(x) bandas(x), [0.7,10])
hold off
grid on
xlabel('E');
ylabel('f(E)')
title('Bandas de energía')
function res=bandas(E)
k=sqrt(E);
q=sqrt(H-E);
res=cos(k*a).*cosh(q*b)+(q.^2-k.^2).*sin(k*a).*sinh(q*b)./(2*q.*k);
end
function xb = buscar_intervalos(f,a,b,n)
x = a:(b-a)/n:b;
j = 0;
y1=f(x(1));
xb=[];
for i = 1:length(x)-1
y2=f(x(i+1));
if sign(y1) ~= sign(y2)
j = j + 1;
xb(j,1) = x(i);
xb(j,2) = x(i+1);
end
y1=y2;
end
if isempty(xb)
disp('no se han encontrado cambios de signo')
else
disp(['número de intervalos:' int2str(j)])
end
end
end

1.3246 3.5864
0.9876 5.0000
Cálculo de las bandas de energía
function res =kp(a, b, H, cte, E) k=sqrt(E); q=sqrt(H-E); res=cos(k*a)*cosh(q*b)+(q^2-k^2)/(2*q*k)*sin(k*a)*sinh(q*b)+cte; end
a=2; %anchura del pozo
b=1; %separación entre pozos
H=5.0; %profundidad del pozo
f=@(E) kp(a,b,H, -1.0, E);
xb=buscar_intervalos(f,0.1,H-0.1,10);
nb=size(xb);
for i=1:nb(1)
bandas(i)=fzero(f,[xb(i,1) xb(i,2)]);
end
f=@(E) kp(a,b,H, 1.0, E);
xb=buscar_intervalos(f,0.1,H-0.1,10);
nc=size(xb);
for i=1:nc(1)
bandas(i+nb(1))=fzero(f,[xb(i,1) xb(i,2)]);
end
bandas=sort(bandas); %ordena de menor a mayor
if rem(length(bandas),2)==1
bandas=[bandas H];
end
hold on
%representa las bandas de energía mediante rectángulos de color azul
for j=1:2:length(bandas)
xx=[3 3 4 4];
yy=[bandas(j), bandas(j+1), bandas(j+1), bandas(j)];
fill(xx,yy,'b')
text(4, bandas(j),num2str(bandas(j)),
'VerticalAlignment','top', 'HorizontalAlignment','right');
text(4, bandas(j+1),num2str(bandas(j+1)),
'VerticalAlignment','bottom', 'HorizontalAlignment','right');
end
.....
La función
Zonas de Brillouin
Puede observarse que la energía presenta una discontinuidad, para números de onda k múltiplos de π/l, donde l=a+b es el periodo de la red lineal. Estos valores representan fronteras entre zonas de Brillouin contiguas. Los intervalos de existencia de cada una de las zonas medidas en el eje vertical representan las bandas de energía, que se muestran como rectángulos de color azul en la parte derecha de la figura.
Completamos el código del script para representar las zonas de Brillouin
....
f=@(E) kp(a,b,H, 0.0, E);
for j=1:2:length(bandas)
E=bandas(j):0.01:bandas(j+1);
k=zeros(length(E));
k(1)=(j-1)/2;
for i=2:length(E)
y=f(E(i));
if(abs(y)<1)
angulo=acos(y);
if rem((j-1)/2,2)==1
k(i)=(j-1)/2+1-angulo/pi;
else
k(i)=(j-1)/2+angulo/pi;
end
end
end
plot(k,E,'r') %simetría
plot(-k,E,'r')
end
line([0,0],[0,H],'color','k')
hold off
xlabel('k')
ylabel('E')
title('Modelo de Kronig-Penney')

Aproximación, potenciales delta de Dirac
Partimos de la ecuación
Consideremos el caso en el que b→0 y V0→∞

cos(K(a+b))→cos(Ka)
q>>k
V0b es el producto de una cantidad grande por una cantidad pequeña, un número finito. qb es una cantidad pequeña. El resultado es
donde p es un parámetro
Sistema de potenciales delta de Dirac
Vamos a obtener un resultado similar analizando un sistema de infinitos potenciales delta de Dirac

Estudiaremos por separado los dos posibles casos
- Energías positivas, E>0
- Energías negativas, E<0
Sea E>0
En la primera, -a≤x<0
En la segunda región, 0≤x<a
El teorema de Bloch establece
Lo que implica que, cualquiera que sea el valor de x
Las funciones de onda en las dos regiones I y II son
La función de onda es continua en x=0
La derivada primera de la función de onda no es continua en x=0
Resolvemos el sistema homogéneo de dos ecuaciones con dos incógnitas A y B
El determinante tiene que ser cero
Obtenemos la expresión
Las partes real e imaginaria de esta expresión son
El resultado es
Ya que el valor absoluto del coseno no puede ser mayor que la unidad, obtenemos así la condición impuesta a k y por tanto, a la energía E.
Representamos la función f(E) para la separación a=1, parámetro α=2
Calculamos las raíces de las ecuaciones transcendentes, f(E)-1=0 y f(E)+1=0, señalamos las regiones (bandas de energía) en la que se cumple que -1≤f(E)≤+1
function delta_dirac_25
a=1;
alfa=2; %parámetro
ff=@(x) bandas(x)+1;
xb=buscar_intervalos(ff,0.1,37,20);
nb=size(xb);
E1=zeros(1,nb(1));
for m=1:nb(1)
E1(m)=fzero(ff,[xb(m,1) xb(m,2)]);
end
ff=@(x)bandas(x)-1;
xb=buscar_intervalos(ff,0.1,37,20);
nb=size(xb);
E2=zeros(1,nb(1));
for m=1:nb(1)
E2(m)=fzero(ff,[xb(m,1) xb(m,2)]);
end
E2=[0,E2];
disp(E1)
disp(E2)
hold on
for i=1:length(E1)
XX=[E1(i), E1(i), E2(i), E2(i)];
YY=[-1,1,1,-1];
fill(XX,YY,'yellow')
end
fplot(@(x) bandas(x), [0.1,37])
hold off
grid on
xlabel('E');
ylabel('f(E)')
title('Bandas de energía')
function res=bandas(E)
k=sqrt(E);
res=cos(k*a)-alfa*sin(k*a)./(2*k);
end
function xb = buscar_intervalos(f,a,b,n)
x = a:(b-a)/n:b;
j = 0;
y1=f(x(1));
xb=[];
for i = 1:length(x)-1
y2=f(x(i+1));
if sign(y1) ~= sign(y2)
j = j + 1;
xb(j,1) = x(i);
xb(j,2) = x(i+1);
end
y1=y2;
end
if isempty(xb)
disp('no se han encontrado cambios de signo')
else
disp(['número de intervalos:' int2str(j)])
end
end
end

5.4341 9.8696
0 35.4046
Sea E<0
La solución de la ecuación de Schrödinger para E<0
En la expresión del determinante, sustituimos ik por q
Obtenemos la expresión
Las partes real e imaginaria de esta expresión son
El resultado es
Ya que el valor absoluto del coseno no puede ser mayor que la unidad, obtenemos así la condición impuesta a q y por tanto, a la energía E.
Representamos la función f(E) para la separación a=1, parámetro α=1
Calculamos las raíces de las ecuaciones transcendentes, f(E)-1=0 y f(E)+1=0, señalamos las regiones (bandas de energía) en la que se cumple que -1≤f(E)≤+1
function delta_dirac_26
a=1;
alfa=2; %parámetro
ff=@(x) bandas(x)+1;
xb=buscar_intervalos(ff,-5,0.1,20);
nb=size(xb);
E1=zeros(1,nb(1));
for m=1:nb(1)
E1(m)=fzero(ff,[xb(m,1) xb(m,2)]);
end
ff=@(x)bandas(x)-1;
xb=buscar_intervalos(ff,-5,0.1,20);
nb=size(xb);
E2=zeros(1,nb(1));
for m=1:nb(1)
E2(m)=fzero(ff,[xb(m,1) xb(m,2)]);
end
E1=[E1,0];
disp(E1)
disp(E2)
hold on
for i=1:length(E1)
XX=[E1(i), E1(i), E2(i), E2(i)];
YY=[-1,1,1,-1];
fill(XX,YY,'yellow')
end
fplot(@(x) bandas(x), [-5,0.1])
hold off
grid on
xlabel('E');
ylabel('f(E)')
title('Bandas de energía')
function res=bandas(E)
k=sqrt(-E);
res=cosh(k*a)-alfa*sinh(k*a)./(2*k);
end
function xb = buscar_intervalos(f,a,b,n)
x = a:(b-a)/n:b;
j = 0;
y1=f(x(1));
xb=[];
for i = 1:length(x)-1
y2=f(x(i+1));
if sign(y1) ~= sign(y2)
j = j + 1;
xb(j,1) = x(i);
xb(j,2) = x(i+1);
end
y1=y2;
end
if isempty(xb)
disp('no se han encontrado cambios de signo')
else
disp(['número de intervalos:' int2str(j)])
end
end
end

0 -2.3821
Bandas de energía
Añadimos al script al final de la página titulada Sistema de potenciales delta de Dirac el código que calcula y representa las bandas de energía (en color negro) para un sistema de infinitos potenciales delta de Dirac cuyo parámetro α=2 y separación a=1
function delta_dirac_23
a=1;
alfa=2; %parámetro
for N=1:10 %número de potenciales delta
ff=@(x) niveles_sup(x); %para E>0
xb=buscar_intervalos(ff,0.1,14,50);
nb=size(xb);
ks=zeros(1,nb(1));
for m=1:nb(1)
ks(m)=fzero(ff,[xb(m,1) xb(m,2)]);
end
ff=@(x) niveles_inf(x); %para E<0
xb=buscar_intervalos(ff,0.1,14,50);
nb=size(xb);
ki=zeros(1,nb(1));
for m=1:nb(1)
ki(m)=fzero(ff,[xb(m,1) xb(m,2)]);
end
ff=@(x) bandas_inf(x); %para E>0
xb=buscar_intervalos(ff,0,16,50);
nb=size(xb);
bi=zeros(1,nb(1));
for m=1:nb(1)
bi(m)=fzero(ff,[xb(m,1) xb(m,2)]);
end
ff=@(x) bandas_sup(x); %para E>0
xb=buscar_intervalos(ff,0.1,16,50);
nb=size(xb);
bs=zeros(1,nb(1));
for m=1:nb(1)
bs(m)=fzero(ff,[xb(m,1) xb(m,2)]);
end
ff=@(x) bandas1_sup(x); %para E<0
xb=buscar_intervalos(ff,0,5,50);
nb=size(xb);
b1s=zeros(1,nb(1));
for m=1:nb(1)
b1s(m)=fzero(ff,[xb(m,1) xb(m,2)]);
end
ff=@(x) bandas1_inf(x); %para E<0
xb=buscar_intervalos(ff,0.1,5,50);
nb=size(xb);
b1i=zeros(1,nb(1));
for m=1:nb(1)
b1i(m)=fzero(ff,[xb(m,1) xb(m,2)]);
end
bn=sort([bi,bs]);
hold on
%niveles
for i=1:length(ks) %para E>0
line([N-0.4 N+0.4],[ks(i)^2, ks(i)^2], 'color','r')
end
for i=1:length(ki) %para E<0
line([N-0.4 N+0.4],[-ki(i)^2, -ki(i)^2], 'color','b')
end
end
%bandas
for i=1:2:length(bn)-1
XX=[N+1-0.4,N+1+0.4, N+1+0.4, N+1-0.4];
YY=[bn(i)^2, bn(i)^2, bn(i+1)^2, bn(i+1)^2];
fill(XX,YY,'k')
end
XX=[N+1-0.4,N+1+0.4, N+1+0.4, N+1-0.4];
YY=[ -b1s(1)^2, -b1s(1)^2, -b1s(2)^2, -b1s(2)^2];
fill(XX,YY,'k')
hold off
grid on
xlim([0,11])
%ylim([-4,37])
xlabel('N');
ylabel('E')
title('Atomo, molécula...sólido lineal')
function res=bandas_inf(k) %para E>0
res=k*cos(k*a)-alfa*sin(k*a)/2+k;
end
function res=bandas_sup(k)
res=k*cos(k*a)-alfa*sin(k*a)/2-k;
end
function res=bandas1_inf(k) %para E<0
res=k*cosh(k*a)-alfa*sinh(k*a)/2+k;
end
function res=bandas1_sup(k)
res=k*cosh(k*a)-alfa*sinh(k*a)/2-k;
end
function res=niveles_inf(k) %para E<0
T=eye(2);
for s=N:-1:1
M=[1,1; 1-alfa/k,-1-alfa/k];
MI=[exp(k*a),exp(k*a);exp(-k*a),-exp(-k*a)]/2;
T=(MI*M)*T;
end
res=T(1,1)+T(2,1)-(T(1,2)+T(2,2))*exp(-2*k*a);
end
function res=niveles_sup(k) %para E>0
T=eye(2);
for s=N:-1:1
M=[0,1; 1,alfa/k];
MI=[sin(k*a),cos(k*a);cos(k*a),-sin(k*a)];
T=(MI*M)*T;
end
res=T(2,1)*cos(k*a)-T(2,2)*sin(k*a);
end
function xb = buscar_intervalos(f,a,b,n)
x = a:(b-a)/n:b;
j = 0;
y1=f(x(1));
xb=[];
for i = 1:length(x)-1
y2=f(x(i+1));
if sign(y1) ~= sign(y2)
j = j + 1;
xb(j,1) = x(i);
xb(j,2) = x(i+1);
end
y1=y2;
end
if isempty(xb)
disp('no se han encontrado cambios de signo')
else
disp(['número de intervalos:' int2str(j)])
end
end
end

Ampliamos con Zoom in y Pan la gráfica para observar mejor las primeras bandas de energía, o añadimos al código la sentencia,

Referencias
Masatsugu Sei Suzuki. Kronig Penney model. 2018
Marcelo Alonso, Edward J. Finn. Física. Vol. III Fundamentos Cuánticos y Estadísticos. Fondo Educativo Interamericano. 1971, págs. 260-262
L. V. Tarasov. Basic Concepts of Quantum Mechanics. MIR Publishers Moscow. 1980. pp. 223-226