Grupo5 - Eq. Schroedinger: mudanças entre as edições

De Física Computacional
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 63: Linha 63:


bastando, então, inseri-la no programa.
bastando, então, inseri-la no programa.
==Implementação em C==


==Referências==
==Referências==

Edição das 00h12min de 24 de outubro de 2017

A evolução temporal do estado quântico Ψ(𝐫,t) é dada pela equação de Schrödinger, a qual é postulada como [citação do Cohen, descobrir como fazer a citação]:

iℏ∂∂tΨ(𝐫,t)=[−ℏ22m∇2+V(𝐫,t)]Ψ(𝐫,t)

Posto em unidades atômicas (onde me e ℏ são unitários), o caso unidimensional de um elétron num potencial independente do tempo reduz-se a:

∂∂tΨ(x,t)=[i2∂2∂x2−iV(x)]Ψ(x,t)


Método numérico

Buscando resolver a equação numericamente, tem-se a discretização de ∂2Ψ∂x2 :

Ψj−1n−2Ψjn+Ψj+1n(Δx)2

e as discretizações de ∂Ψ∂t (explícita e implícita, respectivamente):

Ψjn+1−ΨjnΔt,Ψjn−Ψjn−1Δt

Tanto no método explícito quanto no método implícito não é conservada a norma do estado (o que é estritamente necessário, já que o estado pode ser interpretado como uma onda de probabilidade). Por esse motivo, utiliza-se o método de Crank-Nicolson, o qual tem essa propriedade \cite{enswork}.

O método de Crank-Nicolson consiste em uma média aritmética dos métodos explícito e implícito. Excetuando manipulações algébricas triviais, verifica-se que a relação de recorrência do método é dada por:

aΨj−1n+1+bjΨjn+1+aΨj+1n+1=a*Ψj−1n+bj*Ψjn+a*Ψj+1n,

onde

a≡−iΔt4(Δx)2 e bj≡1+iΔt2[1(Δx)2+V(jΔx)].

A integração numérica depende, portanto, do potencial em que o elétron está sujeito, bem como da sua condição inicial e suas das condições de contorno.

Que condições podemos impor para a fronteira? Quando se trata do problema analiticamente, costuma-se considerar que a função de onda tende a zero no infinito. Numericamente, pode-se fazer uma transposição disso, criando uma condição para bordas em pontos suficientemente distantes do centro da distribuição da função de onda, igualando-as a zero. Outra forma de tratar o problema numericamente é criando condições de contorno periódicas, em que para as bordas vale Ψ0n=Ψjmaxn para todo n (ou, para as bordas a e b há a relação Ψ(a,t)=Ψ(b,t) para todo t).

Condições de contorno iguais a zero

Para as condições de contorno Ψ0n=ΨLn=0, a iteração reduz-se à equação matricial:

(b1a0⋯000ab2a⋯000⋮⋮⋮⋱⋮⋮⋮000⋯abL−2a000⋯0abL−1)(Ψ1n+1Ψ2n+1⋮ΨL−2n+1ΨL−1n+1)=(b1*a*0⋯000a*b2*a*⋯000⋮⋮⋮⋱⋮⋮⋮000⋯a*bL−2*a*000⋯0a*bL−1*)(Ψ1nΨ2n⋮ΨL−2nΨL−1n)


Condições de contorno periódicas

De maneira semelhante, a iteração do caso das condições de contorno periódicas - Ψ0n=ΨLn - reduz-se à equação matricial:

(b0a0⋯00aab1a⋯000⋮⋮⋮⋱⋮⋮⋮000⋯abL−1aa00⋯0abL)(Ψ0n+1Ψ2n+1⋮ΨL−1n+1ΨLn+1)=(b0*a*0⋯00a*a*b1*a*⋯000⋮⋮⋮⋱⋮⋮⋮000⋯a*bL−1*a*a*00⋯0a*bL*)(Ψ0nΨ2n⋮ΨL−1nΨLn)


Condição inicial

Já a condição inicial é arbitrária, pois define o estado inicial do sistema que queremos tratar. Fazendo uma referência ao tratamento de sistemas clássicos, seria como definir posição e momento iniciais. É claro que, para ter o sentido físico de uma função de onda, deve-se ter o cuidado de criar uma condição inicial normalizada, satisfazendo

∫−∞∞|Ψ(x,0)|2dx=1

bastando, então, inseri-la no programa.

Implementação em C

Referências