Paul Macklin's Math Cancer Lab Website

MathCancer on Twitter

Recent news

Thursday, Feb 15th, 2018
ParaView for PhysiCell – Part 1: In this tutorial, we discuss the topic of visualizing data that is generated by PhysiCell. Specifically, we discuss the visualization of cells. In a later ... [read more]

Sunday, Feb 11th, 2018
Adding a directory to your Windows path: When you’re setting your BioFVM / PhysiCell g++ development environment, you’ll need to add the compiler, MSYS, and your text editor (like Notepad++) to your ... [read more]

Click here for more news!

PhysiCell: an open source physics-based cell simulator

Download the latest version (1.3.1)

[Github mirror: Version 1.3.1]


Many multicellular systems problems can only be understood by studying how cells move, grow, divide, interact, and die. Tissue-scale dynamics emerge from systems of many interacting cells as they respond to and influence their microenvironment. The ideal "virtual laboratory" for such multicellular systems simulates both the biochemical microenvironment (the "stage") and many mechanically and biochemically interacting cells (the "players" upon the stage). PhysiCell was developed to work in concert with BioFVM to fill this role as a virtual laboratory.

Project goals

PhysiCell aims to provide a robust, scalable code for simulating large systems of cells in 3-D tissues on standard desktop computers. Among our design goals:

What's New Back to top

July 31, 2018: We released PhysiCell 1.3.1, which introduced a new cell cycle model, improved the safety and speed of gradient calculations, and added new functions to Mechanics to simplify changing the interaction distance and equilibrium cell spacing. See the README for a full list of changes.

February 23, 2018: We released PhysiCell 1.3.0, which introduced two new cell cycle models, new capabilities for saving parameters as XML configuration files, and improved control over how output data are saved. See the README for a full list of changes.

November 4, 2017: We released PhysiCell 1.2.2, which focused on simplifying Makefiles (especially for OSX users), unifying the structure of sample projects (including the 2D and 3D template projects), and numerous minor bugfixes. See the README for a full list of changes.

September 1, 2017: We released PhysiCell 1.2.1, which includes four major new sample projects in multicellular bioengineering, cancer heterogeneity, and cancer immunology. It also includes improved MultiCellDS outputs, new Matlab routines for reading and processing saved data, and bugfixes. See the README for a full list of changes.
This is the version we used for our resubmission to PLoS Computational Biology. Preprint available at:

July 30, 2017: We released PhysiCell 1.2.0, which contains a reworked Phenotype that should be much easier to use. Motility is now extensively improved, allowing implementation of both We include an all new user manual on all the main functions and classes; see the documentation folder in your download. Lastly, this is the first version to include a Virtual Machine appliance version: if you have a virtual machine like VirtualBox installed, you can import the PhysiCell virtual machine to get a complete graphical Linux OS, compiler, and latest version of PhysiCell. See the README for a full list of changes.

May 17, 2017: We released PhysiCell 1.1.0, which contains numerous simplifications for creating new projects, fast SVG (scalable vector graphics) cross-sections (as virtual pathology), and preliminary MultiCellDS outputs. See the README for a full list of changes.

September 27, 2016: We submitted PhysiCell to PLoS Computational Biology as a software article. As part of that submission, PhysiCell is now available as open source, under the BSD license.

Method, accuracy, and performance Back to top

PhysiCell extends the agent-based model from Macklin et al. (2012) to 3D, with improved sub-models for cell volume regulation, cell cycling, apoptosis, and necrosis. It uses cross-platform compatible C++ (tested on OSX, Linux, and Windows), and it has been parallelized using OpenMP. More details will be available once the method is fully published.

Computational cost scales linearly with the number of simulated cells, and we have tested all the major software components for numerical accuracy and convergence. Simulations up to 1 million cells are feasible on a modern Intel i7 processor with 16-32 GB of system memory. Larger simulations are feasible on HPC compute nodes.

Back to top

