Re: Tabulated Power Spectrum and Initial Conditions

From: Volker Springel <volker_at_MPA-Garching.MPG.DE>
Date: Sun, 30 Jun 2013 09:59:32 +0200

On Jun 30, 2013, at 1:50 AM, Héctor Aceves wrote:

> Hi...
> I have a couple of questions in this topic, sorry for the inconveniences. Comments are welcomed.
> First, I am a bit confused by the comment: "Right. (And note that the code will use P'(k) = k^(PrimordialIndex-1) * P(k) as actual power spectrum for
> the ICs, and this is also what's appearing then in inputspec_ics.txt) "
> [...V. Springel]

The 'PrimordialIndex' option is really meant for the analytic transfer functions in the code which deliver a P(k) assuming a primordial index of 1.

These power spectra can however be 'tilted' by imposing a factor k^(PrimordialIndex-1), which is what the code does. It also does that for a tabulated input spectrum, i.e. if one has calculated one without tilt, one can add the tilt later on by specifying a PrimordialIndex != 1. BUT: If one has already tabulated a spectrum with tilt and wants to keep this as is, one has to specify (somewhat counterintuitively) PrimordialIndex=1 in the parameterfile.

> Say I have a tabulated spectrum P(k) from CAMB at z=49, properly normalized
> to the standard definition of Sig8 (say to 0.816 at z=0) and where I used
> as input parameter the spectral index 0.968, that I plan to use in N-GenIC
> with ReNormalizeInputSpectrum=0. I understand that the P(k) from CAMB is
> the P'(k) [P prime] you indicate above, isn't?

Well, no, it's the P(k).

> So one just has to provide
> in the tabulated file two columns "log k , log [ 4 Pi k^3 P(k)]" with P(k)
> being the one -for example- from CAMB, isn't?
> Secondly, by using the option given in the input parameter file for
> N-GenIC:
> InputSpectrum_UnitLength_in_cm 3.085678e24 ; one can safely input the
> wave-number k in [h/Mpc] units directly from CAMB, isn't?


> Thirdly.. when one uses ReNormalizeInputSpectrum=0, all the sigma^2
> definitions appear irrelevant in this case, isn't?

Yes. It is safer however to ReNormalizeInputSpectrum=1 unless you are positive that you understand the various factors of 2pi that enter different power spectrum / fft conventions.

> Since I understand that
> the Sigma computation is for normalization purposes essentially. In any
> case, I assume one can compute Sigma directly from the initial snapshot,
> after obtaining its power spectrum directly from the data, and compare it
> to the expected value.

Note that there are important complications with this. Your initial snapshot is a particular realization of P(k) over a finite range [kmin, kmax], due to the boxsize limitations. In this range, you will only recover P(k) if you average over many realizations - individual ones can fluctuate up or down, particularly on large scales where there are few modes. Also, depending on the boxsize, there may be large scale power missing that contributes to sigma8.

The normalization N-GenIC carries out is with respect to the linear theory input power spectrum (unrestricted by boxsize) from which the realization of the ICs is drawn.


> Thanks for your time and patience :-)
> -Hector
> On Fri, Jun 28, 2013 at 7:29 AM, Volker Springel <
> > wrote:
> > >> Right. (And note that the code will use P'(k) = k^(PrimordialIndex-1) *
> > P(k) as actual power spectrum for the ICs, and this is also what's
> > appearing then in inputspec_ics.txt)
> > >>
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> with a subject of: unsubscribe gadget-list
> A web-archive of this mailing list is available here:
Received on 2013-06-30 09:59:08

This archive was generated by hypermail 2.3.0 : 2023-01-10 10:01:31 CET