CMBEASY

4.4

This is the documentation of CMBEASY. Go to the homepage for more information.

Introduction

CMBEASY is a software package for calculating the evolution of density fluctuations in the universe. Most notably, the Cosmic Microwave background temperature anisotropies. The code is based on the CMBFAST package by Uros Seljak and Mattias Zaldarriaga. Without their donation of the CMBFAST package to the public domain, CMBEASY would not exist.

Even though its ancestor is a Fortran program, CMBEASY is fully object oriented C++. This considerably simplifies manipulations and extensions of the code. In addition, a powerful Spline class can be used to easily store and visualize data. Many features of the CMBEASY package are also accessible via a graphical user interface. This may be helpful for gaining intuition, as well as educational purposes.

Installation

Download the appropriate source code package, uncompress it using 'gzip', then untar it using 'tar -xvf package_file', where package_file should be replaced by the name of the package you've downloaded. After un-taring, there will be a directory called 'cmbeasy'. Read the file 'INSTALLATION' on how to proceed.

How to find out about the classes

In order to get a quick overview of the classes, click on the 'Class Hierarchy' link on top of this page. Don't be afraid of the numerous classes displayed ! Most of them are quite small, having only a very limited purpose.

Click on the class you would like to learn more about. Then scroll down to the section 'detailed description'. Quite often, you will even find examples on how to use this class. In addition, CMBEASY itself is an example of how the classes work.

run

For some first runs, I suggest calling "cmb" or "xcmb" with a control-file as argument.

> cmb resources/parameters.cmb

or

> xcmb resources/configuration.cfg

The xcmb driver is more versatile than the cmb driver. Choose whichever you like more.

Yet, to gain full control, call "cmb" without an argument and change the settings in detailed() in driver.cc

Modifying the code

As a first step, I would suggest to change settings in 'driver.cc'. For modifications of the background cosmology, QuintCosmos may serve as an example. The same is true for the perturbation classes. It is also very convenient, to use Spline and SplineWeb, especially, if you would like to keep track of the evolution of some quantity.

After modifying, just type 'make' in cmbeasy's directory. This will rebuild the package, including your changes.

Please see also How to modify the code on how to modify the code.


Generated on Mon May 5 17:48:32 2008 for cmbeasy by  doxygen 1.4.6