13 if (pnl->method == nl_baryon) {
14 if (pnl->nonlinear_verbose > 0)
15 printf(
"Adding baryonic effects (eq 4.2 of 1510.06034) \n");
19 for (index_tau = pnl->tau_size-1; index_tau>=0; index_tau--) {
22 class_call(nonlinear_pk_l(ppt,ppm,pnl,index_tau,pk_l),
26 class_alloc(pvecback,pba->bg_size*
sizeof(
double),pnl->error_message);
28 class_call(background_at_tau(pba,pnl->tau[index_tau],pba->long_info,pba->inter_normal,&last_index,pvecback),
33 for (index_k=0; index_k<pnl->k_size; index_k++) {
38 B = 0.105*log10(pnl->baryon_M_c) - 1.27;
39 B /= (1.+
pow((1./pvecback[pba->index_bg_a]-1.)/2.3, 2.5));
41 k_g = pba->h*0.7*
pow(1.-B, 4)*
pow(pnl->baryon_eta_b,-1.6);
43 G = 1. + B*(1./(1. +
pow(pnl->k[index_k]/k_g,3)) -1.);
46 G *= 1. +
pow(pnl->k[index_k]/55./pba->h,2);
49 pnl->nl_corr_density[index_tau * pnl->k_size + index_k] *=
sqrt(G);
Grid< NDIM, T > sqrt(Grid< NDIM, T > lhs)
float pow(float base, unsigned long int exp)