El átomo de hidrógeno en una dimensión

El potencial truncado es

V(x)={ V 0 a 0 δ | x | ,| x | a 0 δ V 0 ,| x |< a 0 δ

cuya representación gráfica es

f=@(x) -1./abs(x); 
hold on
fplot(f,[0.5,10],'r')
fplot(f,[-10,-0.5],'r')
line([-0.5,0.5],[-2,-2],'color','r')
hold off
axis off

Donde a 0 = 4π ε 0 2 m e 2 , es el radio de Bohr, m es la masa del electrón, e es su carga, δ es un parámetro positivo y V 0 = e 2 4π ε 0 a 0 δ

En la región I, |x|<a0δ, la ecuación de Schrödinger es

2 2m d 2 ψ d x 2 V 0 ψ(x)=Eψ(x) d 2 ψ d x 2 + q 2 ψ(x)=0, q 2 = 2m 2 ( E+ V 0 )

La solución de esta ecuación diferencial es conocida

ψ I (x)= A 1 cos(qx)+ B 1 sin(qx)

En la región II, |x|≥a0δ, la ecuación de Schrödinger es

2 2m d 2 ψ d x 2 e 2 4π ε 0 | x | ψ(x)=Eψ(x)

Definimos el parámetro β tal que

E= 2 2m a 0 2 β ,y= x a 0 β q= 1 a 0 2 δ 1 β 2

La ecuación de Schrödinger se convierte en

d 2 ψ d y 2 + 2β | y | ψ(y)ψ(y)=0

Hacemos el cambio de variable

ψ(y)=y e y f(y) dψ(y) dy = e y ( 1y )f(y)+y e y df(y) dy d 2 ψ(y) d y 2 = e y ( 2+y )f(y)+2 e y ( 1y ) df(y) dy +y e y d 2 f(y) d y 2

Obtenemos la ecuación diferencial, válida para y≥0

y d 2 f d y 2 +2( 1y ) df dy +2( β y | y | 1 )f=0 y d 2 f d y 2 +2( 1y ) df dy 2( 1β )f=0,y0

Llamando z=2y

z d 2 f d z 2 +( 2z ) df dz ( 1β )f=0

Esta ecuación diferencial es de un tipo, cuya solución es conocida

z d 2 w d z 2 +( bz ) dw dz aw=0 w(z)= A 2 M(a,b;z)+ B 2 U(a,b;z),{ a=1β b=2

Deshacemos los cambios de variable

f(y)= A 2 M( 1β,2;2y )+ B 2 U( 1β,2;2y ) ψ(y)=y e y ( A 2 M( 1β,2;2y )+ B 2 U( 1β,2;2y ) ) ψ II (x)= x a 0 β exp( x a 0 β )( A 2 M( 1β,2; 2x a 0 β )+ B 2 U( 1β,2; 2x a 0 β ) )

Para que ψ(x) sea finito (tienda a cero) cuando x→∞, entonces A2=0

ψ II (x)= B 2 x a 0 β exp( x a 0 β )U( 1β,2; 2x a 0 β )

U(a,b,z), es la función hipergeométrica confluente de Kummer

La solución simétrica, ψ(-x)=ψ(x)

La función de onda en las regiones I y II es

ψ(x)={ A 1 cos( qx ),x< a 0 δ B 2 x a 0 β exp( x a 0 β )U( 1β,2; 2x a 0 β ),x a 0 δ

Teniendo en cuenta que

d dz U(a,b;z)=aU(a+1,b+1;z),z=2y d dy U(1β,2;2y)=2( 1β )U(2β,3;2y),y= x a 0 β d dx U( 1β,2; 2x a 0 β )= 2( 1β ) a 0 β U( 2β,3; 2x a 0 β )

La condición de continuidad de la función de onda y de la derivada primera en x=a0δ se expresa

{ A 1 cos( q a 0 δ )= B 2 δ β exp( δ β )U( 1β,2; 2δ β ) A 1 qsin( q a 0 δ )= B 2 a 0 β exp( δ β ){ ( 1 δ β )U( 1β,2; 2δ β )2( 1β ) a 0 δ a 0 β U( 2β,3; 2δ β ) }

Dividiendo la segunda entre la primera, obtenemos una ecuación trascendente, cuyas raíces nos dan los valores de β, o los niveles de energía En

q a 0 δtan( q a 0 δ )=1 δ β 2( 1β ) δ β U( 2β,3; 2δ β ) U( 1β,2; 2δ β ) ,q a 0 = 2 δ 1 β 2

Calculamos los valores de β para δ=10-3

function hipergeometrica_6   
    delta=1e-3;
    f=@(x) delta*sqrt(2/delta-1./x.^2).*tan(sqrt(2/delta-1./x.^2)*delta)+
(1-delta./x)-2*delta*(1-x).*kummerU(2-x,3,2*delta./x)./
(x.*kummerU(1-x,2,2*delta./x));
    x=linspace(0,4,50);
    rPar=raices(f,x);
    disp(rPar)
    hold on
    fplot(f,[0,3.5])
    for j=1:length(rPar)
          plot(rPar(j),0, 'ro','markersize',3,'markerfacecolor','r')
    end
    hold off
    grid on
    ylim([-3,3])
    xlabel('x/a_0')
    ylabel('f(x)')
    title('Raíces de la ecuación transcendente')

     function r = raices(f, x)
        y=f(x);
        indices=find(y(1:end-1).*y(2:end)<0);
        r=zeros(1,length(indices));
        for k=1:length(indices)
            r(k)=fzero(f, [x(indices(k)), x(indices(k)+1)]);
        end
     end
end
0.1085    1.0020    1.1510    2.0020    2.1519    3.0020    3.1521

Representamos las raíces mediante puntos de color rojo

Las raíces 1.0020, 2.0020 y 3.0020 no corresponden a esta simetría. Como ya hemos visto en otros ejemplos, la forma de la función f(x)=0, no es la adecuada para calcular las raíces de una ecuación transcendente. La transformamos en

{ ( βδ )U( 1β,2; 2δ β )2δ( 1β )U( 2β,3; 2δ β ) }cos( q a 0 δ )+βq a 0 δsin( q a 0 δ )U( 1β,2; 2δ β )=0

function hipergeometrica_7   
    delta=1e-3;
    x=linspace(0,4,50);
    rPar=raices(@par,x);
    disp(rPar)
    hold on
    fplot(@par,[0,3.5])
    for j=1:length(rPar)
          plot(rPar(j),0, 'ro','markersize',3,'markerfacecolor','r')
    end
    hold off
    grid on
    ylim([-10,10])
    xlabel('x/a_0')
    ylabel('f(x)')
    title('Raíces de la ecuación transcendente')

    function res=par(x)
         q=sqrt(2/delta-1./x.^2);
         u_2=kummerU(1-x,2,2*delta./x);
         u_3=kummerU(2-x,3,2*delta./x);
        res=((x-delta).*u_2-2*delta*(1-x).*u_3).*cos(q*delta)+delta*(x.*u_2).
*(q.*sin(q*delta));
     end


     function r = raices(f, x)
        y=f(x);
        indices=find(y(1:end-1).*y(2:end)<0);
        r=zeros(1,length(indices));
        for k=1:length(indices)
            r(k)=fzero(f, [x(indices(k)), x(indices(k)+1)]);
        end
     end
end
 0.1085    1.1510    2.1519    3.1521

Representamos las raíces mediante puntos de color rojo

Cuando δ disminuye por ejemplo, δ=10-5, la función f(x) es casi tangente al eje X cerca del origen, por este motivo, ya no se obtiene la primera raíz, x/a0≈0

Funciones de onda

ψ(x)={ A 1 cos( qx ),x< a 0 δ B 2 x a 0 β exp( x a 0 β )U( 1β,2; 2x a 0 β ),x a 0 δ A 1 cos( q a 0 δ )= B 2 δ β exp( δ β )U( 1β,2; 2δ β )

La última expresión relaciona los coeficientes A1 y B2

Por razones de simetría, se deberá cumplir que

0 | ψ(x) | 2 dx= 1 2

Lo que nos permite determinar A1

A 1 2 0 a 0 δ cos 2 ( qx )dx+ B 2 2 ( a 0 β ) 2 a 0 δ x 2 exp( 2x a 0 β ) U 2 ( 1β,2; 2x a 0 β ) dx= 1 2

Haciendo el cambio de variable, z=x/(a0δ)

A 1 2 a 0 δ{ 0 1 cos 2 ( q a 0 δz )dz+ cos 2 ( q a 0 δ ) exp( 2δ β ) U 2 ( 1β,2; 2δ β ) 1 z 2 exp( 2δ β z ) U 2 ( 1β,2; 2δ β z ) dz }= 1 2 A 1 2 a 0 δ{ 1 2 ( 1+ sin( 2q a 0 δ ) 2q a 0 δ )+ cos 2 ( q a 0 δ ) exp( 2δ β ) U 2 ( 1β,2; 2δ β ) 1 z 2 exp( 2δ β z ) U 2 ( 1β,2; 2δ β z ) dz }= 1 2

Despejamos A1 y calculamos B2

Representamos la función de onda del estado fundamental, β=0.1085, para δ=10-3. Comprobamos que la función de onda es continua para x/a0=10-3

beta=0.1085;
 delta=1e-3;
 f=@(x) x.*exp(-x*delta/beta).*kummerU(1-beta,2,2*delta*x/beta);
 g=@(x) f(x).^2;
 area1=integral(g,1,20);
 q=sqrt(2/delta-1/beta^2);
 area=(1+sin(2*q*delta)/(2*q*delta))/2+cos(q*delta)^2*area1/(exp(-2*delta/beta)*
kummerU(1-beta,2,2*delta/beta)^2);
 A1=sqrt(0.5/(delta*area));
 B2=A1*cos(q*delta)*beta/(delta*exp(-delta/beta)*kummerU(1-beta,2,2*delta/beta));
 hold on
 f1=@(x) A1*cos(q*x);
 fplot(f1 ,[0,delta])
 f2=@(x) B2*(x.*exp(-x/beta)).*kummerU(1-beta,2,2*x/beta)/beta;
 fplot(f2 ,[delta, 0.5])
 hold off
 grid on
 xlabel('x/a_0')
 xlim([0,5*delta])
 ylabel('\Psi(x)')
 title('Funciones de onda')

Representamos la función de onda hasta x/a0=0.5, anulando la sentencia xlim([0,5*delta])

Representamos las funciones de onda para los niveles, β=1.1510, 2.1519, 3.1521, calculados para δ=10-3.

 delta=1e-3;
 for beta=[1.1510,2.1519,3.1521]
     f=@(x) x.*exp(-x*delta/beta).*kummerU(1-beta,2,2*delta*x/beta);
     g=@(x) f(x).^2;
     area1=integral(g,1,20);
     q=sqrt(2/delta-1/beta^2);
     area=(1+sin(2*q*delta)/(2*q*delta))/2+cos(q*delta)^2*area1/(exp(-2*delta/beta)
*kummerU(1-beta,2,2*delta/beta)^2);
     A1=sqrt(0.5/(delta*area));
     B2=A1*cos(q*delta)*beta/(delta*exp(-delta/beta)*kummerU(1-beta,2,2*delta/beta));
     hold on
     f1=@(x) A1*cos(q*x);
     fplot(f1 ,[0,delta])
     f2=@(x) B2*(x.*exp(-x/beta)).*kummerU(1-beta,2,2*x/beta)/beta;
     fplot(f2, [delta, 25])
 end
 hold off
 grid on
 xlabel('x/a_0')
 ylabel('\Psi(x)')
 title('Funciones de onda')

La solución antisimétrica, ψ(-x)=-ψ(x)

La función de onda en las regiones I y II es

ψ(x)={ B 1 sin( qx ),x< a 0 δ B 2 x a 0 β exp( x a 0 β )U( 1β,2; 2x a 0 β ),x a 0 δ

La condición de continuidad de la función de onda y de la derivada primera en x=a0δ se expresa

{ B 1 sin( q a 0 δ )= B 2 δ β exp( δ β )U( 1β,2; 2δ β ) B 1 qcos( q a 0 δ )= B 2 a 0 β exp( δ β ){ ( 1 δ β )U( 1β,2; 2δ β )2( 1β ) a 0 δ a 0 β U( 2β,3; 2δ β ) }

Dividiendo la segunda entre la primera, obtenemos una ecuación trascendente, cuyas raíces nos dan los valores de β, o los niveles de energía En

q a 0 δ tan( q a 0 δ ) =1 δ β 2( 1β ) δ β U( 2β,3; 2δ β ) U( 1β,2; 2δ β ) ,q a 0 = 2 δ 1 β 2

que transformamos para realizar el cálculo numérico de forma adecuada

q a 0 δβcos( q a 0 δ )U( 1β,2; 2δ β )cos( q a 0 δ ){ ( βδ )U( 1β,2; 2δ β )2δ( 1β )U( 2β,3; 2δ β ) }

Calculamos los valores de β para δ=10-3

function hipergeometrica_9   
    delta=1e-3;
    x=linspace(0,4.5,50);
    rImpar=raices(@impar,x);
    disp(rImpar)
    hold on
    fplot(@impar,[0,4.5])
    for j=1:length(rImpar)
          plot(rImpar(j),0, 'bo','markersize',3,'markerfacecolor','b')
    end
    hold off
    grid on
    ylim([-300,300])
    xlabel('x/a_0')
    ylabel('f(x)')
    title('Raíces de la ecuación transcendente')

     function res=impar(x)
         q=sqrt(2/delta-1./x.^2);
         u_2=kummerU(1-x,2,2*delta./x);
         u_3=kummerU(2-x,3,2*delta./x);
        res=((x-delta).*u_2-2*delta*(1-x).*u_3).*sin(q*delta)-delta*(x.*u_2).
*(q.*cos(q*delta));
     end

    function r = raices(f, x)
        y=f(x);
        indices=find(y(1:end-1).*y(2:end)<0);
        r=zeros(1,length(indices));
        for k=1:length(indices)
            r(k)=fzero(f, [x(indices(k)), x(indices(k)+1)]);
        end
     end
end
   1.0000    2.0000    3.0000    4.0000

Representamos las raíces mediante puntos de color azul

Funciones de onda

ψ(x)={ B 1 sin( qx ),x< a 0 δ B 2 x a 0 β exp( x a 0 β )U( 1β,2; 2x a 0 β ),x a 0 δ B 1 sin( q a 0 δ )= B 2 δ β exp( δ β )U( 1β,2; 2δ β )

La última expresión relaciona los coeficientes B1 y B2

Por razones de simetría se deberá cumplir que

0 | ψ(x) | 2 dx= 1 2

Lo que nos permite determinar B1

B 1 2 0 a 0 δ sin 2 ( qx )dx+ B 2 2 ( a 0 β ) 2 a 0 δ x 2 exp( 2x a 0 β ) U 2 ( 1β,2; 2x a 0 β ) dx= 1 2

Haciendo el cambio de variable, z=x/(a0δ)

B 1 2 a 0 δ{ 1 2 ( 1 sin( 2q a 0 δ ) 2q a 0 δ )+ sin 2 ( q a 0 δ ) exp( 2δ β ) U 2 ( 1β,2; 2δ β ) 1 z 2 exp( 2δ β z ) U 2 ( 1β,2; 2δ β z ) dz }= 1 2

Despejamos B1 y calculamos B2

Representamos las funciones de onda para los niveles β=1.0000, 2.0000, 3.0000, que hemos calculado para δ=10-3. Comprobamos que la función de onda es continua para x/a0=10-3

delta=1e-3;
 for beta=[1.0,2.0,3.0]
     f=@(x) x.*exp(-x*delta/beta).*kummerU(1-beta,2,2*delta*x/beta);
     g=@(x) f(x).^2;
     area1=integral(g,1,20);
     q=sqrt(2/delta-1/beta^2);
     area=(1-sin(2*q*delta)/(2*q*delta))/2+sin(q*delta)^2*area1/(exp(-2*delta/beta)
*kummerU(1-beta,2,2*delta/beta)^2);
     B1=sqrt(0.5/(delta*area));
     B2=B1*sin(q*delta)*beta/(delta*exp(-delta/beta)*kummerU(1-beta,2,2*delta/beta));
     hold on
     f1=@(x) B1*sin(q*x);
     fplot(f1 ,[0,delta])
     f2=@(x) B2*(x.*exp(-x/beta)).*kummerU(1-beta,2,2*x/beta)/beta;
     fplot(f2, [delta, 25])
 end
 hold off
 grid on
 xlabel('x/a_0')
 xlim([0,3*delta])
 ylabel('\Psi(x)')
 title('Funciones de onda')

Representamos la función de onda hasta x/a0=25, anulando la sentencia xlim([0,3*delta])

Niveles de energía

Reprentamos los niveles de energía β en función de 1/ln(1/δ) para δ=10-2, 10-3, 10-4, 10-5, 10-6 y 10-7

function hypergeometrica_3
    x=linspace(0,5,60);
    hold on
    for k=2:7 
        delta=1/10^k;
         rPar=raices(@par, x);
        rImpar=raices(@impar, x);
        for j=1:length(rPar)
           plot(1/log(1/delta),rPar(j),'ro','markersize',3,'markerfacecolor','r')
        end
        for j=1:length(rImpar)
           plot(1/log(1/delta),rImpar(j),'bo','markersize',3,'markerfacecolor','b')
        end
    end
    hold off
    xlabel('1/ln(1/\delta)')
    ylabel('\beta')
    title('Niveles de energía')
    grid on 
    
    function res=par(x)
         q=sqrt(2/delta-1./x.^2);
         u_2=kummerU(1-x,2,2*delta./x);
         u_3=kummerU(2-x,3,2*delta./x);
        res=((x-delta).*u_2-2*delta*(1-x).*u_3).*cos(q*delta)+delta*(x.*u_2).
*(q.*sin(q*delta));
     end
     function res=impar(x)
         q=sqrt(2/delta-1./x.^2);
         u_2=kummerU(1-x,2,2*delta./x);
         u_3=kummerU(2-x,3,2*delta./x);
        res=((x-delta).*u_2-2*delta*(1-x).*u_3).*sin(q*delta)-delta*(x.*u_2).
*(q.*cos(q*delta));
     end

     function r = raices(f, x)
        y=f(x);
        indices=find(y(1:end-1).*y(2:end)<0);
        r=zeros(1,length(indices));
        for k=1:length(indices)
            r(k)=fzero(f, [x(indices(k)), x(indices(k)+1)]);
        end
     end
 end

En la tabla se recogen los valores numéricos de los puntos de la gráfica para distintos valores de δ

10-210-310-410-510-610-7
0.17290.1085????
1.00011.00001.00001.00001.00001.0000
1.22001.15101.11361.09071.07531.0643
2.00012.00002.00002.00002.00002.0000
2.22152.15192.11422.09102.07552.0645
3.00013.00003.00003.00003.00003.0000
3.22193.15213.11433.09113.07563.0645
4.00014.00004.00004.00004.00004.0000
4.22204.15224.11434.09114.07564.0646

El símbolo ? indica que no se ha podido calcular el nivel de energía

Referencias

Rufus Boyack, Frank Marsiglio. The bound-state solutions of the one-dimensional hydrogen atom. Am. J. Phys. 89 (4), April 2021, pp. 418-425