Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
integration.hpp
Go to the documentation of this file.
1 
9 #pragma once
10 #include "stdafx.h"
11 #include <functional>
12 #include "precision.hpp"
13 #include "class_mesh.hpp"
14 #include "class_particles.hpp"
15 
16 class Cosmo_Param;
17 
18 void stream_step(const FTYPE_t da, std::vector<Particle_v<FTYPE_t>>& particles);
19 void stream_kick_stream(const FTYPE_t da, std::vector<Particle_v<FTYPE_t>>& particles, std::function<void()> kick_step, size_t per);
20 void kick_step_no_momentum(const Cosmo_Param &cosmo, const FTYPE_t a, std::vector<Particle_v<FTYPE_t>>& particles, const std::vector< Mesh> &vel_field);
21 void kick_step_w_momentum(const Cosmo_Param &cosmo, const FTYPE_t a, const FTYPE_t da, std::vector<Particle_v<FTYPE_t>>& particles, const std::vector< Mesh> &force_field);
22 void kick_step_w_momentum_pm(const Cosmo_Param &cosmo, const FTYPE_t a, const FTYPE_t da, std::vector<Particle_v<FTYPE_t>>& particles, const std::vector< Mesh> &force_field);
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)
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)
Definition: integration.cpp:48
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
define container Particle (with and without velocity)
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)
Definition: integration.cpp:70
system include files and for project-specific include files that are used frequently but are changed ...
cosmological & CCL parameters
Definition: params.hpp:22
void stream_step(const double da, std::vector< Particle_v< double >> &particles)
Definition: integration.cpp:14
single / double / long double definitions
define container Mesh