PhysiCore is a modern C++20 re-architecture of the PhysiCell agent-based multicellular simulation framework. Built for flexibility, performance, and clarity, PhysiCore enables researchers to experiment with different numerical methods and physical models without overhauling the entire simulation engine.
- Modular architecture – Clean separation between diffusion, mechanics, and phenotype modules
- Pluggable solvers – Runtime-selectable backends (OpenMP, Thrust/TBB, CUDA)
- Modern C++20 – Leveraging the latest language features for safety and performance
- HPC-ready – Designed for vectorization, multi-threading, and GPU acceleration
- Cross-platform – Tested on Linux, macOS, and Windows
# Clone with submodules
git clone --recursive https://github.com/bsc-life/PhysiCore.git
cd PhysiCore
# Set up vcpkg
export VCPKG_ROOT="$PWD/vcpkg"
"$VCPKG_ROOT"/bootstrap-vcpkg.sh
# Build and test
cmake --workflow --preset=gcc-release
# Run an example
./build/gcc-release/reactions-diffusion/biofvm/examples/reactions-diffusion.biofvm.diffuseComprehensive documentation is available at PhysiCore GitHub Pages, including:
- Installation Guide - Dependencies, build instructions, and platform support
- Architecture - Modular design, implementations, and solver backends
- Repository Structure - Directory layout and code organization
We welcome contributions! Please see CONTRIBUTING.md for guidelines and CODE_OF_CONDUCT.md for community standards.
PhysiCore is released under the MIT License. See LICENSE for details.
PhysiCore builds upon the original PhysiCell framework. If you use PhysiCore in your research, please cite:
A. Ghaffarizadeh, R. Heiland, S.H. Friedman, S.M. Mumenthaler, and P. Macklin, PhysiCell: an open source physics-based cell simulator for 3-D multicellular systems, PLoS Comput. Biol. 14(2): e1005991 (2018). DOI: 10.1371/journal.pcbi.1005991.