Welcome to COSMIC’s documentation!

COSMIC (Compact Object Synthesis and Monte Carlo Investigation Code) is a rapid binary population synthesis suite with a special focus of generating compact binary populations.

COSMIC currently implements stellar evolution using SSE (Hurley, Pols, and Tout 2000) and binary interactions using BSE (Hurley, Tout, and Pols 2002). Several modifications have been applied to BSE to account for recent updates to binary evolution especially important to compact binary formation (e.g. metallicity-dependent stellar winds or black hole natal kick strengths). For a detailed discussion of these modifications, see Breivik et al. 2020.


COSMIC’s primary purpose is to generate synthetic populations with an adaptive size based on how the shape of binary parameter disributions change as the number of simulated binaries increases. This is done using the cosmic-pop exectuable which is installed with COSMIC. See Generate a population the COSMIC way for more details.

COSMIC can also be used to simulate a single binary at a time, a list of multiple binaries, a grid of binaries, or a fixed population size as well as restart binaries at a mid point in their evolution. For more details on how to use COSMIC in these ways see Using COSMIC to evolve binaries and Generate a binary population by hand.

Package documentation

Please consult these pages for more details on the modules in COSMIC: