|
MP-Gadget
5.0.1.dev1-76bc7d4726-dirty
|
#include <mpi.h>#include <stdlib.h>#include <math.h>#include <string.h>#include <omp.h>#include "utils.h"#include "partmanager.h"#include "forcetree.h"#include "petapm.h"#include "domain.h"#include "walltime.h"#include "gravity.h"#include "cosmology.h"#include "neutrinos_lra.h"Go to the source code of this file.
Classes | |
| struct | gravpm_params |
Functions | |
| static int | pm_mark_region_for_node (int startno, int rid, int *RegionInd, const ForceTree *tt) |
| static void | convert_node_to_region (PetaPM *pm, PetaPMRegion *r, struct NODE *Nodes) |
| static int | hybrid_nu_gravpm_is_active (int i) |
| static void | potential_transfer (PetaPM *pm, int64_t k2, int kpos[3], pfft_complex *value) |
| static void | compute_neutrino_power (PetaPM *pm) |
| static void | force_x_transfer (PetaPM *pm, int64_t k2, int kpos[3], pfft_complex *value) |
| static void | force_y_transfer (PetaPM *pm, int64_t k2, int kpos[3], pfft_complex *value) |
| static void | force_z_transfer (PetaPM *pm, int64_t k2, int kpos[3], pfft_complex *value) |
| static void | readout_potential (PetaPM *pm, int i, double *mesh, double weight) |
| static void | readout_force_x (PetaPM *pm, int i, double *mesh, double weight) |
| static void | readout_force_y (PetaPM *pm, int i, double *mesh, double weight) |
| static void | readout_force_z (PetaPM *pm, int i, double *mesh, double weight) |
| static PetaPMRegion * | _prepare (PetaPM *pm, PetaPMParticleStruct *pstruct, void *userdata, int *Nregions) |
| void | gravpm_init_periodic (PetaPM *pm, double BoxSize, double Asmth, int Nmesh, double G) |
| void | gravpm_force (PetaPM *pm, ForceTree *tree, Cosmology *CP, double Time, double UnitLength_in_cm, const char *PowerOutputDir, double TimeIC, int FastParticleType) |
| static double | sinc_unnormed (double x) |
| void | powerspectrum_add_mode (Power *PowerSpectrum, const int64_t k2, const int kpos[3], pfft_complex *const value, const double invwindow, double Nmesh) |
| void | measure_power_spectrum (PetaPM *pm, int64_t k2, int kpos[3], pfft_complex *value) |
| static double | diff_kernel (double w) |
| static void | force_transfer (PetaPM *pm, int k, pfft_complex *value) |
Variables | |
| static PetaPMFunctions | functions [] |
| static struct gravpm_params | GravPM |
|
static |
Definition at line 117 of file gravpm.c.
References PetaPM::BoxSize, convert_node_to_region(), gravpm_params::CP, NODE::DependsOnLocalMass, endrun(), NODE::f, ForceTree::firstnode, force_get_father(), force_tree_allocated(), force_tree_free(), GravPM, NODE::InternalTopLevel, NODE::len, Cosmology::MassiveNuLinRespOn, message(), mymalloc2, PetaPM::Nmesh, Region::no, ForceTree::Nodes, ForceTree::NTopLeaves, part_manager_type::NumPart, Region::numpart, P, PartManager, pm_mark_region_for_node(), powerspectrum_alloc(), PetaPM::ps, PetaPMParticleStruct::RegionInd, NODE::s, NODE::sibling, NodeChild::suns, NODE::TopLevel, gravpm_params::UnitLength_in_cm, and walltime_measure.
Referenced by gravpm_force().
|
static |
Definition at line 304 of file gravpm.c.
References gravpm_params::CP, delta_nu_from_power(), _powerspectrum::delta_nu_ratio, GravPM, _powerspectrum::logknu, _powerspectrum::nonzero, _powerspectrum::nu_acc, _powerspectrum::nu_spline, _powerspectrum::Power, powerspectrum_sum(), powerspectrum_zero(), PetaPM::ps, gravpm_params::Time, and gravpm_params::TimeIC.
Referenced by gravpm_force().
|
static |
Definition at line 255 of file gravpm.c.
References PetaPM::BoxSize, NODE::center, Region::center, NODE::hmax, NODE::len, Region::len, PetaPM::Nmesh, Region::no, Region::offset, petapm_region_init_strides(), Region::size, and ThisTask.
Referenced by _prepare().
|
static |
Definition at line 454 of file gravpm.c.
Referenced by force_transfer().
|
static |
Definition at line 472 of file gravpm.c.
References PetaPM::BoxSize, diff_kernel(), and PetaPM::Nmesh.
Referenced by force_x_transfer(), force_y_transfer(), and force_z_transfer().
|
static |
Definition at line 486 of file gravpm.c.
References force_transfer().
|
static |
Definition at line 489 of file gravpm.c.
References force_transfer().
|
static |
Definition at line 492 of file gravpm.c.
References force_transfer().
| void gravpm_force | ( | PetaPM * | pm, |
| ForceTree * | tree, | ||
| Cosmology * | CP, | ||
| double | Time, | ||
| double | UnitLength_in_cm, | ||
| const char * | PowerOutputDir, | ||
| double | TimeIC, | ||
| int | FastParticleType | ||
| ) |
Definition at line 62 of file gravpm.c.
References _prepare(), PetaPMParticleStruct::active, compute_neutrino_power(), gravpm_params::CP, CP, gravpm_params::FastParticleType, functions, PetaPMGlobalFunctions::global_analysis, global_functions, PetaPMGlobalFunctions::global_readout, GravPM, GrowthFactor(), _omega_nu::hybnu, hybrid_nu_gravpm_is_active(), Cosmology::HybridNeutrinosOn, _powerspectrum::logknu, Cosmology::MassiveNuLinRespOn, measure_power_spectrum(), part_manager_type::NumPart, Cosmology::ONu, P, particle_nu_fraction(), PartManager, petapm_force(), potential_transfer(), powerspectrum_free(), powerspectrum_nu_save(), powerspectrum_save(), powerspectrum_sum(), PetaPM::ps, gravpm_params::Time, gravpm_params::TimeIC, gravpm_params::UnitLength_in_cm, UnitLength_in_cm, and walltime_measure.
Referenced by do_force_test(), run(), run_gravity_test(), and runpower().
| void gravpm_init_periodic | ( | PetaPM * | pm, |
| double | BoxSize, | ||
| double | Asmth, | ||
| int | Nmesh, | ||
| double | G | ||
| ) |
Definition at line 53 of file gravpm.c.
References G, and petapm_init().
Referenced by do_force_test(), run(), run_gravity_test(), runfof(), and runpower().
|
static |
Definition at line 465 of file gravpm.c.
References gravpm_params::FastParticleType, GravPM, and P.
Referenced by gravpm_force().
| void measure_power_spectrum | ( | PetaPM * | pm, |
| int64_t | k2, | ||
| int | kpos[3], | ||
| pfft_complex * | value | ||
| ) |
Definition at line 361 of file gravpm.c.
References NODE::f, PetaPM::Nmesh, powerspectrum_add_mode(), PetaPM::ps, and sinc_unnormed().
Referenced by gravpm_force().
|
static |
Definition at line 209 of file gravpm.c.
References NODE::center, NODE::ChildType, endrun(), NODE::f, NODE::len, NodeChild::noccupied, NODE_NODE_TYPE, ForceTree::Nodes, P, PARTICLE_NODE_TYPE, PSEUDO_NODE_TYPE, NODE::s, NODE::sibling, and NodeChild::suns.
Referenced by _prepare().
|
static |
Definition at line 380 of file gravpm.c.
References PetaPM::Asmth, PetaPM::BoxSize, _powerspectrum::BoxSize_in_MPC, gravpm_params::CP, _powerspectrum::delta_nu_ratio, NODE::f, PetaPM::G, get_omega_nu_nopart(), GravPM, _powerspectrum::logknu, Cosmology::MassiveNuLinRespOn, PetaPM::Nmesh, _powerspectrum::nonzero, _powerspectrum::Norm, _powerspectrum::nu_acc, _powerspectrum::nu_prefac, _powerspectrum::nu_spline, Cosmology::Omega0, Cosmology::ONu, pot_factor, powerspectrum_add_mode(), PetaPM::ps, sinc_unnormed(), and gravpm_params::Time.
Referenced by gravpm_force().
| void powerspectrum_add_mode | ( | Power * | PowerSpectrum, |
| const int64_t | k2, | ||
| const int | kpos[3], | ||
| pfft_complex *const | value, | ||
| const double | invwindow, | ||
| double | Nmesh | ||
| ) |
Definition at line 327 of file gravpm.c.
References _powerspectrum::kk, _powerspectrum::Nmodes, _powerspectrum::Norm, _powerspectrum::Power, and _powerspectrum::size.
Referenced by measure_power_spectrum(), and potential_transfer().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 291 of file gravpm.c.
Referenced by measure_power_spectrum(), and potential_transfer().
|
static |
Definition at line 32 of file gravpm.c.
Referenced by displacement_fields(), gravpm_force(), petapm_force(), and petapm_force_c2r().
|
static |