Shooting method e Método de Crank-Nicolson: mudanças entre as edições

De Física Computacional
Ir para navegação Ir para pesquisar
Dzorrer (discussão | contribs)
Dzorrer (discussão | contribs)
Linha 127: Linha 127:


===Equação de Schrödinger===
===Equação de Schrödinger===
Seja a equação de Schrödinger unidimensional
<center><math> i\hbar\frac{\partial\Psi}{\partial t}=-\frac{\hbar^2}{2m}\frac{\partial^2 \Psi}{\partial x^2}+V\Psi </math></center>.
Efetuando a discretização das variáveis através do Método de Crank-Nicolson, obtém-se:
<center><math>\frac{\partial \Psi}{\partial t}= \frac{\Psi_{j}^{n+1}-\Psi_{j}^{n}}{\Delta t} ;</math></center>
<center><math>\frac{\hbar^2}{2m}\frac{\partial^2 \Psi}{\partial x^2} = \frac{\hbar^2}{2m}\left[\frac{(\Psi_{j+1}^{n+1}-2\Psi_{j}^{n+1}+\Psi_{j-1}^{n+1})+ (\Psi_{j+1}^{n}-2\Psi_{j}^{n}+\Psi_{j-1}^{n})}{2\Delta x^2}\right] ;</math></center>
<center><math>V\Psi = \frac{1}{2}[V_{j}^{n+1}\Psi_{j}^{n+1}+V_{j}^{n}\Psi_{j}^{n}] .</math></center>
Substituindo as discretizações na eq. de Schrödinger:
<center><math>i\left(\frac{\Psi_{j}^{n+1}-\Psi_{j}^{n}}{\Delta t}\right)=-\frac{\hbar^2}{4m(\Delta x)^2} \left[(\Psi_{j+1}^{n+1}-2\Psi_{j}^{n+1}+\Psi_{j-1}^{n+1})+ (\Psi_{j+1}^{n}-2\Psi_{j}^{n}+\Psi_{j-1}^{n})\right]+\frac{1}{2}[V_{j}^{n+1}\Psi_{j}^{n+1}+V_{j}^{n}\Psi_{j}^{n}].</math></center>

Edição das 21h28min de 12 de fevereiro de 2023

O objetivo deste trabalho é aplicar o Shooting method (método do chute) para encontrar as primeiras funções de onda espaciais da Equação de Schrödinger para o caso do poço de potencial infinito. Após, será realizada a evolução temporal através do Método de Crank-Nicolson.

Equação de Schrödinger

A equação de Schrödinger unidimensional pode ser escrita da seguinte maneira:

iΨt=22m2Ψx2+VΨ.

Para resolvê-la é necessário efetuar uma separação de variáveis:

Ψ(x,t)=ψ(x)φ(t).

Aplicando na primeira equação e separando os termos espaciais dos termos temporais, chega-se a uma equação com o seguinte formato:

i1φdφdt=22m1ψd2ψdx2+V.

Pelo fato da parte da esquerda ser dependente de t e a parte da direita ser dependente de x e de ambas estarem relacionadas por uma igualdade, é necessário que ambos os lados sejam constantes: em outras palavras, não é possível modificar um lado sem necessariamente alterar o outro. Através de um raciocínio perspicaz, a constante em questão será denominada E.

Parte temporal

A parte que diz respeito à evolução temporal:

dφdt=iEφ.

A solução geral possui o seguinte formato

φ(t)=CeiEt,

cuja constante C pode, neste caso, ser absorvida, de modo que

φ(t)=eiEt.

Parte espacial

Quanto à parte espacial, utilizando o mesmo raciocínio empregado anteriormente, a equação pode ser escrita como

22md2ψdx2+Vψ=Eψ

Para este caso, no entanto, não há uma única solução, pois esta depende do potencial V escolhido. Para o presente trabalho optou-se por trabalhar com o caso do poço infinito de potencial pelo fato das soluções analíticas já serem conhecidas, de modo a tornar possível avaliar os resultados numéricos obtidos à luz da solução analítica.

Poço de potencial infinito

Esquematicamente, tem-se:

Poço de potencial infinito

O potencial pode ser descrito como:

V(x)={0,se 0xL,,de outra forma.

Dentro do poço, onde $V=0$, o problema pode ser modelado da seguinte maneira

22md2ψdx2=Eψ,

ou

d2ψdx2=k2ψ,

onde

k2mE.

A solução é dada por

ψ(x)=Asen(kx)+Bcos(kx).

Aplicando as condições de contorno ψ(0)=ψ(L)=0 e efetuando a normalização da função de onda, obtém-se a solução geral

ψn(x)=2Lsen(nπLx),

cujas energias discretizadas são

En=2kn22m=n2π222mL2.

Utilizando a equação acima, pode-se calcular os valores da energia de cada estado estacionário. Para o caso de um elétron, as energias referentes aos três estados estacionários são E1=0,376 eV, E2=1,504 eV e E3=3,384 eV.

Na próxima seção será feita uma estimativa dos valores acima expostos através do "Shooting method".

Shooting Method

Muitos métodos numéricos (e.g. Runge-Kutta, Forward Euler) requerem os valores da função e de sua derivada no ponto inicial. Acontece que podem haver problemas em que estes valores não estarão disponíveis, principalmente o valor da derivada em questão. Uma alternativa seria conjecturar o valor da condição inicial e integrar, através de um método apropriado, em direção à outra condição de contorno: um "chute" apropriado faria com que a integração evoluísse e retornasse um valor muito próximo, a depender da acurácia necessária, ao da condição de contorno. A ideia seria executar os seguintes passos:

  1. Supor um valor para a condição de contorno desconhecida (e.g. y(0) ou y(0));
  2. Integrar o problema através de um método conhecido até a próxima condição de contorno (e.g., y(L));
  3. Se o chute inicial não fez com que o sistema evoluísse até y(L), então deve-se supor outro valor para a condição inicial e repetir o procedimento.

O método descrito acima de forma simplificada recebe o nome, em inglês, de Shooting method, o que em português seria algo como "Método do tiro" ou "Método do chute". Na próxima seção esse método será aplicado para o caso do poço infinito de potencial.

Poço de potencial infinito

Seja a equação d2ψdx2=kψE, onde k=2m2.

Escrevendo com outra notação: ψ¨=kψE.

Dividindo o problema em Δx's pequenos, pode-se reescrever a equação acima da seguinte forma:

ψ¨=Δψ˙Δx=ψ2˙ψ1˙Δxψ2˙=ψ¨Δx+ψ1˙

.

Também:

ψ˙=ΔψΔx=ψ2ψ1Δxψ2=ψ˙Δx+ψ1

.

Além disso:

Δx=x2x1x2=x1+Δx

.

A integração, então, é realizada utilizando as relações 8, 9, 10 e 11, até que se atinja a borda do poço, isto é, x=L.

Com a discretização acima, foi possível implementar o algoritmo. Das condições de contorno do problema, sabe-se que ψ(0)=0, de modo que ψ1=0. No entanto, o valor da derivada ψ1˙ não é conhecido, de modo que supõe-se que seja uma constante, a saber, ψ1˙=1. Chutando que E=0, utilizando a massa do elétron e L=1, obtém-se a primeira solução estacionária:

Solução estacionária (n=1)

Pode-se observar que o valor de energia obtido numericamente é cerca de 4% menor do que aquele obtido analiticamente.

Para o caso n=2:

Solução estacionária (n=2)

Aqui, o valor obtido numericamente é aproximadamente 5% maior do que o valor obtido analiticamente.

Para o caso n=3:

Solução estacionária (n=3)

Para este caso, o valor numérico é cerca de 1% menor do que o valor analítico.

Método de Crank-Nicolson

Seja a equação diferencial

ft=L1rf(r,t)

,

onde Lr é um operador diferencial linear em r.

Em forma discretizada no tempo, pode-se escrever

fn+1(r)fn(r)=Lrfn(r)dt

.

Por simetria, pode-se escrever a equação acima utilizando um f à direita:

fn+1(r)fn(r)=Lrfn+1(r)dt.

A equação acima é dita "explícita" pois, para o cálculo de fn+1, só é utilizado o valor já explicitamente calculado fn. Já a equação anterior é chamada implícita pois fn+1 está presente explicitamente. Em termos numéricos, um método peca pelo excesso enquanto o outro o faz pela falta, de modo que um resultado mais satisfatório pode ser obtido ao tomar-se a média dos dois:

fn+1(r)fn(r)=dt2(Lrfn+1(r)+Lrfn(r)).

Após alguma álgebra:

fn+1(r)=(1dt2Lr)1(1+dt2Lr)fn(r)

.

Chamando M=I+dt2Lr e E=Idt2Lr, onde I indica a matriz identidade, pode-se reescrever a equação acima na seguinte maneira:

fn+1=E1Mfn

.

Trata-se do método de Crank-Nicolson, mais estável e preciso do que os métodos implícito e explícito. Caso o problema apresentar condições de contorno, estas serão devidamente implementadas nos elementos das matrizes M e E.

Equação de Schrödinger

Seja a equação de Schrödinger unidimensional

iΨt=22m2Ψx2+VΨ

.

Efetuando a discretização das variáveis através do Método de Crank-Nicolson, obtém-se:

Ψt=Ψjn+1ΨjnΔt;
22m2Ψx2=22m[(Ψj+1n+12Ψjn+1+Ψj1n+1)+(Ψj+1n2Ψjn+Ψj1n)2Δx2];
VΨ=12[Vjn+1Ψjn+1+VjnΨjn].

Substituindo as discretizações na eq. de Schrödinger:

i(Ψjn+1ΨjnΔt)=24m(Δx)2[(Ψj+1n+12Ψjn+1+Ψj1n+1)+(Ψj+1n2Ψjn+Ψj1n)]+12[Vjn+1Ψjn+1+VjnΨjn].