Skip to content

Morrigan

License Docs codecov Unit Tests Integration Tests

Morrigan is the protoplanet accretion module of the PROTEUS coupled atmosphere-interior evolution framework. It follows a system of protoplanets through the giant impacts and gravitational scattering by which they accrete, implementing the semi-analytical Monte Carlo model of Kimura et al. (2025). The protoplanets are the planetary embryos of the post-disk stage, and that is what the model and this documentation call them: a set of embryos evolves through secular eccentricity oscillations, orbit crossings, gravitational scatterings, ejections, and giant impacts, until the system settles into a Hill-stable configuration.

Morrigan runs standalone from a TOML settings file, producing per-system tables of the full evolution, every merger, and the surviving planets, and it runs in memory through morrigan.run_system, the entry point PROTEUS uses to drive its accretion coupling: each reported impact grows the coupled planet, re-melts its mantle, delivers volatiles, erodes its atmosphere, and moves its orbit.

Named after Morrigan, a shapeshifting figure from Irish mythology thought to represent the dynamical nature of existence.

Where to go

The model in one paragraph

Embryos are laid out with a fixed spacing in mutual Hill radii and evolve under the classical Laplace-Lagrange secular solution. The time to the next orbit crossing is predicted from the Petit et al. (2020) three-body resonance-overlap timescale, gated by a two-planet stability criterion. When a crossing falls due, the interacting pair either collides, with a probability built from the ratio of its relative eccentricity to the mutual escape eccentricity, or scatters; scattering can excite an orbit past unity eccentricity and eject a body. Collisions merge the pair perfectly, summing the masses and placing the merged body on the orbital-energy-weighted orbit; the model tracks no atmosphere, so impact erosion is left to the consumer. The run ends when the system is Hill-stable or the evolution time is spent.