Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
mod_frozen_potential.hpp
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include "stdafx.h"
11 #include "app_var.hpp"
12 #include "precision.hpp"
13 #include "class_particles.hpp"
14 
15 /********************/
19 class Sim_Param;
20 
21 /**************/
25 /**************/
34 class App_Var_FP_mod: public App_Var<Particle_v<FTYPE_t>>
35 {
36 public:
37  // CONSTRUCTORS & DESTRUCTOR
40 
41 private:
42  // IMPLEMENTATION
43  class FP_ppImpl;
44  const std::unique_ptr<FP_ppImpl> m_impl;
45 
46  // force interpolation corrections, long range potential for S2-shaped particles
47  void pot_corr(std::vector<Mesh>& vel_field, Mesh& pot_k) override;
48 
49  // Leapfrog method for modified frozen-potential
50  void upd_pos() override;
51 };
const std::unique_ptr< FP_ppImpl > m_impl
class containing core variables and methods for approximations
Definition: app_var.hpp:41
: class storing simulation parameters
Definition: params.hpp:193
: creates a mesh of N*N*(N+2) cells
Definition: class_mesh.hpp:95
define container Particle (with and without velocity)
system include files and for project-specific include files that are used frequently but are changed ...
void pot_corr(std::vector< Mesh > &vel_field, Mesh &pot_k) override
classes handling approximations data
single / double / long double definitions
App_Var_FP_mod(const Sim_Param &sim)
: class containing variables and methods for modified Frozen-potential approximation ...
void upd_pos() override