Próbuję znaleźć zasoby, które pomogą wyjaśnić, jak wybrać warunki brzegowe podczas korzystania z metod różnic skończonych do rozwiązywania PDE.
Książki i notatki, do których mam obecnie dostęp, mówią podobne rzeczy:
Ogólne zasady rządzące stabilnością w obecności granic są zdecydowanie zbyt skomplikowane, aby można było wprowadzić tekst wprowadzający; wymagają skomplikowanych mechanizmów matematycznych
(A. Iserles Pierwszy kurs numerycznej analizy równań różniczkowych)
Na przykład, próbując zaimplementować 2-etapową metodę skoku żab dla równania porady:
za pomocą 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
Rozwiązanie zachowuje się ładnie, dopóki nie osiągnie granicy, gdy nagle nagle zaczyna źle się zachowywać.
Gdzie mogę nauczyć się radzić sobie z takimi warunkami brzegowymi?