Why the distribution along spatial axis x changes tremendously even by increasing only one step size?

4 vues (au cours des 30 derniers jours)
I study the Schnakenberg-Turing model on a static 1D domain:
% The PDEs are
% D(u1)/Dt = 1*D^2(u1)/Dx^2 + 70(0.2-u1 + u1^2*u2)
% D(u2)/Dt = 100*D^2(u2)/Dx^2 + 70(0.5 - u1^2*u2)
%
% The initial condition is u1(x,0) = 0 and u2(x,0) = 0 for 0 <= x <= 1.
% The left boundary condition is D(u1)/Dx = 0, D(u2)/Dx = 0.
% The right boundary condition is D(u1)/Dx = 0, D(u2)/Dx = 0:
%
L = 1;
maxt = 10;
m = 0;
x = linspace(0,1,100);
% x = linspace(0,1,101);
% IF the no. of points of x is changed from 100 to 101, the result changes tremendously. See the following figures.
% Which is the correct?
t = linspace(0,10,101);
sol = pdepe(m,@pdex4pde,@pdex4ic,@pdex4bc,x,t);
u1 = sol(:,:,1);
u2 = sol(:,:,2);
% Plotting the the final distribution of u1 at t=10.
figure(1)
plot(x,u1(end,:))
title('Final distribution of u1(x,t)')
% --------------------------------------------------------------------------
function [c,f,s] = pdex4pde(x,t,u,DuDx)
a = 0.2;
c = [1; 1];
f = [1; 100] .* DuDx;
s = [70*(a-u(1)+u(1)^2*u(2));
70*(0.5-u(1)^2*u(2))];
% --------------------------------------------------------------------------
function u0 = pdex4ic(x)
u0 = [0; 0];
% --------------------------------------------------------------------------
function [pl,ql,pr,qr] = pdex4bc(xl,ul,xr,ur,t)
pl = [0; 0];
ql = [1; 1];
pr = [0; 0];
qr = [1; 1];
  1 commentaire
Torsten
Torsten le 4 Nov 2023
Isn't this behaviour typical for the model ? When I googled "Schnakenberg-Turing model", all the hits were related to stability analysis.

Connectez-vous pour commenter.

Réponses (1)

SOUMNATH PAUL
SOUMNATH PAUL le 29 Déc 2023
Hi,
To my understanding the tremendous change in the distribution along the spatial axis x when increasing the step size is likely due to the following points:
  1. Small changes in discretization can lead to different numerical instabilities in nonlinear PDEs.
  2. Turing patterns are sensitive to spatial discretization, which affects the represented wavelengths and modes.
  3. A finer or coarser grid changes the discretization error, influencing the solution's accuracy.
  4. The accuracy of Neumann boundary conditions representation can vary with grid spacing.
To determine which result is more accurate kindly perform a convergence test, check for stability and physical validity, ensure mesh independence, and consider using different numerical methods for verification.
Hope it helps!
Regards,
Soumnath

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by