|
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().