Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
adhesion.hpp
Go to the documentation of this file.
1 
9 #pragma once
10 
11 #include "stdafx.h"
12 #include "app_var.hpp"
13 #include "precision.hpp"
14 #include "class_particles.hpp"
15 
16 /********************/
20 class Sim_Param;
21 
22 /**************/
26 /**************/
35 class App_Var_AA: public App_Var<Particle_v<FTYPE_t>>
36 {
37 public:
38  // CONSTRUCTORS & DESTRUCTOR
39  App_Var_AA(const Sim_Param &sim);
40  ~App_Var_AA();
41 
42 private:
43  // IMPLEMENTATION
44  class AAImpl;
45  const std::unique_ptr<AAImpl> m_impl;
46 
47  // initialize potentials for adhesion
48  void pot_corr(std::vector<Mesh>& vel_field, Mesh& pot_k) override;
49 
50  // Leapfrog method for adhesion
51  void upd_pos() override;
52 };
class containing core variables and methods for approximations
Definition: app_var.hpp:41
void upd_pos() override
Definition: adhesion.cpp:192
: 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
Definition: adhesion.cpp:185
: class containing variables and methods for adhesion approximation
Definition: adhesion.hpp:35
classes handling approximations data
single / double / long double definitions
const std::unique_ptr< AAImpl > m_impl
Definition: adhesion.hpp:44
App_Var_AA(const Sim_Param &sim)
Definition: adhesion.cpp:177