CMBEASY:: an Object Oriented Code for the Cosmic Microwave Background
Michael Doran
TL;DR
cmbeasy tackles the need for flexible, testable CMB anisotropy calculations by re-engineering the cmbfast framework into a modular, object-oriented code in C++. It introduces core components (Cosmos, Perturbation, ScalarIntegrator) and supports gauge-invariant perturbations and quintessence via QuintCosmos and Quintessence, plus a Qt GUI for user interaction. The implementation maintains or exceeds the accuracy of cmbfast (better than ~0.5%) while enabling easy substitution of cosmological models and new physics, accelerating development for high-precision CMB predictions. This design positions cmbeasy as a practical platform for exploring Planck-era data and beyond, with extensible pathways to include lensing, reionization, and cross-correlations.
Abstract
We have ported the cmbfast package to the C++ programming language to produce cmbeasy, an object oriented code for the cosmic microwave background. The code is available at www.cmbeasy.org. We sketch the design of the new code, emphasizing the benefits of object orientation in cosmology, which allow for simple substitution of different cosmological models and gauges. Both gauge invariant perturbations and quintessence support has been added to the code. For ease of use, as well as for instruction, a graphical user interface is available.
