Slow-roll inflation module for CAMB


Here are some subroutines that can be used with the latest souped up version of the CMB anisotropies code CAMB in order to calculate the scalar and tensor power spectra from single field inflation. The inflationary power spectra shapes depend on 5 basic physical parameters which the user can change:

P_scalar The scalar initial power spectrum normalisation at...
k_star The expansion point of the initial power spectra
eps1, eps2, eps3 The horizon flow parameters (a variant of the Hubble slow-roll parameters) which determine the shapes and relative normalisation of the scalar and tensor power spectra


In addition the user can set the variable ps_type = 1,2 to evaluate the power spectra at first or second order accuracy respectively. For ps_type=1, the power spectra depend on eps1 and eps2; for ps_type=2, the power spectra depend on all three eps1, eps2 and eps3.

These codes are written by Samuel Leach. Contact s.m.leach@sussex.ac.uk with any questions, comments, bug reports etc.

Related papers:

CMB constraints:

astro-ph/0306305 Samuel Leach and Andrew Liddle

hep-ph/0302150 V. Barger, Hye-Sung Lee and Danny Marfatia

astro-ph/0207213 Samuel Leach and Andrew Liddle

Power spectra expressions:

astro-ph/0202094 Samuel Leach, Andrew Liddle, Jérôme Martin and Dominik Schwarz.

Horizon flow parameter definitions:

astro-ph/0106020 Dominik J. Schwarz, Cesar A. Terrero-Escalante and Alberto A. Garcia


Software that you will need:

• An F90 compiler. If you are a linux user then a free F90 compiler is available from Intel at
http://developer.intel.com/software/products/compilers/f50/linux/noncom.htm

• Download the May 2003 (or later) version of CAMB

• Download the slow-roll inflation subroutines CAMB MAY03_INFLATION.tar.gz. This file contains all the required inflationary subroutines. CAMB_INFLATION.tar.gz is an version of this software which works with the older versions of CAMB (January 2002) without the full transfer function/power spectrum split..

Installation instructions

1) Extract the files using for example:

gunzip CAMB_May03.tar.gz
gunzip CAMB_MAY03_INFLATION.tar.gz
tar -xvf CAMB_May03.tar
tar -xvf CAMB_INFLATION.tar
mv Makefile_inflation Makefile

Note: the makefile from CAMB_INFLATION.tar.gz has replaced the makefile from CAMB_Jan02.tar.gz.

2) Make camb using:

make camb

3) Make a tester program using

make camb_tester

You should now have installed CAMB to use the inflation_inidriver.F90 driver file, and the power_inflation.f90 power spectrum module. You may need to make some minor modifcations to the makefile depending on the system that you are using eg. optimisation compilation flags typically speed things up greatly.

Running CAMB

There are two ways to check whether CAMB is working. Either use

camb inflation_params.ini
or
camb_tester

The inflation_params.ini ascii file contains all the inflationary and cosmological parameters as well as the CAMB options. camb_tester (which requires CAMB to be already compiled) uses some default inflationary parameters (corresponding to the figure at the top of this page) in the program test_camb_module.f90. This program uses a module, camb_module.f90, which can be used to generate an inflation_params.ini parameter file, allowing CAMB to be called as a subroutine. The default cosmological parameters are for a lambda CDM model.

Some hints

  • You can use the full second order predictions (setting ps_type=2) as a function of only eps1 and eps2 by fixing eps3=0.0. As the CMB data improves we can think about opening up the eps3 direction.
  • Beware: for large eps_i and/or large |ln(k/k*)| the power spectrum expressions can go negative. This is a warning telling you that the inflationary predictions have broken down far away from the pivot scale.