Green’s function method


Computations of the CMB spectral distortion caused by different energy-release mechanisms  using the full thermalization code ‘CosmoTherm’ is rather time-consuming. ‘CosmoTherm’ is thus not well-suited for parameter estimation and experimental forecasts. However, since from COBE/FIRAS we know that distortions have to be small, the problem can be linearized. In this case, a Green’s function approach can be used to approximate the distortion created by energy release in an efficient and quasi-exact way. The Green’s function for different heating redshifts is illustrated in Fig. 1 (adapted from Chluba, 2013, MNRAS, 434, 352).

Fig. 1: Change in the CMB spectrum after single energy release at different heating redshifts, zh. At z > few x 106, a temperature shift is created. At z ~ 3 x 105 a pure µ-distortion appears, while at z < 104 a pure y-distortion is created. At all intermediate stages, the signal is given by a superposition of these extreme cases with some residual that contains information about the time-dependence of the energy-release process.

  1. Chluba & Sunyaev, 2012, MNRAS, 419, 1294 (arXiv:1109.6552)

  2. Chluba, 2013, MNRAS, 434, 352 (arXiv:1304.6120)

The routines with different examples are available in the package ‘Greens’, which can be downloaded here. The current version is Greens v1.0.2 (Oct. 2013), and the tar-file is about 5MB large (mainly because of the precomputed Green’s function database). The package also includes Python binding and a simple Monte-Carlo toolkit that allows forecasts for different energy-release scenarios.

When using  the ‘Greens’ package please consider referring to:

For comments, questions, or bug reports please email:


Lastest Updates

--------------------------------------------------------------------------------------------------------------------------------------------- Update (24.12.2015 | Greens v1.0.3)

  1. changed initialization sequence for Greens function

  2. added particle production case

  3. added user-defined P(k) setups

  4. fixed bug reports (thanks to Marius Millea)

--------------------------------------------------------------------------------------------------------------------------------------------- Update (08.10.2013 | Greens v1.0.2)

  1. added some header information to main output functions

  2. added some options to ''

--------------------------------------------------------------------------------------------------------------------------------------------- Update (30.08.2013 | Greens v1.0.1)

  1. added runmodes and setup for step and bend power spectrum cases

--------------------------------------------------------------------------------------------------------------------------------------------- First release (10.04.2013 | Greens v1.0)

  1. initial version of Green's function routines

  2. executable is created to run these modes with different settings

  3. different examples are given in 'run_Greens.cpp'

  4. python part hosted in './python/'