We describe a software package called VPLanet that simulates fundamental
aspects of planetary system evolution over Gyr timescales, with a focus on
investigating habitable worlds. In this initial release, eleven physics modules
are included that model internal, atmospheric, rotational, orbital, stellar,
and galactic processes. Many of these modules can be coupled simultaneously to
simulate the evolution of terrestrial planets, gaseous planets, and stars. The
code is validated by reproducing a selection of observations and past results.
VPLanet is written in C and designed so that the user can choose the physics
modules to apply to an individual object at runtime without recompiling, i.e.,
a single executable can simulate the diverse phenomena that are relevant to a
wide range of planetary and stellar systems. This feature is enabled by
matrices and vectors of function pointers that are dynamically allocated and
populated based on user input. The speed and modularity of VPLanet enables
large parameter sweeps and the versatility to add/remove physical phenomena to
assess their importance. VPLanet is publicly available from a repository that
contains extensive documentation, numerous examples, Python scripts for
plotting and data management, and infrastructure for community input and future
development.Comment: 75 pages, 34 figures, 10 tables, accepted to the Proceedings of the
Astronomical Society of the Pacific. Source code, documentation, and examples
available at https://github.com/VirtualPlanetaryLaboratory/vplane