@@ -44,3 +44,27 @@ can specify more accurately what kind of model you want::
44
44
45
45
Here the kind is the *name * of the class defining this component (see above section
46
46
for how to determine what kinds are available).
47
+
48
+ My mass function looks wrong at small masses, why?
49
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
+ One common reason for this is that the mass function is being calculated at masses
51
+ that correspond to scales at higher *k * than the transfer function was calculated at.
52
+ You can set your *kmax * to be higher to fix this.
53
+
54
+ However, note that setting a higher *kmax * for the CAMB transfer function will not
55
+ automatically fix this, since the underlying CAMB code only calculates the transfer
56
+ function up to an internally-specific *kmax *, and this is extrapolated by HMF.
57
+ This can be easily fixed by setting the CAMB-specific parameter
58
+ ``transfer_params = {"kmax": some_high_number} ``. However, note that this will slow down
59
+ the calculation of the transfer function quite significantly.
60
+
61
+ A cheaper way to fix the problem is to leave the default *kmax * for CAMB, and instead
62
+ use ``extrapolate_with_eh=True ``, which will use Eisenstein & Hu's fitting formula to
63
+ extrapolate the transfer function to higher *k * values. This is not as accurate as
64
+ calculating the transfer function with CAMB out to higher *k * values, but is much faster.
65
+
66
+ .. note :: From v3.5.0, the default behaviour is to extrapolate with Eisenstein & Hu
67
+ fitting formula. This is because the default *kmax * for CAMB is too low for
68
+ the default *kmax * for the mass function, and this was causing problems for
69
+ users. If you want to use the old behaviour, you can set
70
+ ``extrapolate_with_eh=False ``.
0 commit comments