Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
frozen_flow.cpp
Go to the documentation of this file.
1 
9 #include "frozen_flow.hpp"
10 #include "core_app.h"
11 #include "core_mesh.h"
12 #include "integration.hpp"
13 #include "params.hpp"
14 
16  App_Var<Particle_v<FTYPE_t>>(sim, "FF", "Frozen-flow approximation") {}
17 
19 {// Leapfrog method for frozen-flow
20  auto kick_step = [&](){ kick_step_no_momentum(sim.cosmo, a_half(), particles, app_field); };
22 }
class containing core variables and methods for approximations
Definition: app_var.hpp:41
void stream_kick_stream(const double da, std::vector< Particle_v< double >> &particles, std::function< void()> kick_step, size_t per)
Definition: integration.cpp:24
class handling particles (position only)
Box_Opt box_opt
Definition: params.hpp:202
: class storing simulation parameters
Definition: params.hpp:193
void kick_step_no_momentum(const Cosmo_Param &cosmo, const double a, std::vector< Particle_v< double >> &particles, const std::vector< Mesh > &vel_field)
Definition: integration.cpp:32
functions for integration of particle trajectories
std::vector< Mesh > app_field
Definition: app_var.hpp:63
Cosmo_Param cosmo
Definition: params.hpp:206
interface for common functions for all types of approximations
frozen-flow approximation interface
various simulation parameters
std::vector< Particle_v< double > > particles
Definition: app_var.hpp:65
void upd_pos() override
Definition: frozen_flow.cpp:18
App_Var_FF(const Sim_Param &sim)
Definition: frozen_flow.cpp:15
basic functions to work with mesh
size_t mesh_num
Definition: params.hpp:58