Estou tentando encontrar alguns recursos para ajudar a explicar como escolher condições de contorno ao usar métodos de diferenças finitas para resolver PDEs.
Os livros e notas aos quais tenho acesso atualmente dizem coisas semelhantes:
As regras gerais que governam a estabilidade na presença de limites são muito complicadas para um texto introdutório; eles exigem maquinaria matemática sofisticada
(A. Iserles, um primeiro curso de análise numérica de equações diferenciais)
Por exemplo, ao tentar implementar o método de salto em duas etapas para a equação de advecção:
usando MATLAB
M = 100; N = 100;
mu = 0.5;
c = [mu 0 -mu];
f = @(x)(exp(-100*(x-0.5).^2));
u = zeros (M, N);
x = 1/(M+1) * (1:M);
u(:,1) = f(x);
u(:,2) = f(x + mu/(M+1));
for i = 3:N
hold off;
u(:,i) = conv(u(:,i-1),c,'same') + u(:,i-2);
plot(x, u(:,i));
axis( [ 0 1 0 2] )
drawnow;
end
A solução se comporta bem até atingir o limite, quando de repente começa a se comportar mal.
Onde posso aprender a lidar com condições de contorno como essa?