Differential Equations - Gray Scott Equations
微分方程Introduction to Gray Scott Equations
The Gray-Scott equations are a set of partial differential equations used to model reaction-diffusion systems, particularly in chemistry and biology. They describe the interaction between two chemical species, typically referred to as
The Gray-Scott model is known for producing a variety of complex, spatially structured patterns, such as spots, stripes, and waves. The nature of the patterns depends on the parameters
Formulation of Gray-Scott Equations
The Gray-Scott model is defined by the following system of PDEs:
where: -
Interpretation of Terms
- Diffusion Terms:
and represent the spatial diffusion of species and . These terms cause the chemicals to spread out over time. - Reaction Terms:
and represent the interaction between and . The term in the equation for indicates that is consumed in the reaction to produce , while the term in the equation for indicates that is produced in the reaction. - Feed and Decay Terms:
represents the addition of species into the system at a constant rate, while represents the decay of species .
Derivation of Numerical Solutions
We try to keep everything simple. The Gray-Scott equations are discretized in space using a finite difference method, and the resulting system of ODEs is solved using explicit Euler time-stepping.
To give the formulation, we use
The Laplacian in 2D cartesian coordinates is approximated using the five-point stencil:
Here we formally present the algorithm for solving the Gray-Scott equations:
- Use a rectangular grid to discretize the spatial-temporal domain.
- Use forward difference to approximate the time derivative, and five-point central difference to approximate the Laplacian to obtain
at each grid point. The term form the truncation error of the finite difference method. The same applies to . The equation applies for time steps 。 - Drop the truncation error terms and rearrange the equation to obtain the update rule
. - The initial condition (IC) is set by assigning given values to all
at . The periodic boundary condition (BC) is set by copying the values of at the opposite boundary, i.e., and the same for . The boundary condition is applied at each time step .
The update rule
1 |
|
The periodic boundary condition is not explicitly implemented in the shader. Instead, we use the GL_REPEAT
texture wrapping mode to handle the boundary condition.
Test of Accuracy and Stability
Accuracy
It is difficult to obtain an analytical solution for the Gray-Scott equations. From the truncation error term, we could expect the method to have a first-order accuracy in time and second-order accuracy in space.
Convergence
We could empirically show that the method converges under the condition
First we test the convergence of the method by increasing the spatial resolution while keeping the time step size constant. We set
![Simulation result at T=20000 with different spatial resolutions. The solution diverges when N > 291.](https://cdn.duanyll.com/img/20240703213301.png)
We also tried to change the time step size while keeping the spatial resolution constant. The result shows that lower time step size leads to consistent results, and the system diverges when the time step size exceeds a certain value.
![Simulation result at T=20000 and N=256 with different t'. The solution diverges when t' > 1.17](https://cdn.duanyll.com/img/20240703210645.png)
We finally demonstrate that by decreasing the time step size and increasing the spatial resolution simultaneously, the method could be conditionally convergent. Following the condition
in these simulations. The result shows that the method is convergent under this condition.
![Simulation result when the convergence condition is satified.](https://cdn.duanyll.com/img/20240703212537.png)
Stability
We test the stability of the method by extending final simulation time
![Simulation result at different time steps](https://cdn.duanyll.com/img/20240703213154.png)
Simulation Results
We wrote a GPU-accelerated simulation program using OpenGL and GLSL. The program solves the Gray-Scott equations on a 2D grid and visualizes the results in real-time.
![Screenshot of the simulation program](https://cdn.duanyll.com/img/20240703221930.png)
The program contains a GUI that allows users to adjust the parameters of the Gray-Scott equations, such as python grayscott.py
in the terminal.
We present the results of the simulation with different parameters. The patterns generated by the Gray-Scott equations are highly sensitive to the parameters. By adjusting these parameters, we can observe a wide range of patterns, including spots, stripes, and waves. The following images show the phase diagram of the Gray-Scott equation and the results obtained at different locations in the domain. We set
![The phase diagram of the Gray-Scott equation (Pearson 1993)](https://cdn.duanyll.com/img/20240703221402.png)
![Results obtained at different conditions](https://cdn.duanyll.com/img/20240703221338.png)
Conclusion
The Gray-Scott equations are a powerful tool for modeling reaction-diffusion systems and generating complex spatial patterns. By discretizing the equations and solving them numerically, we can observe a wide range of patterns, including spots, stripes, and waves. The numerical method we presented is conditionally convergent and stable under certain conditions. By adjusting the parameters of the model, we can explore the rich dynamics of reaction-diffusion systems and gain insights into the underlying mechanisms that give rise to complex patterns in nature.