nbodykit.cosmology.background

Classes

MatterDominated(Omega0_m[, Omega0_lambda, ...])

Perturbation with matter dominated initial condition.

Perturbation(a[, a_normalize])

Perturbation Growth coefficients at several orders.

RadiationDominated(cosmo[, a, a_normalize])

Perturbation with Radiation dominated initial condition

class nbodykit.cosmology.background.MatterDominated(Omega0_m, Omega0_lambda=None, Omega0_k=0, a=None, a_normalize=1.0)[source]

Perturbation with matter dominated initial condition.

This is usually referred to the single fluid approximation as well.

The result here is accurate upto numerical precision. If Omega0_m

Parameters
  • Omega0_m – matter density at redshift 0

  • Omega0_lambda – Lambda density at redshift 0, default None; set to ensure flat universe.

  • Omega0_k – Curvature density at redshift 0, default : 0

  • a (array_like) – a list of time steps where the factors are exact. other a values are interpolated.

Methods

D1(a[, order])

Linear order growth function.

D2(a[, order])

Second order growth function.

E(a[, order])

Hubble function and derivatives against log a.

Gf(a)

FastPM growth factor function, eq, 20

Gf2(a)

Gf but for second order LPT

Gp(a)

FastPM growth factor function, eq, 19

Gp2(a)

Gp for second order LPT FastPM growth factor function, eq, 19

f1(a)

Linear order growth rate

f2(a)

Second order growth rate.

gf(a)

Similarly, the derivative is against ln a, so gf = Gf(a, order=1) / a

gf2(a)

gf but for second order LPT

gp(a)

Notice the derivative of D1 is against ln a but gp is d D1 / da, so gp = D1(a, order=1) / a

gp2(a)

gp for second order LPT

Hfac

Om

efunc

efunc_prime

get_initial_condition

ode

D1(a, order=0)

Linear order growth function.

Parameters
  • a (float, array_like) – scaling factor

  • order (int) – order of differentation; 1 for first derivative against log a.

Returns

array_like

Return type

linear order growth function.

D2(a, order=0)

Second order growth function.

Parameters
  • a (float, array_like) – scaling factor

  • order (int) – order of differentation; 1 for first derivative against log a.

Returns

array_like

Return type

second order growth function.

E(a, order=0)

Hubble function and derivatives against log a.

Gf(a)

FastPM growth factor function, eq, 20

Gf2(a)

Gf but for second order LPT

Gp(a)

FastPM growth factor function, eq, 19

Gp2(a)

Gp for second order LPT FastPM growth factor function, eq, 19

f1(a)

Linear order growth rate

Parameters
  • a (float, array_like) – scaling factor

  • order (int) – order of differentation; 1 for first derivative against log a.

Returns

array_like

Return type

linear order growth rate.

f2(a)

Second order growth rate.

Parameters
  • a (float, array_like) – scaling factor

  • order (int) – order of differentation; 1 for first derivative against log a.

Returns

array_like

Return type

second order growth rate.

gf(a)

Similarly, the derivative is against ln a, so gf = Gf(a, order=1) / a

gf2(a)

gf but for second order LPT

gp(a)

Notice the derivative of D1 is against ln a but gp is d D1 / da, so gp = D1(a, order=1) / a

gp2(a)

gp for second order LPT

class nbodykit.cosmology.background.Perturbation(a, a_normalize=1.0)[source]

Perturbation Growth coefficients at several orders.

2-LPT is implemented. This implements the single fluid model of Boltamann equations. Therefore it is accurate only in a matter dominated universe.

All derivatives are against lna.

Note

Formulas are derived from Yin Li’s notes on 2LPT.

Methods

D1(a[, order])

Linear order growth function.

D2(a[, order])

Second order growth function.

E(a[, order])

Hubble function and derivatives against log a.

Gf(a)

FastPM growth factor function, eq, 20

Gf2(a)

Gf but for second order LPT

Gp(a)

FastPM growth factor function, eq, 19

Gp2(a)

Gp for second order LPT FastPM growth factor function, eq, 19

f1(a)

Linear order growth rate

f2(a)

Second order growth rate.

gf(a)

Similarly, the derivative is against ln a, so gf = Gf(a, order=1) / a

gf2(a)

gf but for second order LPT

gp(a)

Notice the derivative of D1 is against ln a but gp is d D1 / da, so gp = D1(a, order=1) / a

gp2(a)

gp for second order LPT

Hfac

