|
Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
|
#include <fofr_solver.h>


Public Member Functions | |
| FofrSolver () | |
| FofrSolver (unsigned int N, bool verbose=true) | |
| FofrSolver (unsigned int N, int Nmin, bool verbose=true) | |
| FofrSolver (MultiGrid< NDIM, T > &source, bool verbose=true) | |
| void | set_parameters (double boxsize, double omegam, double aexp, double nfofr, double fofr0) |
| double | bfunc (double x) |
| T | l_operator (unsigned int level, std::vector< unsigned int > &index_list, bool addsource) |
| T | dl_operator (unsigned int level, std::vector< unsigned int > &index_list) |
Public Member Functions inherited from MultiGridSolver< NDIM, 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 T | upd_operator (const T f, const size_t level, const std::vector< size_t > &index_list, const T h) const |
| virtual T | l_operator (const size_t level, const std::vector< size_t > &index_list, bool addsource, const T h) const |
| virtual T | dl_operator (const size_t level, const std::vector< size_t > &index_list, const T h) const |
| virtual void | correct_sol (Grid< NDIM, T > &f, const Grid< NDIM, T > &corr, const size_t level) |
| virtual Exit_Status | check_convergence () |
| virtual void | check_solution (size_t level, Grid< NDIM, T > &sol) |
| void | check_solution (size_t level) |
Private Attributes | |
| double | _boxsize = 100.0 |
| double | _omegam = 0.3 |
| double | _aexp = 1.0 |
| double | _nfofr = 1.0 |
| double | _fofr0 = 1.0e-5 |
| double | _fac1 = 10.33333333 |
| double | _fac2 = 0.032676900 |
| double | _prefac = 0.000333778 |
Additional Inherited Members | |
Public Types inherited from MultiGridSolver< NDIM, T > | |
| enum | Exit_Status { Exit_Status::SUCCESS, Exit_Status::FAILURE, Exit_Status::SLOW, Exit_Status::ITERATE, Exit_Status::MAX_STEPS } |
Public Attributes inherited from MultiGridSolver< NDIM, T > | |
| bool | _store_all_residual = false |
| std::vector< double > | _res_domain_array |
Protected Member Functions inherited from MultiGridSolver< NDIM, T > | |
| void | get_neighbor_gridindex (std::vector< size_t > &index_list, size_t i, size_t ngrid) |
Protected Attributes inherited from MultiGridSolver< NDIM, T > | |
| bool | _verbose |
| bool | _conv_criterion_residual = true |
| double | _eps_converge = 1e-5 |
| size_t | _maxsteps = 1000 |
| size_t | _istep_vcycle = 0 |
| double | _rms_res |
| double | _rms_res_i |
| double | _rms_res_old |
Definition at line 17 of file fofr_solver.h.
|
inline |
Definition at line 35 of file fofr_solver.h.
|
inline |
Definition at line 36 of file fofr_solver.h.
|
inline |
Definition at line 37 of file fofr_solver.h.
|
inline |
Definition at line 38 of file fofr_solver.h.
|
inline |
Definition at line 59 of file fofr_solver.h.
Referenced by FofrSolver< NDIM, T >::dl_operator(), and FofrSolver< NDIM, T >::l_operator().
|
inline |
Definition at line 97 of file fofr_solver.h.
References FofrSolver< NDIM, T >::bfunc(), MultiGridSolver< NDIM, T >::get_y(), ccl_test_distances::h, and growth_allz::T.
|
inline |
Definition at line 62 of file fofr_solver.h.
References FofrSolver< NDIM, T >::bfunc(), MultiGridSolver< NDIM, T >::get_external_field(), MultiGridSolver< NDIM, T >::get_multigrid_source(), MultiGridSolver< NDIM, T >::get_y(), ccl_test_distances::h, and growth_allz::T.
|
inline |
Definition at line 42 of file fofr_solver.h.
References FofrSolver< NDIM, T >::_aexp, FofrSolver< NDIM, T >::_omegam, Catch::cout(), and pow().
|
private |
Definition at line 23 of file fofr_solver.h.
Referenced by FofrSolver< NDIM, T >::set_parameters().
|
private |
Definition at line 21 of file fofr_solver.h.
|
private |
Definition at line 28 of file fofr_solver.h.
|
private |
Definition at line 29 of file fofr_solver.h.
|
private |
Definition at line 25 of file fofr_solver.h.
|
private |
Definition at line 24 of file fofr_solver.h.
|
private |
Definition at line 22 of file fofr_solver.h.
Referenced by FofrSolver< NDIM, T >::set_parameters().
|
private |
Definition at line 30 of file fofr_solver.h.