28 App_Var_FP(sim,
"PM",
"Particle-mesh approximation") {}
32 auto kick_step = [&]()
class containing core variables and methods for approximations
: class containing variables and methods for Frozen-potential approximation
virtual void pot_corr(std::vector< Mesh > &vel_field, Mesh &pot_k)
void get_rho_from_par(const std::vector< T > &particles, Mesh &rho, const Sim_Param &sim)
void stream_kick_stream(const double da, std::vector< Particle_v< double >> &particles, std::function< void()> kick_step, size_t per)
class handling particles (position only)
void kick_step_w_momentum(const Cosmo_Param &cosmo, const double a, const double da, std::vector< Particle_v< double >> &particles, const std::vector< Mesh > &force_field)
App_Var_PM(const Sim_Param &sim)
: class storing simulation parameters
void fftw_execute_dft_r2c(const FFTW_PLAN_TYPE &p_F, Mesh &rho)
compute forward (real to complex) FFT on mesh (inplace)
functions for integration of particle trajectories
void kick_step_w_momentum_pm(const Cosmo_Param &cosmo, const double a, const double da, std::vector< Particle_v< double >> &particles, const std::vector< Mesh > &force_field)
void gen_pot_k(const Mesh &rho_k, Mesh &pot_k)
std::vector< Mesh > app_field
Frozen-potential approximation interface.
interface for common functions for all types of approximations
various simulation parameters
std::vector< Particle_v< double > > particles
App_Var_FP(const Sim_Param &sim)
basic functions to work with mesh