Sto cercando di trovare alcune risorse per aiutare a spiegare come scegliere le condizioni al contorno quando si usano metodi a differenza finita per risolvere i PDE.
I libri e le note a cui attualmente ho accesso dicono cose simili:
Le regole generali che governano la stabilità in presenza di confini sono troppo complicate per un testo introduttivo; richiedono sofisticati macchinari matematici
(A. Iserles Un primo corso nell'analisi numerica delle equazioni differenziali)
Ad esempio, quando si tenta di implementare il metodo leapfrog in due passaggi per l'equazione di avanzamento:
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
La soluzione si comporta bene fino a quando non raggiunge il limite, quando improvvisamente inizia a comportarsi male.
Dove posso imparare a gestire condizioni al contorno come questa?