A command-line interface (CLI) tool to simulate chemotaxis processes based on a parabolic-elliptic PDE model.
This repository contains a program that simulates a chemotaxis process from a parabolic-elliptic system of partial differential equations. It is based on the research paper Global Existence and Asymptotic Behaviour of Classical Solutions of Chemotaxis Models with Signal-dependent Sensitivity and Logistic Source by Dr. Wenxian Shen, Dr. Le Chen, and their PhD student Ian Ruau. Here is a link to the research paper [link to paper]
Simulations for special sets of parameters are consistent with proven theoretical results. The advantage of this package is that it helps us get insights about behaviours outside of the sets of parameters considered in the research paper.
To get started with these simulations, you can install the package using pip:
pip install chemotaxis-sim
- Run chemotaxis simulations with customizable parameters.
- Terminal plots of initial conditions via termplotlib.
- 3D static surface plots (PNG/JPEG) and optional MP4 animations.
- Progress bar and verbose logging.
- Easy CLI usage with help prompts.
Once the package is installed, the user can access the help prompt by simply running the following command
chemotaxis-sim --help
Here is an example of a simulation
chemotaxis-sim --chi 30 --meshsize 100 --time 5 --eigen_index 2 --epsilon 0.5 --generate_video yes
The command above will show first some characteristic constants of the system of partial differential equations that depend on the parameters input by the user:
A terminal plot of the initial functions u(0,x) and v(0,x) is also shown on the terminal:
Once the simulation is complete, a picture of the results is saved in both .png and .jpeg formats:
If the user chose to save the animation of the chemotaxis process, an .mp4 video will be saved as well:
For detailed information about the package and its functionalities, visit the documentation webpage.
In the following page, we reproduce the results of the research paper by ....
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/my-feature
). - Commit your changes (
git commit -am 'Add my feature'
). - Push to the branch (
git push origin feature/my-feature
). - Open a pull request.
This project is licensed under the MIT License – see the LICENSE file for details.
For any queries or further discussion, feel free to contact us at
- Le Chen: [[email protected]] or [[email protected]] or Homepage.
- Ian Ruau: [[email protected]].