The Virtual Planet Simulator

Simulate Planetary
System Evolution

VPLanet models the coupled evolution of planetary systems over billions of years — from planetary cores to passing stars — with a focus on habitability. Physical models are coupled together via ordinary differential equations to simulate complex feedback loops across 13 interacting modules.

13
Physics Modules
41
Examples
19,667
Unit Tests
70
Test Simulations

13 Coupled Simulation Modules

Each module encodes a specific physical process as ordinary differential equations. Modules can be combined to simulate complex feedback loops across entire planetary systems.

🌊
AtmEsc
Atmospheric escape including Roche lobe overflow, energy-limited and radiation-recombination-limited thermal escape, water photolysis, and oxygen buildup.
🔄
Binary
Orbital evolution of a single circumbinary planet around a binary star system.
💫
DistOrb
2nd and 4th order semi-analytic models of orbital evolution outside of mean-motion resonances.
🌐
DistRot
Evolution of a world's rotational axis driven by orbital evolution and stellar torques.
🌊
EqTide
Tidal evolution in the equilibrium tide framework, modeling spin-orbit coupling and orbital circularization.
Flare
Flare frequency distribution and flare XUV luminosity evolution in low-mass stars.
🌌
GalHabit
Wide orbit evolution due to the galactic tide and impulses from passing stars, including radial migration.
🔥
MagmOc
Thermal and geochemical evolution of a magma ocean, tracking solidification and volatile outgassing.
❄️
POISE
Energy balance climate model with dynamic ice sheets and lithospheric compression/rebound.
☢️
RadHeat
Radiogenic heating in a world's core, mantle, and crust from long-lived radioactive isotopes.
SpiNBody
N-body integrator for the gravitational evolution of a system of massive particles.
☀️
Stellar
Stellar evolution of luminosity, temperature, radius, and mass concentration. Includes magnetic braking and wind spin-down.
🧲
ThermInt
Thermal interior evolution including magnetic field generation for plate tectonics or stagnant lid regimes.

How VPLanet Works

VPLanet reads input files, couples the selected modules, and integrates the system forward in time, writing output at user-specified intervals.

VPLanet Architecture Flow Chart

Execution flow: from reading options through integration to final output.

Published Example Outputs

41 verified examples reproduce figures from Barnes et al. (2020) and subsequent publications. All input files and plotting scripts are included in the repository.

Installation

VPLanet requires a C compiler (gcc or clang) and Python 3.6+. Install via pip or build from source.

terminal
# Install via pip
$ pip install vplanet

# Or build from source
$ git clone https://github.com/VirtualPlanetaryLaboratory/vplanet.git
$ cd vplanet
$ python setup.py install

# Run an example
$ cd examples/EarthInterior
$ vplanet vpl.in
$ vplot .

Supporting Tools

A suite of companion tools for visualization, parameter sweeps, and large-scale data analysis.

Acknowledgments

If you use VPLanet in your research, please cite the following paper.

Reference

Barnes, R., Luger, R., Deitrick, R., Driscoll, P., Quinn, T. R., Fleming, D. P., Smotherman, H., McDonald, D. V., Wilhelm, C., Garcia, R., Barth, P., Guyer, B., Meadows, V. S., Bitz, C. M., Gupta, A., Mullins, B. E., & Albert, T. (2020). VPLanet: The Virtual Planet Simulator. Publications of the Astronomical Society of the Pacific, 132, 24502. doi:10.1088/1538-3873/ab3ce8

VPLanet development has been supported by NASA grants NNA13AA93A, NNX15AN35G, 80NSSC17K048, 13-13NAI7_0024, 80NSSC20K0229, and 80NSSC20K0261, with additional support from the University of Washington, Carnegie Institute for Science, and Austrian Space Research Institute (IWF).