|
Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
|
: class to solve chameleon equations of motion More...


Public Member Functions | |
| ChiSolver (size_t N, unsigned int Nmin, const Sim_Param &sim, bool verbose=true) | |
| ChiSolver (size_t N, const Sim_Param &sim, bool verbose=true) | |
| T | chi_a (T a) const |
| T | chi_force_units (T a) const |
| void | get_chi_k (Mesh &rho_k) |
| bool | check_surr_dens (T const *const rho_grid, std::vector< size_t > index_list, size_t i, size_t N) |
| void | set_time (T a, const Cosmo_Param &cosmo) |
| T | get_chi_prefactor () const |
| T | get_phi_prefactor () const |
| T | l_operator (const T chi_i, const size_t level, const std::vector< size_t > &index_list, const bool addsource, const T h) const |
| T | l_operator (const size_t level, const std::vector< size_t > &index_list, const bool addsource, const T h) const override |
| T | dl_operator (const size_t level, const std::vector< size_t > &index_list, const T h) const override |
| bool | find_opposite_l_sign (const T f1, const T l1, T df, T &f2, T &l2, const size_t level, const std::vector< size_t > &index_list, const T h) const |
| bool | check_bisection_convergence (const T df_new, const T l_new) const |
| T | bisection_step (T &f1, T &l1, T &f2, T &l2, const size_t level, const std::vector< size_t > &index_list, const T h) const |
| T | bisection (T f1, T l1, const T df, const size_t level, const std::vector< size_t > &index_list, const T h) const |
| T | upd_operator (const T f, const size_t level, const std::vector< size_t > &index_list, const T h) const override |
| void | correct_sol (Grid< 3, T > &f, const Grid< 3, T > &corr, const size_t level) override |
| ES | check_convergence () override |
| check if solution already converged More... | |
| void | check_solution (size_t level, Grid< 3, T > &chi) override |
| void | set_convergence (double eps, double err_stop, double err_stop_min, double rms_stop_min, size_t num_fail) |
| void | set_bisection_convergence (size_t max_bi_step, T dchi_stop, T l_stop) |
| void | set_def_convergence () |
| void | set_bulk_field () |
| void | set_linear_sol_at_level (Mesh &rho, const FFTW_PLAN_TYPE &p_F, const FFTW_PLAN_TYPE &p_B, size_t level) |
| void | set_linear_recursively (size_t level) |
| void | set_linear (Mesh &rho, const FFTW_PLAN_TYPE &p_F, const FFTW_PLAN_TYPE &p_B) |
| void | set_screened (size_t level=0) |
| T | chi_min (T delta) const |
Public Member Functions inherited from MultiGridSolver< 3, T > | |
| MultiGridSolver () | |
| MultiGridSolver (size_t N) | |
| MultiGridSolver (size_t N, bool verbose) | |
| MultiGridSolver (size_t N, size_t Nmin, bool verbose) | |
| size_t | get_istep () const |
| T * | get_y (size_t level=0) |
| T const * | get_y (size_t level=0) const |
| Grid< NDIM, T > & | get_grid (size_t level=0) |
| const Grid< NDIM, T > & | get_grid (size_t level=0) const |
| MultiGrid< NDIM, T > & | get_mlt_grid (size_t level=0) |
| const MultiGrid< NDIM, T > & | get_mlt_grid (size_t level=0) const |
| T * | get_external_field (size_t level, size_t field) |
| T const * | get_external_field (size_t level, size_t field) const |
| Grid< NDIM, T > & | get_external_grid (size_t level, size_t field) |
| const Grid< NDIM, T > & | get_external_grid (size_t level, size_t field) const |
| size_t | get_external_field_size () const |
| T | get_multigrid_source (size_t level, size_t i) const |
| void | set_epsilon (double eps_converge) |
| void | set_maxsteps (size_t maxsteps) |
| void | set_ngs_sweeps (size_t ngs_fine, size_t ngs_coarse) |
| void | set_convergence_criterion_residual (bool use_residual) |
| void | set_Nlevel (size_t N) |
| size_t | get_N (size_t level=0) const |
| size_t | get_Ntot (size_t level=0) const |
| size_t | get_Nlevel () const |
| void | add_external_grid (MultiGrid< NDIM, T > *field) |
| void | set_initial_guess (T guess) |
| void | set_initial_guess (T *guess) |
| void | set_initial_guess (Grid< NDIM, T > &guess) |
| Exit_Status | solve () |
| void | clear () |
| virtual void | correct_sol (Grid< NDIM, T > &f, const Grid< NDIM, T > &corr, const size_t level) |
| virtual void | check_solution (size_t level, Grid< NDIM, T > &sol) |
| void | check_solution (size_t level) |
Public Attributes | |
| const T | n |
| Hu-Sawicki paramater. More... | |
| const T | beta |
| Chameleon coupling constant. More... | |
| const T | chi_0 |
| 2*beta*Mpl*phi_scr More... | |
| const T | phi_prefactor |
| prefactor for Poisson equation for gravitational potential More... | |
| const T | chi_prefactor_0 |
| dimensionless prefactor to poisson equation at a = 1 More... | |
| T | chi_prefactor |
| time-dependent prefactor More... | |
| size_t | m_conv_stop = 0 |
| double | m_rms_stop_min |
| double | m_err_stop |
| double | m_err_stop_min |
| size_t | m_num_fail |
| size_t | m_max_bisection_steps |
| T | m_dchi_stop |
| T | m_l_stop |
| std::vector< std::map< size_t, T > > | fix_vals |
| <index, value> More... | |
Public Attributes inherited from MultiGridSolver< 3, T > | |
| bool | _store_all_residual |
| std::vector< double > | _res_domain_array |
Additional Inherited Members | |
Public Types inherited from MultiGridSolver< 3, T > | |
| enum | Exit_Status |
Protected Member Functions inherited from MultiGridSolver< 3, T > | |
| void | get_neighbor_gridindex (std::vector< size_t > &index_list, size_t i, size_t ngrid) |
Protected Attributes inherited from MultiGridSolver< 3, T > | |
| bool | _verbose |
| bool | _conv_criterion_residual |
| double | _eps_converge |
| size_t | _maxsteps |
| size_t | _istep_vcycle |
| double | _rms_res |
| double | _rms_res_i |
| double | _rms_res_old |
: class to solve chameleon equations of motion
Definition at line 156 of file chameleon.cpp.
|
inline |
Definition at line 183 of file chameleon.cpp.
|
inline |
Definition at line 198 of file chameleon.cpp.
|
inline |
Definition at line 356 of file chameleon.cpp.
References growth_allz::T.
|
inline |
Definition at line 333 of file chameleon.cpp.
References anonymous_namespace{chameleon.cpp}::CHI_MIN, and growth_allz::T.
|
inline |
Definition at line 328 of file chameleon.cpp.
|
inlineoverridevirtual |
check if solution already converged
Reimplemented from MultiGridSolver< 3, T >.
Definition at line 422 of file chameleon.cpp.
|
inlineoverride |
Definition at line 524 of file chameleon.cpp.
|
inline |
Definition at line 237 of file chameleon.cpp.
References anonymous_namespace{test_chameleon.cpp}::get_neighbor_gridindex().
|
inline |
Definition at line 200 of file chameleon.cpp.
References pow().
|
inline |
Definition at line 205 of file chameleon.cpp.
|
inline |
Definition at line 664 of file chameleon.cpp.
References anonymous_namespace{chameleon.cpp}::CHI_MIN, and pow().
|
inlineoverride |
Definition at line 391 of file chameleon.cpp.
References anonymous_namespace{test_chameleon.cpp}::get_neighbor_gridindex(), Grid< NDIM, T >::get_Ntot(), ccl_test_distances::h, cl_cmbl_bm::l, and growth_allz::T.
|
inlineoverridevirtual |
Reimplemented from MultiGridSolver< 3, T >.
Definition at line 293 of file chameleon.cpp.
References ccl_test_distances::h, pow(), and growth_allz::T.
|
inline |
Definition at line 307 of file chameleon.cpp.
References anonymous_namespace{chameleon.cpp}::CONVERGENCE_BI_STEPS_INIT, and growth_allz::T.
|
inline |
Definition at line 210 of file chameleon.cpp.
References get_k_sq(), Mesh_base< T >::length, Mesh::N, PI, pow(), and growth_allz::T.
|
inline |
Definition at line 255 of file chameleon.cpp.
|
inline |
Definition at line 256 of file chameleon.cpp.
|
inline |
Definition at line 258 of file chameleon.cpp.
References ccl_test_distances::h, pow(), and growth_allz::T.
|
inlineoverridevirtual |
Reimplemented from MultiGridSolver< 3, T >.
Definition at line 283 of file chameleon.cpp.
References growth_allz::T.
|
inline |
Definition at line 538 of file chameleon.cpp.
|
inline |
Definition at line 553 of file chameleon.cpp.
References growth_allz::T.
|
inline |
Definition at line 529 of file chameleon.cpp.
|
inline |
Definition at line 545 of file chameleon.cpp.
|
inline |
Definition at line 614 of file chameleon.cpp.
|
inline |
Definition at line 591 of file chameleon.cpp.
References Mesh::complex(), FFTW_PLAN_C2R, FFTW_PLAN_R2C, FFTW_PLAN_TYPE, Mesh_base< T >::real(), and anonymous_namespace{chameleon.cpp}::transform_Grid_to_Mesh().
|
inline |
Definition at line 570 of file chameleon.cpp.
References anonymous_namespace{chameleon.cpp}::CHI_MIN, fftw_execute_dft_c2r(), fftw_execute_dft_r2c(), Mesh::N, and anonymous_namespace{chameleon.cpp}::transform_Mesh_to_Grid().
|
inline |
< we are at the bottom level
< CHI_MIN to indicate high-density region
< recursive call to fix all levels
Definition at line 624 of file chameleon.cpp.
References anonymous_namespace{chameleon.cpp}::CHI_MIN, anonymous_namespace{chameleon.cpp}::MARK_CHI_BOUND_COND, and growth_allz::T.
|
inline |
Definition at line 250 of file chameleon.cpp.
References pow().
|
inlineoverridevirtual |
Reimplemented from MultiGridSolver< 3, T >.
Definition at line 377 of file chameleon.cpp.
References cl_cmbl_bm::l, and growth_allz::T.
| const T anonymous_namespace{chameleon.cpp}::ChiSolver< T >::beta |
Chameleon coupling constant.
Definition at line 161 of file chameleon.cpp.
| const T anonymous_namespace{chameleon.cpp}::ChiSolver< T >::chi_0 |
2*beta*Mpl*phi_scr
Definition at line 162 of file chameleon.cpp.
| T anonymous_namespace{chameleon.cpp}::ChiSolver< T >::chi_prefactor |
time-dependent prefactor
Definition at line 165 of file chameleon.cpp.
| const T anonymous_namespace{chameleon.cpp}::ChiSolver< T >::chi_prefactor_0 |
dimensionless prefactor to poisson equation at a = 1
Definition at line 164 of file chameleon.cpp.
| std::vector<std::map<size_t, T> > anonymous_namespace{chameleon.cpp}::ChiSolver< T >::fix_vals |
<index, value>
Definition at line 180 of file chameleon.cpp.
| size_t anonymous_namespace{chameleon.cpp}::ChiSolver< T >::m_conv_stop = 0 |
Definition at line 168 of file chameleon.cpp.
| T anonymous_namespace{chameleon.cpp}::ChiSolver< T >::m_dchi_stop |
Definition at line 176 of file chameleon.cpp.
Definition at line 170 of file chameleon.cpp.
Definition at line 171 of file chameleon.cpp.
| T anonymous_namespace{chameleon.cpp}::ChiSolver< T >::m_l_stop |
Definition at line 177 of file chameleon.cpp.
| size_t anonymous_namespace{chameleon.cpp}::ChiSolver< T >::m_max_bisection_steps |
Definition at line 175 of file chameleon.cpp.
| size_t anonymous_namespace{chameleon.cpp}::ChiSolver< T >::m_num_fail |
Definition at line 172 of file chameleon.cpp.
Definition at line 169 of file chameleon.cpp.
| const T anonymous_namespace{chameleon.cpp}::ChiSolver< T >::n |
Hu-Sawicki paramater.
Definition at line 160 of file chameleon.cpp.
| const T anonymous_namespace{chameleon.cpp}::ChiSolver< T >::phi_prefactor |
prefactor for Poisson equation for gravitational potential
Definition at line 163 of file chameleon.cpp.