ode

D1(a, order=0)[source]

Linear order growth function.

Parameters
  • a (float, array_like) – scaling factor

  • order (int) – order of differentation; 1 for first derivative against log a.

Returns

array_like

Return type

linear order growth function.

D2(a, order=0)[source]

Second order growth function.

Parameters
  • a (float, array_like) – scaling factor

  • order (int) – order of differentation; 1 for first derivative against log a.

Returns

array_like

Return type

second order growth function.

E(a, order=0)[source]

Hubble function and derivatives against log a.

Gf(a)[source]

FastPM growth factor function, eq, 20

Gf2(a)[source]

Gf but for second order LPT

Gp(a)[source]

FastPM growth factor function, eq, 19

Gp2(a)[source]

Gp for second order LPT FastPM growth factor function, eq, 19

f1(a)[source]

Linear order growth rate

Parameters
  • a (float, array_like) – scaling factor

  • order (int) – order of differentation; 1 for first derivative against log a.

Returns

array_like

Return type

linear order growth rate.

f2(a)[source]

Second order growth rate.

Parameters
  • a (float, array_like) – scaling factor

  • order (int) – order of differentation; 1 for first derivative against log a.

Returns

array_like

Return type

second order growth rate.

gf(a)[source]

Similarly, the derivative is against ln a, so gf = Gf(a, order=1) / a

gf2(a)[source]

gf but for second order LPT

gp(a)[source]

Notice the derivative of D1 is against ln a but gp is d D1 / da, so gp = D1(a, order=1) / a

gp2(a)[source]

gp for second order LPT

class nbodykit.cosmology.background.RadiationDominated(cosmo, a=None, a_normalize=1.0)[source]

Perturbation with Radiation dominated initial condition

This is approximated because the single fluid scale independent solution will need an initial condition that comes from a true Boltzmann code.

Here, the first order result is tuned to agree at sub-percent level comparing to a true multi-fluid boltzmann code under Planck15 cosmology.

Parameters
  • cosmo (Cosmology) – a astropy Cosmology like object.

  • a (array_like) – a list of time steps where the factors are exact. other a values are interpolated.

Methods

D1(a[, order])

Linear order growth function.

D2(a[, order])

Second order growth function.

E(a[, order])

Hubble function and derivatives against log a.

Gf(a)

FastPM growth factor function, eq, 20

Gf2(a)

Gf but for second order LPT

Gp(a)

FastPM growth factor function, eq, 19

Gp2(a)

Gp for second order LPT FastPM growth factor function, eq, 19

f1(a)

Linear order growth rate

f2(a)

Second order growth rate.

gf(a)

Similarly, the derivative is against ln a, so gf = Gf(a, order=1) / a

gf2(a)

gf but for second order LPT

gp(a)

Notice the derivative of D1 is against ln a but gp is d D1 / da, so gp = D1(a, order=1) / a

gp2(a)

gp for second order LPT

Hfac

Om

efunc

efunc_prime

get_initial_condition

ode

D1(a, order=0)

Linear order growth function.

Parameters
  • a (float, array_like) – scaling factor

  • order (int) – order of differentation; 1 for first derivative against log a.

Returns

array_like

Return type

linear order growth function.

D2(a, order=0)

Second order growth function.

Parameters
  • a (float, array_like) – scaling factor

  • order (int) – order of differentation; 1 for first derivative against log a.

Returns

array_like

Return type

second order growth function.

E(a, order=0)

Hubble function and derivatives against log a.

Gf(a)

FastPM growth factor function, eq, 20

Gf2(a)

Gf but for second order LPT

Gp(a)

FastPM growth factor function, eq, 19

Gp2(a)

Gp for second order LPT FastPM growth factor function, eq, 19

f1(a)

Linear order growth rate

Parameters
  • a (float, array_like) – scaling factor

  • order (int) – order of differentation; 1 for first derivative against log a.

Returns

array_like

Return type

linear order growth rate.

f2(a)

Second order growth rate.

Parameters
  • a (float, array_like) – scaling factor

  • order (int) – order of differentation; 1 for first derivative against log a.

Returns

array_like

Return type

second order growth rate.

gf(a)

Similarly, the derivative is against ln a, so gf = Gf(a, order=1) / a

gf2(a)

gf but for second order LPT

gp(a)

Notice the derivative of D1 is against ln a but gp is d D1 / da, so gp = D1(a, order=1) / a

gp2(a)

gp for second order LPT