MORE COMING SOON! PhysiCell is published, so see examples in 10.1371/journal.pcbi.1005991.

We'll post some updated examples once PhysiCell is published. In the meantime, please enjoy this early simulation test of a 3-D hanging-drop tumor spheroid.

Licensing and disclaimers Back to top

PhysiCell is licensed under the (3-Clause) BSD License. It is GPL v2 and v3 compatible, and suitable for commercial use in many circumstances.

PhysiCell is an academic/scientific code, and it should not be used as the basis for individual medical decisions. (That's what peer review, clinical trials, and FDA oversight are for!) Always consult your physician when making medical decisions.

Downloads Back to top


PhysiCell is available for download at SourceForge. Each download includes a tutorial and code examples.

Most recent versions

Version Release Date Download links
1.3.1 31 July 2018 Download source from SourceForge (zipped source)
Mirrored source on GitHub (zipped source)
Notes: New cycle models, easier Mechanics, safer/faster gradient calculations.
1.3.0 23 February 2018 Download source from SourceForge (zipped source)
Mirrored source on GitHub (zipped source)
Notes: New cycle models, XML configuration files, control over save data.
1.2.2 4 November 2017 Download source from SourceForge (zipped source)
Mirrored source on GitHub (zipped source)
Notes: Simpler Makefiles, more unified sample project structure, brand new Quickstart guide, updated user manual, and minor bugfixes.
1.2.1 1 September 2017 Download source from SourceForge (zipped source)
Mirrored source on GitHub (zipped source) [] (virtual appliance)
Notes: New code samples for multicellular bioengineering, cancer heterogeneity, cancer immunology. Bugfixes. Improved MultiCellDS output.
1.2.0 30 July 2017 Download source from SourceForge (zipped source)
Mirrored source on GitHub (zipped source) [] (virtual appliance)
Notes: Major Phenotype rewrite, usability improvements, new motility, full user guide.
1.1.1 18 May 2017 []
Notes: Minor bugfixes
1.1.0 16 May 2017 []
Notes: Usability, visualization, and MultiCellDS improvements
1.0.0 12 September 2016 []
Notes: First public release


User Manual
A full user manual is included with every PhysiCell download.

You can also download the user manual here.
Quick Start Guide
Assuming you have a working C++11 environment (with OpenMP support), this quick start will get you up and running your first PhysiCell sample code in under an hour. It is included in every PhysiCell download.

You can also download the quick start guide here.
Tutorials and blog posts
We have posted tutorials on setting up a compatible g++ development, common compiling problems, and using PhysiCell. Please visit:

PhysiCell Method Paper:
Ghaffarizadeh et al. (2017, in revision) published the original version of PhysiCell. It is under review and revision at PLoS Computational Biology.
bioRxiv preprint:
PhysiCell Method Paper: Supplementary Materials
The supplementary materials to Ghaffarizadeh et al. (2017, in revision) includes more information on the underlying algorithms, reference parameter values, and extensive testing results.

Support Back to top

For support, please contact Paul Macklin.

If you plan to use PhysiCell in a grant proposal or a project, please consider including Paul Macklin as a Co-I or consultant for more dedicated support.


We are creating numerous tutorials on using PhysiCell. Please visit:

New users should particularly note the tutorials on preparing your development environment for C++ programs with OpenMP.

Please note that OSX by default uses "fake" gcc (an alias that substitutes LLVM/Clang, often without OpenMP suppport) in their command line. Those users should install a full version gcc if they can't compile PhysiCell. See this tutorial.

Bugs and Support Requests

Users can submit bug reports and support requests at:

Development Roadmap Back to top

More soon.

How to Cite PhysiCell Back to top

PhysiCell was published after extensive peer review in PLoS Computational Biology. Please cite:

We built our model using PhysiCell (Version 1.3.1). [1]

[1] 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.

Some Publications and Projects that cite or use PhysiCell

To be updated soon! just yet. :-)

Additional topics Back to top

Related Projects