Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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
15
App_Var_FF::App_Var_FF
(
const
Sim_Param
&sim):
16
App_Var
<
Particle_v
<FTYPE_t>>(sim,
"FF"
,
"Frozen-flow approximation"
) {}
17
18
void
App_Var_FF::upd_pos
()
19
{
// Leapfrog method for frozen-flow
20
auto
kick_step = [&](){
kick_step_no_momentum
(
sim
.
cosmo
,
a_half
(),
particles
,
app_field
); };
21
stream_kick_stream
(
da
(),
particles
, kick_step,
sim
.
box_opt
.
mesh_num
);
22
}
App_Var
class containing core variables and methods for approximations
Definition:
app_var.hpp:41
stream_kick_stream
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
Particle_v
class handling particles (position only)
Definition:
class_particles.hpp:55
Sim_Param::box_opt
Box_Opt box_opt
Definition:
params.hpp:202
Sim_Param
: class storing simulation parameters
Definition:
params.hpp:193
kick_step_no_momentum
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
integration.hpp
functions for integration of particle trajectories
App_Var< Particle_v< double > >::app_field
std::vector< Mesh > app_field
Definition:
app_var.hpp:63
Sim_Param::cosmo
Cosmo_Param cosmo
Definition:
params.hpp:206
core_app.h
interface for common functions for all types of approximations
frozen_flow.hpp
frozen-flow approximation interface
params.hpp
various simulation parameters
App_Var< Particle_v< double > >::particles
std::vector< Particle_v< double > > particles
Definition:
app_var.hpp:65
App_Var_FF::upd_pos
void upd_pos() override
Definition:
frozen_flow.cpp:18
App_Var_FF::App_Var_FF
App_Var_FF(const Sim_Param &sim)
Definition:
frozen_flow.cpp:15
core_mesh.h
basic functions to work with mesh
App_Var< Particle_v< double > >::a_half
double a_half()
App_Var< Particle_v< double > >::da
double da()
Box_Opt::mesh_num
size_t mesh_num
Definition:
params.hpp:58
App_Var< Particle_v< double > >::sim
const Sim_Param & sim
Definition:
app_var.hpp:59
src
ApproximationsSchemes
frozen_flow.cpp
Generated by
1.8.11