|
FML
|
Data Structures | |
| class | SphericalCollapse |
| Class for doing general spherical collapse calculations, i.e. More... | |
| class | SphericalCollapseModel |
| The class contains all the info about the model needed to run the spherical collapse and halomodel Cosmology/gravity functions provided using lambda functions. More... | |
Typedefs | |
| using | Timer = FML::UTILS::Timings |
| using | DVector = FML::SOLVERS::ODESOLVER::DVector |
| using | DVector2D = FML::SOLVERS::ODESOLVER::DVector2D |
| using | ODEFunction = FML::SOLVERS::ODESOLVER::ODEFunction |
| using | ODEFunctionJacobian = FML::SOLVERS::ODESOLVER::ODEFunctionJacobian |
| using | ODESolver = FML::SOLVERS::ODESOLVER::ODESolver |
| using | Spline = FML::INTERPOLATION::SPLINE::Spline |
| using | Func1 = std::function< double(double)> |
Functions | |
| void | compute_growthfactor (const SphericalCollapseModel &model, Spline &growthfactor_spline, Spline &growthrate_spline, const double xini=std::log(1e-5), const double xend=0.0, const int npts=1000) |
| Computes the growth factor (not normalized) and growth rate for a given model and returns splines with \(D(x)\) and \(f(x)\) where \(x=\log(a)\). More... | |
| double | roverR_of_delta_and_x (double delta, double x, double RH0=1.0, double delta_ini=0.0) |
| This is the dimensionless quantity \(r(x)/R\) (the radius of the tophat) for spherical collapse evolution,. More... | |
| double | evolve_spherical_collapse_equations (const SphericalCollapseModel &model, const double delta_ini, DVector &x_array, DVector &delta_array, DVector &delta_prime_array, DVector &delta_lin_array, DVector &delta_lin_prime_array, const bool get_arrays=true, const double xini=std::log(1e-3), const double xcollapse=std::log(1.0), const int npts=1000, const double delta_infinity=1e16) |
| Evolve the spherical collapse equation + linear for a given set of IC delta_ini over a given range [xini,xcollapse] and return the arrays + the x-value where delta(x) > delta_infinity (i.e. More... | |
| double | find_delta_ini (const SphericalCollapseModel &model, const double xini=std::log(1e-3), const double xcollapse=std::log(1.0), const int npts=1000, const double epsilon_delta=1e-8) |
| Do root finding to figure out the delta_ini that gives collapse at x=xcollapse. More... | |
| auto | compute_times (const double xini, const double xcollapse, const SphericalCollapseModel &model, const Spline &delta_spline, const Spline &delta_prime_spline) -> std::tuple< double, double, double, double > |
| Extract useful times from spherical collapse evolution like turnaround, virialization and non-linear onset. More... | |
| void | compute_sphericalcollapse_splines (const SphericalCollapseModel &model, Spline &deltac_of_x_spline, Spline &DeltaVir_of_x_spline, Spline &xnl_of_x_spline, Spline &xta_of_x_spline, Spline &xvir_of_x_spline, Spline &delta_ini_of_x_spline, const double xini=std::log(1e-3), const int npts=1000, bool verbose=false) |
| Do spherical collapse for all times. More... | |
Definition at line 21 of file SphericalCollapse.h.
Definition at line 22 of file SphericalCollapse.h.
| using FML::COSMOLOGY::SPHERICALCOLLAPSE::Func1 = typedef std::function<double(double)> |
Definition at line 14 of file SphericalCollapseModel.h.
Definition at line 23 of file SphericalCollapse.h.
| using FML::COSMOLOGY::SPHERICALCOLLAPSE::ODEFunctionJacobian = typedef FML::SOLVERS::ODESOLVER::ODEFunctionJacobian |
Definition at line 24 of file SphericalCollapse.h.
Definition at line 25 of file SphericalCollapse.h.
Definition at line 26 of file SphericalCollapse.h.
| using FML::COSMOLOGY::SPHERICALCOLLAPSE::Timer = typedef FML::UTILS::Timings |
Definition at line 20 of file SphericalCollapse.h.
| void FML::COSMOLOGY::SPHERICALCOLLAPSE::compute_growthfactor | ( | const SphericalCollapseModel & | model, |
| Spline & | growthfactor_spline, | ||
| Spline & | growthrate_spline, | ||
| const double | xini = std::log(1e-5), |
||
| const double | xend = 0.0, |
||
| const int | npts = 1000 |
||
| ) |
Computes the growth factor (not normalized) and growth rate for a given model and returns splines with \(D(x)\) and \(f(x)\) where \(x=\log(a)\).
| [in] | model | The spherical-collapse model |
| [in,out] | growthfactor_spline | Spline of the growthfactor \(D(\log a)\) |
| [in,out] | growthrate_spline | Spline of the growth-rate \(d\log D(\log a)/d\log a\) |
| [in] | xini | The time \(x=\log(a)\) we start the integration. Fiducial \(a=10^{-5}\). |
| [in] | xend | The time we end the integration. |
| [in] | npts | Number of points (linear between xini and xend) to compute it on. |
Definition at line 12 of file SphericalCollapse.cpp.
| void FML::COSMOLOGY::SPHERICALCOLLAPSE::compute_sphericalcollapse_splines | ( | const SphericalCollapseModel & | model, |
| Spline & | deltac_of_x_spline, | ||
| Spline & | DeltaVir_of_x_spline, | ||
| Spline & | xnl_of_x_spline, | ||
| Spline & | xta_of_x_spline, | ||
| Spline & | xvir_of_x_spline, | ||
| Spline & | delta_ini_of_x_spline, | ||
| const double | xini, | ||
| const int | npts, | ||
| bool | verbose | ||
| ) |
Do spherical collapse for all times.
Definition at line 206 of file SphericalCollapse.cpp.
| auto FML::COSMOLOGY::SPHERICALCOLLAPSE::compute_times | ( | const double | xini, |
| const double | xcollapse, | ||
| const SphericalCollapseModel & | model, | ||
| const Spline & | delta_spline, | ||
| const Spline & | delta_prime_spline | ||
| ) | -> std::tuple< double, double, double, double > |
Extract useful times from spherical collapse evolution like turnaround, virialization and non-linear onset.
Definition at line 147 of file SphericalCollapse.cpp.
| double FML::COSMOLOGY::SPHERICALCOLLAPSE::evolve_spherical_collapse_equations | ( | const SphericalCollapseModel & | model, |
| const double | delta_ini, | ||
| DVector & | x_array, | ||
| DVector & | delta_array, | ||
| DVector & | delta_prime_array, | ||
| DVector & | delta_lin_array, | ||
| DVector & | delta_lin_prime_array, | ||
| const bool | get_arrays = true, |
||
| const double | xini = std::log(1e-3), |
||
| const double | xcollapse = std::log(1.0), |
||
| const int | npts = 1000, |
||
| const double | delta_infinity = 1e16 |
||
| ) |
Evolve the spherical collapse equation + linear for a given set of IC delta_ini over a given range [xini,xcollapse] and return the arrays + the x-value where delta(x) > delta_infinity (i.e.
it has collapsed completely). If it haven't collapsed return xcollapse This value can be used to more easily figure out delta_ini that corresponds to collapse at exactly xcollapse via root finding
Definition at line 61 of file SphericalCollapse.cpp.
| double FML::COSMOLOGY::SPHERICALCOLLAPSE::find_delta_ini | ( | const SphericalCollapseModel & | model, |
| const double | xini, | ||
| const double | xcollapse, | ||
| const int | npts, | ||
| const double | epsilon_delta | ||
| ) |
Do root finding to figure out the delta_ini that gives collapse at x=xcollapse.
Definition at line 117 of file SphericalCollapse.cpp.
| double FML::COSMOLOGY::SPHERICALCOLLAPSE::roverR_of_delta_and_x | ( | double | delta, |
| double | x, | ||
| double | RH0, | ||
| double | delta_ini | ||
| ) |
This is the dimensionless quantity \(r(x)/R\) (the radius of the tophat) for spherical collapse evolution,.
Definition at line 43 of file SphericalCollapse.cpp.