This project is a basic example of an hABM (agents + PDEs) simulation, where "good" cells scan a 2D-surface (defined by a planar mesh) using BPRW (see link), in search of "evil" cells. The good cells are guided by chemical signals (chemokines) released by evil cells.
Example of a simulation on a planar surface:
This project uses the following libraries:
- geometry-central for intrinsic geodesic agent motion and surface metrics
- gmsh to create meshes (using the Python wrapper)
- MFEM for solving PDEs
- ParaView for visualizing simulation outputs
(NOTE: The following steps are meant for Ubuntu 24, with an other OS you might have to build the libraries from the source)
Basic requirements:
sudo apt install git g++ cmake
Install gmsh:
sudo apt install gmsh libgmsh-dev
Install MFEM:
sudo apt install libmfem-dev
Install geometry-central dependencies:
sudo apt install libeigen3-dev libsuitesparse-dev
Install geometry-central from source:
git clone --recurse-submodules https://github.com/nmwsharp/geometry-central.git && cd geometry-central
mkdir build && cd build
cmake ..
make -j4
sudo make install #to install the library in /usr/local/include
Compile Base_Project_Deluxe:
git clone https://github.com/PiSimo/Base_Project_Deluxe.git && cd Base_Project_Deluxe
mkdir build && cd build
cmake ..
make -j4
Running:
./Base_Project_Deluxe
the output files will be saved in output/
.
more details here.