Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
App_Var_AA::AAImpl Class Reference
Collaboration diagram for App_Var_AA::AAImpl:

Public Member Functions

 AAImpl (const Sim_Param &sim)
 
void aa_convolution (App_Var_AA &APP)
 

Public Attributes

Mesh expotential
 
uint64_t memory_alloc
 

Detailed Description

Definition at line 152 of file adhesion.cpp.

Constructor & Destructor Documentation

App_Var_AA::AAImpl::AAImpl ( const Sim_Param sim)
inline

Definition at line 155 of file adhesion.cpp.

References expotential, Mesh_base< T >::length, and memory_alloc.

156  {
157  memory_alloc = sizeof(FTYPE_t)*expotential.length;
158  }
Box_Opt box_opt
Definition: params.hpp:202
uint64_t memory_alloc
Definition: adhesion.cpp:174
size_t length
Definition: class_mesh.hpp:32
size_t mesh_num
Definition: params.hpp:58

Member Function Documentation

void App_Var_AA::AAImpl::aa_convolution ( App_Var_AA APP)
inline

Definition at line 160 of file adhesion.cpp.

References App_Var< T >::a_half(), App_Var< T >::app_field, Sim_Param::app_opt, expotential, fftw_execute_dft_c2r_triple(), fftw_execute_dft_r2c(), gen_displ_k(), anonymous_namespace{adhesion.cpp}::gen_expot(), App_Opt::nu, App_Var< T >::p_B, App_Var< T >::p_F, and App_Var< T >::sim.

161  {
162  BOOST_LOG_TRIVIAL(debug) << "Computing potential...";
163  gen_expot(APP.app_field[0], expotential, APP.sim.app_opt.nu, APP.a_half());
164  APP.app_field[0] *= -2*APP.sim.app_opt.nu;
165 
166  BOOST_LOG_TRIVIAL(debug) << "Computing velocity field via FFT...";
167  fftw_execute_dft_r2c(APP.p_F, APP.app_field[0]);
168  gen_displ_k(APP.app_field, APP.app_field[0]);
170  }
double nu
Definition: params.hpp:116
void gen_displ_k(std::vector< Mesh > &vel_field, const Mesh &pot_k)
Definition: core_app.cpp:623
void fftw_execute_dft_r2c(const FFTW_PLAN_TYPE &p_F, Mesh &rho)
compute forward (real to complex) FFT on mesh (inplace)
Definition: core_mesh.cpp:247
void fftw_execute_dft_c2r_triple(const FFTW_PLAN_TYPE &p_B, std::vector< Mesh > &rho)
compute three backward (complex to real) FFTs on vector of meshes (inplace)
Definition: core_mesh.cpp:263
FFTW_PLAN_TYPE p_F
Definition: app_var.hpp:69
void gen_expot(Mesh &potential, const Mesh &expotential_0, double nu, double b)
Definition: adhesion.cpp:120
std::vector< Mesh > app_field
Definition: app_var.hpp:63
FFTW_PLAN_TYPE p_B
Definition: app_var.hpp:69
double a_half()
Definition: app_var.cpp:529
App_Opt app_opt
Definition: params.hpp:207
const Sim_Param & sim
Definition: app_var.hpp:59

Member Data Documentation

Mesh App_Var_AA::AAImpl::expotential

Definition at line 173 of file adhesion.cpp.

Referenced by aa_convolution(), and AAImpl().

uint64_t App_Var_AA::AAImpl::memory_alloc

Definition at line 174 of file adhesion.cpp.

Referenced by AAImpl().


The documentation for this class was generated from the following file: