Método de Crank–Nicolson

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa

Na análise numérica, o método de Crank–Nicolson é um método das diferenças finitas usado para resolver numericamente a equação do calor e equações diferenciais parciais similares.[1] É um método de segunda ordem no tempo e no espaço, implícito no tempo e é numericamente estável. O método foi desenvolvido por John Crank e Phyllis Nicolson na metade do século 20.[2]

Para equações de difusão (e muitas outras), pode-se provar que o método de Crank–Nicolson é incondicionalmente estável.[3] Contudo, as soluções aproximadas podem ainda conter oscilações significativas caso a razão entre o passo de tempo e o quadrado do passo de espaço for grande (usualmente maior que 1/2). Por essa razão, sempre que grandes passos de tempo forem tomados, o método menos preciso de euler implícito é frequentemente utilizado, o qual é estável e imune à oscilações.

O método

The Crank–Nicolson stencil for a 1D problem.

O método de Crank-Nicolson é baseado em diferenças centradas no espaço, e na regra trapezoidal no tempo, é de segunda no tempo e no espaço. Por exemplo, para um caso unidimensional, se a equação diferencial parcial for

ut=F(u,x,t,ux,2ux2)

em seguida, fazendo u(iΔx,nΔt)=uin, a equação para o método de Crank–Nicolson é a combinação do método de euler explícito em n e do método de euler implícito em n+1 (deve-se notar, contudo, que o método por si só não é simplesmente a média desses dois métodos, já que a equação tem uma dependência implícita na solução):

uin+1uinΔt=Fin(u,x,t,ux,2ux2)(Euler explícito)
uin+1uinΔt=Fin+1(u,x,t,ux,2ux2)(Euler implícito)
uin+1uinΔt=12(Fin+1(u,x,t,ux,2ux2)+Fin(u,x,t,ux,2ux2))(Crank-Nicolson)

A função F deve ser discretizada no espaço por diferenças centradas.

Note que este é um método implícito: para conseguir o valor posterior de u no tempo, um sistema de equações algébricas deve ser resolvido. Se a equação diferencial parcial for não-linear, a discretização também deverá ser não-linear para que o avanço no tempo envolva a solução do sistema algébrico não-linear de equações, embora que linearizações sejam possíveis.

Exemplo: Difusão unidimensional

O método de Crank-Nicolson é frequentemente aplicado a problemas de difusão. Como exemplo, para a difusão linear:

ut=a2ux2

a discretização de Crank-Nicolson é dada por:

uin+1uinΔt=a2(Δx)2((ui+1n2uin+ui1n)+(ui+1n+12uin+1+ui1n+1))

ou reescrevendo, fazendo r=aΔt2(Δx)2:

uin+1=uin+r(ui+1n2uin+ui1n)+r(ui+1n+12uin+1+ui1n+1)

Predefinição:Referências


Predefinição:Resolução de equações diferenciais parciais Predefinição:Esboço-matemática

  1. Predefinição:Citar livro
  2. Predefinição:Citar periódico.
  3. Predefinição:Citar livro. O exemplo 3.3.2 mostra que o método é incondicionalmente estável quando aplicado à ut=auxx.