MP-Gadget
5.0.1.dev1-76bc7d4726-dirty
|
Go to the source code of this file.
Classes | |
struct | Region |
struct | Layout |
struct | PetaPMPriv |
struct | PetaPM |
struct | PetaPMParticleStruct |
struct | PetaPMFunctions |
struct | PetaPMGlobalFunctions |
Typedefs | |
typedef struct Region | PetaPMRegion |
typedef struct PetaPMPriv | PetaPMPriv |
typedef struct PetaPM | PetaPM |
typedef void(* | petapm_transfer_func) (PetaPM *pm, int64_t k2, int kpos[3], pfft_complex *value) |
typedef void(* | petapm_readout_func) (PetaPM *pm, int i, double *mesh, double weight) |
typedef PetaPMRegion *(* | petapm_prepare_func) (PetaPM *pm, PetaPMParticleStruct *pstruct, void *data, int *Nregions) |
typedef void *(* | petapm_malloc_func) (char *name, size_t *size) |
typedef void *(* | petapm_mfree_func) (void *ptr) |
typedef void*(* petapm_malloc_func) (char *name, size_t *size) |
typedef PetaPMRegion*(* petapm_prepare_func) (PetaPM *pm, PetaPMParticleStruct *pstruct, void *data, int *Nregions) |
typedef void(* petapm_readout_func) (PetaPM *pm, int i, double *mesh, double weight) |
typedef void(* petapm_transfer_func) (PetaPM *pm, int64_t k2, int kpos[3], pfft_complex *value) |
typedef struct PetaPMPriv PetaPMPriv |
typedef struct Region PetaPMRegion |
pfft_complex* petapm_alloc_rhok | ( | PetaPM * | pm | ) |
Definition at line 50 of file petapm.c.
References PetaPMPriv::fftsize, mymalloc, and PetaPM::priv.
Referenced by displacement_fields().
void petapm_destroy | ( | PetaPM * | pm | ) |
Definition at line 215 of file petapm.c.
References PetaPMPriv::comm_cart_2d, PetaPM::Mesh2Task, myfree, PetaPMPriv::plan_back, PetaPMPriv::plan_forw, and PetaPM::priv.
Referenced by do_force_test(), main(), and run_gravity_test().
void petapm_force | ( | PetaPM * | pm, |
petapm_prepare_func | prepare, | ||
PetaPMGlobalFunctions * | global_functions, | ||
PetaPMFunctions * | functions, | ||
PetaPMParticleStruct * | pstruct, | ||
void * | userdata | ||
) |
Definition at line 353 of file petapm.c.
References CPS, functions, global_functions, myfree, petapm_force_c2r(), petapm_force_finish(), petapm_force_init(), petapm_force_r2c(), and PetaPMParticleStruct::RegionInd.
Referenced by glass_force(), and gravpm_force().
void petapm_force_c2r | ( | PetaPM * | pm, |
pfft_complex * | rho_k, | ||
PetaPMRegion * | regions, | ||
const int | Nregions, | ||
PetaPMFunctions * | functions | ||
) |
Definition at line 317 of file petapm.c.
References PetaPMPriv::fftsize, functions, PetaPMPriv::layout, layout_build_and_exchange_cells_to_local(), PetaPMPriv::meshbuf, myfree, mymalloc, mymalloc2, PetaPMFunctions::name, PetaPMPriv::plan_back, pm_apply_transfer_function(), pm_iterate(), PetaPM::priv, PetaPMFunctions::readout, PetaPMFunctions::transfer, and walltime_measure.
Referenced by displacement_fields(), and petapm_force().
void petapm_force_finish | ( | PetaPM * | pm | ) |
Definition at line 348 of file petapm.c.
References PetaPMPriv::layout, layout_finish(), PetaPMPriv::meshbuf, myfree, and PetaPM::priv.
Referenced by displacement_fields(), and petapm_force().
PetaPMRegion* petapm_force_init | ( | PetaPM * | pm, |
petapm_prepare_func | prepare, | ||
PetaPMParticleStruct * | pstruct, | ||
int * | Nregions, | ||
void * | userdata | ||
) |
Definition at line 251 of file petapm.c.
References PetaPM::comm, CPS, PetaPMPriv::layout, layout_prepare(), PetaPMPriv::meshbuf, pm_init_regions(), pm_iterate(), PetaPM::priv, put_particle_to_mesh(), and walltime_measure.
Referenced by displacement_fields(), and petapm_force().
pfft_complex* petapm_force_r2c | ( | PetaPM * | pm, |
PetaPMGlobalFunctions * | global_functions | ||
) |
Definition at line 273 of file petapm.c.
References PetaPMPriv::fftsize, PetaPMGlobalFunctions::global_analysis, global_functions, PetaPMGlobalFunctions::global_readout, PetaPMGlobalFunctions::global_transfer, PetaPMPriv::layout, layout_build_and_exchange_cells_to_pfft(), PetaPMPriv::meshbuf, PetaPMPriv::meshbufsize, myfree, mymalloc, mymalloc2, PetaPMPriv::plan_forw, pm_apply_transfer_function(), PetaPM::priv, report_memory_usage, and walltime_measure.
Referenced by petapm_force().
PetaPMRegion* petapm_get_fourier_region | ( | PetaPM * | pm | ) |
Definition at line 64 of file petapm.c.
References PetaPM::fourier_space_region.
Referenced by displacement_fields().
int* petapm_get_ntask2d | ( | PetaPM * | pm | ) |
Definition at line 77 of file petapm.c.
References PetaPM::NTask2d.
Referenced by idgen_init().
PetaPMRegion* petapm_get_real_region | ( | PetaPM * | pm | ) |
int* petapm_get_thistask2d | ( | PetaPM * | pm | ) |
Definition at line 74 of file petapm.c.
References PetaPM::ThisTask2d.
Referenced by idgen_init().
void petapm_init | ( | PetaPM * | pm, |
double | BoxSize, | ||
double | Asmth, | ||
int | Nmesh, | ||
double | G, | ||
MPI_Comm | comm | ||
) |
Definition at line 94 of file petapm.c.
References PetaPM::Asmth, PetaPM::BoxSize, PetaPM::CellSize, PetaPM::comm, PetaPMPriv::comm_cart_2d, endrun(), PetaPMPriv::fftsize, PetaPM::fourier_space_region, PetaPM::G, G, PetaPM::Mesh2Task, message(), myfree, mymalloc, mymalloc2, PetaPM::Nmesh, NTask, PetaPM::NTask2d, Region::offset, petapm_region_init_strides(), PetaPMPriv::plan_back, PetaPMPriv::plan_forw, PetaPM::priv, PetaPM::real_space_region, ROLL, Region::size, ThisTask, and PetaPM::ThisTask2d.
Referenced by gravpm_init_periodic(), and main().
int petapm_mesh_to_k | ( | PetaPM * | pm, |
int | i | ||
) |
Definition at line 70 of file petapm.c.
References PetaPM::Nmesh.
Referenced by pm_apply_transfer_function().
void petapm_module_init | ( | int | Nthreads | ) |
Definition at line 82 of file petapm.c.
References MPI_PENCIL.
Referenced by begrun(), main(), and setup_tree().
void petapm_region_init_strides | ( | PetaPMRegion * | region | ) |
Definition at line 813 of file petapm.c.
References Region::buffer, Region::size, Region::strides, and Region::totalsize.
Referenced by _prepare(), convert_node_to_region(), makeregion(), and petapm_init().