Equação de Schrödinger Unidimensional: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
Linha 2: | Linha 2: | ||
<math> -\frac{\hbar}{2m}\frac{\partial^2\Psi}{\partial x^2} + V(x)\Psi = i\hbar\frac{\partial\Psi}{\partial t} </math> | <math> -\frac{\hbar}{2m}\frac{\partial^2\Psi}{\partial x^2} + V(x)\Psi = i\hbar\frac{\partial\Psi}{\partial t} </math> | ||
== O Método De Crank-Nicolson== | |||
A fim de resolvê-la numericamente para diferentes tipos de potenciais, usou-se o Método de Crank-Nicolson de resolução de EDPs. Este método baseia-se em combinar os métodos explícito e implícito (com igual contribuição) para aumentar sua estabilidade. | A fim de resolvê-la numericamente para diferentes tipos de potenciais, usou-se o Método de Crank-Nicolson de resolução de EDPs. Este método baseia-se em combinar os métodos explícito e implícito (com igual contribuição) para aumentar sua estabilidade. | ||
Linha 34: | Linha 36: | ||
Como dito, o Método de Crank-Nicolson é uma combinação dos métodos implícito e explícito, cada um tendo o mesmo peso de 1/2. Ao somarmos as duas equações (cada uma multiplicada por 0.5), ficaremos com a seguinte expressão: | Como dito, o Método de Crank-Nicolson é uma combinação dos métodos implícito e explícito, cada um tendo o mesmo peso de 1/2. Ao somarmos as duas equações (cada uma multiplicada por 0.5), ficaremos com a seguinte expressão: | ||
<math> \Psi_j^{n+1} = \Psi_{j}^{n} + \frac{i \Delta t}{4 \Delta x^2} (\Psi_{j+1}^{n} + \Psi_{j-1}^{n} - 2 \Psi_{j}^{n} + \Psi_{j+1}^{n+1} + \Psi_{j-1}^{n+1} - 2 \Psi_{j}^{n+1}) - \frac{i\Delta t}{2} V_j (\Psi_{j}^{n} + \Psi_{j}^{n+1})</math> | |||
que, ao reorganizarmos para isolar os | que, ao reorganizarmos para isolar os <math> \Psi_j^{n+1}</math>, resulta em: | ||
<math> \left(1+\frac{i \Delta t}{2 \Delta x^2}+\frac{i\Delta t}{2} V_j\right)\Psi_j^{n+1} - \frac{i \Delta t}{4 \Delta x^2}\Psi_{j+1}^{n+1} - \frac{i \Delta t}{4 \Delta x^2} \Psi_{j-1}^{n+1} = \left(1-\frac{i \Delta t}{2 \Delta x^2}-\frac{i\Delta t}{2} V_j\right)\Psi_{j}^{n} + \frac{i \Delta t}{4 \Delta x^2}\Psi_{j+1}^{n} +\frac{i \Delta t}{4 \Delta x^2} \Psi_{j-1}^{n}</math> | <math> \left(1+\frac{i \Delta t}{2 \Delta x^2}+\frac{i\Delta t}{2} V_j\right)\Psi_j^{n+1} - \frac{i \Delta t}{4 \Delta x^2}\Psi_{j+1}^{n+1} - \frac{i \Delta t}{4 \Delta x^2} \Psi_{j-1}^{n+1} = \left(1-\frac{i \Delta t}{2 \Delta x^2}-\frac{i\Delta t}{2} V_j\right)\Psi_{j}^{n} + \frac{i \Delta t}{4 \Delta x^2}\Psi_{j+1}^{n} +\frac{i \Delta t}{4 \Delta x^2} \Psi_{j-1}^{n}</math> | ||
Linha 47: | Linha 49: | ||
\begin{pmatrix} \Psi_1^{n+1} \\ \Psi_2^{n+1} \\ \vdots \\ \Psi_{j}^{n+1}\end{pmatrix} | \begin{pmatrix} \Psi_1^{n+1} \\ \Psi_2^{n+1} \\ \vdots \\ \Psi_{j}^{n+1}\end{pmatrix} | ||
= | = | ||
\begin{pmatrix} \Psi_1^{n} \\ \Psi_2^{n} \\ \vdots \\ \Psi_{j}^{n} \end{pmatrix} | \begin{pmatrix} | ||
1 - 2b - \frac{i\Delta t V_j}{2} & +b & 0 & \cdots & 0 & 0 & 0\\ +b & 1 - 2b - \frac{i\Delta t V_j}{2} & +b &0 & \cdots & 0 & 0 \\ \vdots & \vdots & \ddots & \ddots & \ddots& \vdots& \vdots \\ 0 & 0 & 0 & \cdots & 0 & +b & 1 - 2b - \frac{i\Delta t V_j}{2} | |||
\end{pmatrix} | |||
\begin{pmatrix} \Psi_1^{n} \\ \Psi_2^{n} \\ \vdots \\ \Psi_{j}^{n} \end{pmatrix} ; | |||
</math> | </math> | ||
com | |||
<math> b=\frac{i \Delta t}{4 \Delta x^2}</math>. | |||
Podemos notar que a diferença entre as matrizes que multiplicam <math> \Psi_j^{n+1}</math> e <math> \Psi_j^{n}</math> é somente o sinal das componente imaginárias. Assim, a equação final pode ser escrita como: | |||
<math> A\Psi_j^{n+1} = A^*\Psi_j^{n}</math>, onde A é a matriz <math>\begin{pmatrix} | |||
1 + 2b + \frac{i\Delta t V_j}{2} & -b & 0 & \cdots & 0 & 0 & 0\\ -b & 1 + 2b + \frac{i\Delta t V_j}{2} & -b &0 & \cdots & 0 & 0 \\ \vdots & \vdots & \ddots & \ddots & \ddots& \vdots& \vdots \\ 0 & 0 & 0 & \cdots & 0 & -b & 1 + 2b + \frac{i\Delta t V_j}{2} | |||
\end{pmatrix} </math> | |||
== Exemplos de Potenciais == | |||
=== Oscilador Harmônico === | |||
O oscilador harmônico quântico consiste de uma partícula em uma zona onde o potencial possui comportamento harmônico, ou seja, depende de <math> x^2 </math>. Em nosso exemplo, inserimos um pacote de formato gaussiano no interior de um potencial harmônico e observamos sua evolução temporal. | |||
Abaixo encontra-se o código usado em Júlia. | |||
<br /> | |||
<source lang="julia"> | |||
using Plots | |||
dt = 0.1 | |||
dx = 0.25 | |||
L = 50 | |||
x = collect(0:dx:L) | |||
size(x) | |||
function V_Oh(x) | |||
return 0.005(x-L/2)^2 | |||
end | |||
b = dt*im/(4*dx^2) | |||
A = [if i==j; 1 - 2b - V_Oh(i)*dt*im/2 elseif i==dx+j || i==j-dx; b else 0 end for i=0:dx:L, j=0:dx:L] | |||
B = @. conj(A) | |||
IB = inv(B) | |||
len = length(x) | |||
ψ = [(sqrt(1/(2*pi))*exp(-(val - L/3)^2/(2))*exp(-im*75*(val-L/3))) for val in x] | |||
for (i,num) in enumerate(ψ) | |||
if abs(num)<1e-10; | |||
ψ[i]=0 | |||
end | |||
end | |||
ves = @. V_Oh(x) | |||
t=0 | |||
@gif for t in 0:dt:65 | |||
ψ[2:end-1] = IB[2:end-1,2:end-1]*A[2:end-1,2:end-1]*ψ[2:end-1] | |||
plot(x,abs2.(ψ),c="red") | |||
#plot!([x for x=0:dx:L],imag(ψ),c="blue") | |||
plot!([x for x=0:dx:L],ves,c="blue") | |||
plot!(ylim=[0,0.5],title="t=$t") | |||
end every 3 | |||
</source><br /> | |||
=== Barreira (Tunelamento) === |
Edição das 06h05min de 23 de abril de 2024
Conhecer o estado de uma partícula, na Mecânica Clássica, é saber, em um determinado momento, sua velocidade e sua posição. A partir destes valores, é possível determinar os seus futuros estados utilizando as relações fornecidas pelas Leis de Newton. Na Mecânica Quântica, porém, o estado físico não é mais caracterizado por uma quantidade discreta de valores numéricos, e sim, por uma função. A chamada Função de Onda, , nos informa a evolução temporal do estado quântico de uma partícula, seguindo a Equação de Schrödinger. Em uma dimensão, a Equação de Schrödinger é dada por:
O Método De Crank-Nicolson
A fim de resolvê-la numericamente para diferentes tipos de potenciais, usou-se o Método de Crank-Nicolson de resolução de EDPs. Este método baseia-se em combinar os métodos explícito e implícito (com igual contribuição) para aumentar sua estabilidade.
O método explícito FTCS (Forward Time Central Space) consiste em tomar derivadas temporais "para frente" e manter a derivada espacial centrada.
;
Tomando (unidades atômicas), ao inserirmos as expressões acima na Equação de Schrödinger, temos que:
Simplificando a notação para , onde representa a posição e o tempo, e reorganizando os termos, ficamos com:
O método implícito é semelhante, porém a derivada temporal é "para trás".
O que nos leva a ter:
que, com uma substituição de variável (que é muda), nos dá, enfim:
Como dito, o Método de Crank-Nicolson é uma combinação dos métodos implícito e explícito, cada um tendo o mesmo peso de 1/2. Ao somarmos as duas equações (cada uma multiplicada por 0.5), ficaremos com a seguinte expressão:
que, ao reorganizarmos para isolar os , resulta em:
Para resolver a equação em simultaneamente para ambos os tempos e em todos os pontos, escrevemos a equação em forma matricial:
com .
Podemos notar que a diferença entre as matrizes que multiplicam e é somente o sinal das componente imaginárias. Assim, a equação final pode ser escrita como:
, onde A é a matriz
Exemplos de Potenciais
Oscilador Harmônico
O oscilador harmônico quântico consiste de uma partícula em uma zona onde o potencial possui comportamento harmônico, ou seja, depende de . Em nosso exemplo, inserimos um pacote de formato gaussiano no interior de um potencial harmônico e observamos sua evolução temporal.
Abaixo encontra-se o código usado em Júlia.
using Plots
dt = 0.1
dx = 0.25
L = 50
x = collect(0:dx:L)
size(x)
function V_Oh(x)
return 0.005(x-L/2)^2
end
b = dt*im/(4*dx^2)
A = [if i==j; 1 - 2b - V_Oh(i)*dt*im/2 elseif i==dx+j || i==j-dx; b else 0 end for i=0:dx:L, j=0:dx:L]
B = @. conj(A)
IB = inv(B)
len = length(x)
ψ = [(sqrt(1/(2*pi))*exp(-(val - L/3)^2/(2))*exp(-im*75*(val-L/3))) for val in x]
for (i,num) in enumerate(ψ)
if abs(num)<1e-10;
ψ[i]=0
end
end
ves = @. V_Oh(x)
t=0
@gif for t in 0:dt:65
ψ[2:end-1] = IB[2:end-1,2:end-1]*A[2:end-1,2:end-1]*ψ[2:end-1]
plot(x,abs2.(ψ),c="red")
#plot!([x for x=0:dx:L],imag(ψ),c="blue")
plot!([x for x=0:dx:L],ves,c="blue")
plot!(ylim=[0,0.5],title="t=$t")
end every 3