El átomo de hidrógeno en una dimensión
El potencial truncado es
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 , es el radio de Bohr, m es la masa del electrón, e es su carga, δ es un parámetro positivo y
En la región I, |x|<a0δ, la ecuación de Schrödinger es
La solución de esta ecuación diferencial es conocida
Las solución simétrica ψ(-x)=ψ(x), se obtiene cuando B1=0
Las solución antisimétrica ψ(-x)=-ψ(x), se obtiene cuando A1=0
En la región II, |x|≥a0δ, la ecuación de Schrödinger es
Definimos el parámetro β tal que
La ecuación de Schrödinger se convierte en
Hacemos el cambio de variable
Obtenemos la ecuación diferencial, válida para y≥0
Llamando z=2y
Esta ecuación diferencial es de un tipo, cuya solución es conocida
Deshacemos los cambios de variable
Para que ψ(x) sea finito (tienda a cero) cuando x→∞, entonces A2=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
Teniendo en cuenta que
La condición de continuidad de la función de onda y de la derivada primera en x=a0δ se expresa
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
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
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
La última expresión relaciona los coeficientes A1 y B2
Por razones de simetría, se deberá cumplir que
Lo que nos permite determinar A1
Haciendo el cambio de variable, z=x/(a0δ)
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
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
La condición de continuidad de la función de onda y de la derivada primera en x=a0δ se expresa
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
que transformamos para realizar el cálculo numérico de forma adecuada
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
La última expresión relaciona los coeficientes B1 y B2
Por razones de simetría se deberá cumplir que
Lo que nos permite determinar B1
Haciendo el cambio de variable, z=x/(a0δ)
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
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
- mediante puntos de color rojo, que da lugar a una función de onda simétrica
- mediante puntos de color azul, que da lugar a una función de onda antisimétrica
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-2 | 10-3 | 10-4 | 10-5 | 10-6 | 10-7 |
---|---|---|---|---|---|
0.1729 | 0.1085 | ? | ? | ? | ? |
1.0001 | 1.0000 | 1.0000 | 1.0000 | 1.0000 | 1.0000 |
1.2200 | 1.1510 | 1.1136 | 1.0907 | 1.0753 | 1.0643 |
2.0001 | 2.0000 | 2.0000 | 2.0000 | 2.0000 | 2.0000 |
2.2215 | 2.1519 | 2.1142 | 2.0910 | 2.0755 | 2.0645 |
3.0001 | 3.0000 | 3.0000 | 3.0000 | 3.0000 | 3.0000 |
3.2219 | 3.1521 | 3.1143 | 3.0911 | 3.0756 | 3.0645 |
4.0001 | 4.0000 | 4.0000 | 4.0000 | 4.0000 | 4.0000 |
4.2220 | 4.1522 | 4.1143 | 4.0911 | 4.0756 | 4.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