Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
chameleon.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_Chi: public App_Var<Particle_v<FTYPE_t>>
36 {
37 public:
38  // CONSTRUCTORS & DESTRUCTOR
39  App_Var_Chi(const Sim_Param &sim);
40  ~App_Var_Chi();
41 protected:
42  App_Var_Chi(const Sim_Param &sim, const std::string& app_short, const std::string& app_long);
43  // IMPLEMENTATION
44  class ChiImpl;
45  const std::unique_ptr<ChiImpl> m_impl;
46 
47 private:
48  // Leapfrog method for chameleon gravity (frozen-potential)
49  void upd_pos() override;
50 
51  // Print additional information about chameleon field
52  void print_output() override;
53 };
54 
61 {
62 public:
63  // CONSTRUCTORS & DESTRUCTOR
65  ~App_Var_Chi_FF();
66 private:
67  // Leapfrog method for chameleon gravity (frozen-flow)
68  void upd_pos() override;
69 };
class containing core variables and methods for approximations
Definition: app_var.hpp:41
: class storing simulation parameters
Definition: params.hpp:193
define container Particle (with and without velocity)
const std::unique_ptr< ChiImpl > m_impl
Definition: chameleon.hpp:44
< end of anonymous namespace (private definitions)
Definition: chameleon.hpp:35
system include files and for project-specific include files that are used frequently but are changed ...
classes handling approximations data
single / double / long double definitions
: class containing variables and methods for chameleon gravity
Definition: chameleon.hpp:60
void print_output() override
Definition: chameleon.cpp:841
App_Var_Chi(const Sim_Param &sim)
Definition: chameleon.cpp:836
void upd_pos() override
Definition: chameleon.cpp:855