|
Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
|
Classes | |
| class | Integr_obj |
| basic integration object, wrapper for GSL integration functions More... | |
| class | Integr_obj_qag |
| QAG adaptive integration. More... | |
| class | Integr_obj_qagiu |
| QAGI adaptive integration on infinite intervals. More... | |
| class | Integr_obj_qawf |
| QAWF adaptive integration for Fourier integrals. More... | |
| class | Integr_obj_qawo |
| QAWO adaptive integration for oscillatory functions. More... | |
| struct | integrand_param |
| general integrand with callable function and one parameter More... | |
| class | ODE_Solver |
| : Explicit embedded Runge-Kutta Prince-Dormand (8, 9) method. More... | |
Functions | |
| template<typename T > | |
| T | hubble_param (T a, const Cosmo_Param &cosmo) |
| double | growth_factor_integrand (double a, void *params) |
| double | growth_factor (double a, void *params) |
| double | ln_growth_factor (double log_a, void *parameters) |
| template<typename T > | |
| size_t | get_nearest (const T val, const std::vector< T > &vec) |
| template<class P > | |
| double | xi_integrand_W (double k, void *params) |
| integrand for correlation function when weight-function 'sin(kr)' is used in integration More... | |
| template<class P > | |
| double | xi_integrand_G (double k, void *params) |
| integrand for correlation function when non-weighted integration is used More... | |
| template<class P > | |
| double | sigma_integrand_G (double k, void *params) |
| integrand for amplitude of mass fluctuaton when non-weighted integration is used More... | |
| template<class P , class T > | |
| void | gen_fce_r_binned_gsl (const double x_min, const double x_max, const double lin_bin, const P &P_k, Data_Vec< double, 2 > &fce_binned, T &fce_r) |
| compute given function in linear range and store results More... | |
| template<class P , class T > | |
| void | gen_corr_func_binned_gsl (const Sim_Param &sim, const P &P_k, Data_Vec< double, 2 > &corr_func_binned, T &xi_r) |
| compute correlation function and store results More... | |
| template<class P , class T > | |
| void | gen_sigma_func_binned_gsl (const Sim_Param &sim, const P &P_k, Data_Vec< double, 2 > &sigma_binned, T &sigma_r) |
| compute amplitude of density fluctuation and store results More... | |
Variables | |
| constexpr double | GSL_EPSABS = 1e-7 |
| absolute error at z = 0, scales for higher redshifts More... | |
| constexpr size_t | GSL_LIMIT = 1000 |
| max. number of subintervals for adaptive integration More... | |
| constexpr size_t | GSL_N = 100 |
| max. number of bisections of integration interval (QAWO / QAWF) More... | |
PRIVATE FUNCTIONS DEFINITIONS *
| void anonymous_namespace{core_power.cpp}::gen_corr_func_binned_gsl | ( | const Sim_Param & | sim, |
| const P & | P_k, | ||
| Data_Vec< double, 2 > & | corr_func_binned, | ||
| T & | xi_r | ||
| ) |
compute correlation function and store results
| P | callable object with 'operator()(double)' |
| T | callable object with 'operator()(double)' |
| sim | simulation parameters |
| P_k | power spectrum (callable) |
| corr_func_binned | object to store binned correlation function |
| xi_r | correlation function at given r (callable) |
Definition at line 362 of file core_power.cpp.
References gen_fce_r_binned_gsl(), Range::lower, Sim_Param::other_par, Sim_Param::out_opt, Out_Opt::points_per_10_Mpc, Range::upper, and Other_par::x_corr.
Referenced by gen_corr_func_binned_gsl_qawf().
| void anonymous_namespace{core_power.cpp}::gen_fce_r_binned_gsl | ( | const double | x_min, |
| const double | x_max, | ||
| const double | lin_bin, | ||
| const P & | P_k, | ||
| Data_Vec< double, 2 > & | fce_binned, | ||
| T & | fce_r | ||
| ) |
compute given function in linear range and store results
| P | callable object with 'operator()(double)' |
| T | callable object with 'operator()(double)' |
| x_min | starting radius of function evaluation |
| x_max | last radius of function evaluation |
| lin_bin | linear step between function evaluations |
| P_k | power spectrum (callable) |
| fce_binned | object to store binned function |
| fce_r | callable function |
Definition at line 335 of file core_power.cpp.
References anonymous_namespace{core_power.cpp}::integrand_param< P >::r, and Data_Vec< T, N >::resize().
Referenced by gen_corr_func_binned_gsl(), and gen_sigma_func_binned_gsl().
| void anonymous_namespace{core_power.cpp}::gen_sigma_func_binned_gsl | ( | const Sim_Param & | sim, |
| const P & | P_k, | ||
| Data_Vec< double, 2 > & | sigma_binned, | ||
| T & | sigma_r | ||
| ) |
compute amplitude of density fluctuation and store results
| P | callable object with 'operator()(double)' |
| T | callable object with 'operator()(double)' |
| sim | simulation parameters |
| P_k | power spectrum (callable) |
| sigma_binned | object to store binned amplitude of density fluctuation |
| sigma_r | amplitude of density fluctuation at given r (callable) |
Definition at line 382 of file core_power.cpp.
References gen_fce_r_binned_gsl(), Range::lower, Sim_Param::other_par, Sim_Param::out_opt, Out_Opt::points_per_10_Mpc, Range::upper, and Other_par::x_corr.
Referenced by gen_sigma_binned_gsl_qawf().
| size_t anonymous_namespace{core_power.cpp}::get_nearest | ( | const T | val, |
| const std::vector< T > & | vec | ||
| ) |
Definition at line 260 of file core_power.cpp.
Definition at line 244 of file core_power.cpp.
References hubble_param(), and pow().
Referenced by growth_factor(), and norm_growth_factor().
| T anonymous_namespace{core_power.cpp}::hubble_param | ( | T | a, |
| const Cosmo_Param & | cosmo | ||
| ) |
Definition at line 239 of file core_power.cpp.
References Cosmo_Param::Omega_L(), Cosmo_Param::Omega_m, pow(), and sqrt().
Referenced by growth_factor(), and growth_factor_integrand().
Definition at line 254 of file core_power.cpp.
References growth_factor().
Referenced by growth_rate().
| double anonymous_namespace{core_power.cpp}::sigma_integrand_G | ( | double | k, |
| void * | params | ||
| ) |
integrand for amplitude of mass fluctuaton when non-weighted integration is used
| P |
| k | |
| params |
Definition at line 307 of file core_power.cpp.
References anonymous_namespace{core_power.cpp}::integrand_param< P >::P_k, PI, anonymous_namespace{core_power.cpp}::integrand_param< P >::r, and w.
| double anonymous_namespace{core_power.cpp}::xi_integrand_G | ( | double | k, |
| void * | params | ||
| ) |
integrand for correlation function when non-weighted integration is used
| P | callable object with 'operator()(double)' |
| k | |
| params |
Definition at line 290 of file core_power.cpp.
References anonymous_namespace{core_power.cpp}::integrand_param< P >::P_k, PI, and anonymous_namespace{core_power.cpp}::integrand_param< P >::r.
| double anonymous_namespace{core_power.cpp}::xi_integrand_W | ( | double | k, |
| void * | params | ||
| ) |
integrand for correlation function when weight-function 'sin(kr)' is used in integration
| P | callable object with 'operator()(double)' |
| k | |
| params |
Definition at line 274 of file core_power.cpp.
References anonymous_namespace{core_power.cpp}::integrand_param< P >::P_k, PI, and anonymous_namespace{core_power.cpp}::integrand_param< P >::r.
| constexpr double anonymous_namespace{core_power.cpp}::GSL_EPSABS = 1e-7 |
absolute error at z = 0, scales for higher redshifts
Definition at line 390 of file core_power.cpp.
Referenced by get_gsl_error().
| constexpr size_t anonymous_namespace{core_power.cpp}::GSL_LIMIT = 1000 |
max. number of subintervals for adaptive integration
Definition at line 391 of file core_power.cpp.
Referenced by gen_corr_func_binned_gsl_qawf(), and gen_sigma_binned_gsl_qawf().
| constexpr size_t anonymous_namespace{core_power.cpp}::GSL_N = 100 |
max. number of bisections of integration interval (QAWO / QAWF)
Definition at line 392 of file core_power.cpp.
Referenced by gen_corr_func_binned_gsl_qawf(), and gen_sigma_binned_gsl_qawf().