▼ src | |
▶ cooling_sfr | |
cooling.cc | Module for gas radiative cooling |
cooling.h | Defines a class for dealing with cooling and star formation |
sfr_eos.cc | Star formation rate routines for the effective multi-phase model |
starformation.cc | Generic creation routines for creating star particles |
▶ data | |
allvars.cc | Instance and code for an object dealing with global parameters and variables |
allvars.h | Declares a structure for global parameters and variables |
constants.h | Declares global constants and checks plausibility of configuration |
dtypes.h | Defines some custom data types used by the code |
idstorage.h | Defines a class that we use to store and manipulate the particle IDs |
intposconvert.h | Defines a class to convert between integer coordinates and floating point positions |
lcparticles.h | Declares a class responsible for holding the (buffered) particles on the lightcone |
lightcone_massmap_data.h | Defines a structure to hold data for lightcone particles projected on healpix map |
lightcone_particle_data.h | Declares a structure for holding particle on the lightcone |
macros.h | Defines macros for run termination or for warnings |
mmparticles.h | Defines class that holds particles for projection on lightcone massmaps |
mymalloc.cc | Manager for dynamic memory allocation |
mymalloc.h | Declares class that organizes the dynamic memory allocation |
particle_data.h | Declares a structure that holds the data stored for a single particle |
simparticles.h | Class for organizing the storage of the actual simulation particles |
sph_particle_data.h | Defines the structure holding the extra hydrodynamic data for a single SPH particle |
symtensor_indices.h | Defines some symbols for accessing the elements of (storage-optimized) symmetric tensors |
symtensors.h | Defines symmetric tensors of different rank and basic operations for them |
test_symtensors.cc | Some test routines for the symmetric tensor implementation |
▶ debug_md5 | |
calc_checksum.cc | Auxiliary routines to compute MD5 checksums for blocks of memory |
Md5.cc | Implementation code of MD5 checksum computation for blocks of memory |
Md5.h | Definition and prototypes for MD5 routines |
▶ domain | |
domain.cc | Code for work-load balanced domain decomposition |
domain.h | Declares the class used for the domain decomposition |
domain_balance.cc | Routines to improve the domain balance by combining several patches per MPI rank |
domain_box.cc | Routines for finding domain extension, random shifting, and periodic wrapping if needed |
domain_exchange.cc | Routines for moving particle data between MPI ranks |
domain_toplevel.cc | Construction of top-level for subdividing the volume into domains |
▶ fmm | |
fmm.cc | Main routines for gravitational force computation with the fast multipole method (FMM) |
fmm.h | Declares the class used for the fast multipole method (FMM) |
▶ fof | |
fof.cc | Main routines of parallel FoF group finder |
fof.h | Declaration of class for the FOF functionality |
fof_findgroups.cc | Routines for identifying particle groups via friends-of-friends (FOF) linking |
fof_io.cc | Routines for implementing the I/O routines concerned with the group catalogues |
fof_io.h | Declares class needed for I/O of group catalogues |
fof_nearest.cc | Routines to find nearest neighbors |
foftree.h | Declares structures and classes needed for the FOF neighbor tree |
foftree_build.cc | Routines needed for FOF neighbor tree construction |
▶ gitversion | |
version.h | |
▶ gravity | |
ewald.cc | Code for Ewald correction computations |
ewald.h | Definition of class that implements the functionality needed for Ewald corrections |
ewald_test.cc | Some unit test routines for the table look-up in the ewald correction |
ewaldtensors.h | Defines derivative tensors with cubic symmetry for Ewald correction |
grav_direct.cc | Calculates forces through direct summation |
grav_external.cc | |
grav_forcetest.cc | Routines for testing the force accuracy though comparison with direct summation |
grav_forcetest.h | Declares a class needed for the force test calculations |
gravity.cc | Main driver routines for computing the gravitational accelerations for all active particles |
second_order_ics.cc | Produce actual ICs from special 2nd order LPT ICs created by Adrian Jenkin's code |
▶ gravtree | |
gravtree.cc | Driver routines for computing the (short-range) gravity |
gravtree.h | Declares the gravitational tree node structure and a class for gravity tree calculation |
gravtree_build.cc | Routines for building the gravitational tree |
gwalk.cc | Implements the routines for walking the gravity tree and accumulating forces |
gwalk.h | Defines a class for walking the gravitational tree |
▶ half | |
half.hpp | Implements half precision functionality |
▶ io | |
hdf5_util.cc | Some helper functions for HDF5 I/O routines |
hdf5_util.h | Declares some helper functions for HDF5 I/O routines |
io.cc | Main routines for driving I/O in Gadget's three file formats for snapshots, group catalogues etc |
io.h | Declarations of I/O enumerations and a base class for I/O in Gadget |
io_streamcount.h | Class to measure I/O performance |
parameters.cc | Parses the parameter file |
parameters.h | Declares a class for dealing with the parameter file |
restart.cc | Handles the reading/writing of restart files |
restart.h | Declares class used for reading/writing of restart files |
snap_io.cc | Routines for I/O of snapshot files |
snap_io.h | Declares class used for I/O of snapshot files |
test_io_bandwidth.cc | Test routines to identify optimum setting of MaxFilesWithConcurrentIO on given machine |
test_io_bandwidth.h | Declares a class for I/O performance measurements |
▶ lightcone | |
lightcone.cc | Code to collect particles on the lightcone |
lightcone.h | Declares a class for accumulating particles on the lightcone |
lightcone_massmap_io.cc | Routines for I/O of lightcone mass projections |
lightcone_massmap_io.h | Declares class used for I/O of lightcone mass projections |
lightcone_particle_io.cc | Routines for I/O of lightcone particles |
lightcone_particle_io.h | Declares class for I/O of lightcone particles |
▶ logs | |
logs.cc | Routines for log-file handling |
logs.h | Declares constants and some classes used for log-file handling |
timer.h | Defines the CPU consumption timers |
▶ main | |
begrun.cc | Initial set-up of a simulation run |
init.cc | Code for initialization of a simulation from initial conditions |
main.cc | Start of the program |
main.h | Declares some global auxiliary functions |
run.cc | Basic simulation loop that iterates over timesteps |
simulation.h | Declares the main simulation class holding its data and principle modules |
▶ mergertree | |
descendant.cc | Code to determine the descendant subhalo of all subhalos in one catalogue in another one |
halotrees.cc | Constructs trees that link together just the subhalos related by descendant relationships |
io_descendant.cc | Defines routines for the I/O of the descendant fields of subhalos |
io_descendant.h | Declares the class needed for the I/O of descendants relationships |
io_halotrees.cc | Routines to stores the constructed trees made of subhalos |
io_halotrees.h | Definitions of a class for storing the halo trees |
io_progenitors.cc | Routines for I/O of the progenitor links between two subhalo catalogues |
io_progenitors.h | Declaration of the class used for I/O of the progenitor links |
io_readsnap.cc | Routines for allowing reading of snapshot data for merger tree building |
io_readsnap.h | Declaration of class for reading snapshot files for purposes of merger tree construction |
io_readtrees_mbound.cc | Routines for I/O of most-bound particles belonging to merger trees |
io_readtrees_mbound.h | Definition of I/O class for most-bound particles belonging to merger trees |
io_treelinks.cc | Routines for the I/O needed for the merger treelink files |
io_treelinks.h | Declaration of the class used for I/O of the merger treelink files |
mergertree.h | Definition of a class that provides the merger tree functionality |
postproc_descendants.cc | Code to determine the descendant subhalo of all subhalos in one catalogue in another one |
rearrange.cc | Routines to rearrange some of the lightcone data on disk to allow easier processing later on |
▶ mpi_utils | |
allreduce_debugcheck.cc | Some routines for cross-checking the use of collective MPI routines |
allreduce_sparse_double_sum.cc | Implementation of a reduction operation for sparsely populated data |
generic_comm.h | Defines a class with a generic communication pattern for parallel tree walks |
healthtest.cc | Routines for testing whether all compute nodes yield the full CPU and communication performance |
hypercube_allgatherv.cc | Simple version of an Allgatherv implemented with a hypercube communication model |
mpi_types.cc | Implements some user defined MPI types for collectives |
mpi_utils.h | Declares some numerical values for MPI tags and function prototypes for MPI helper functions |
mpi_vars.cc | Global variables defined in the MPI helper functions |
myalltoall.cc | Simple wrapper around MPI_Alltoallv that can deal with data in individual sends that are very big |
setcomm.h | Implements a class providing basic information about the local MPI communicator |
shared_mem_handler.cc | Implements code for the shared-memory fetching of remote date through designated MPI handler ranks |
shared_mem_handler.h | Class for accessing data of other MPI ranks via shared memory and designated MPI handler ranks |
sizelimited_sendrecv.cc | Implements a wrapper around MPI_Sendrecv that if needed transmits the data in smaller pieces than a prescribed maximum size |
sums_and_minmax.cc | Some simple extensions of MPI-collectives |
▶ ngbtree | |
ngbtree.h | Declaration of the class providing the neighbor tree routines |
ngbtree_build.cc | Code for the neighbor tree construction |
▶ ngenic | |
grid.cc | Routines for setting up an unperturbed particle load |
ngenic.cc | Sets up cosmological initial conditions |
ngenic.h | Definition of a class for the construction of cosmological initial conditions |
power.cc | Auxiliary routines for computing the linear power spectrum for the ICs |
▶ pm | |
pm.h | Definition of a class to bundle the PM-force calculation algorithms |
pm_mpi_fft.cc | Code for doing different variants of parallel FFT transforms |
pm_mpi_fft.h | Declaration of a class for carrying out different variants of parallel FFT transforms |
pm_nonperiodic.cc | Code for non-periodic long-range PM force calculation |
pm_nonperiodic.h | Declaration of a class used for non-periodic long-range PM force calculation |
pm_periodic.cc | Routines for periodic PM-force calculation |
pm_periodic.h | Declaration of a class used for periodic PM-force calculations |
▶ sort | |
cxxsort.h | Various sort routines |
parallel_sort.h | Parallel sort routine that leaves the number of elements per processor invariant |
peano.cc | Routines for computing Peano-Hilbert keys and for bringing particles into this order |
peano.h | Declaration of function prototypes used for Peano-Hilbert keys |
▶ sph | |
artificial_viscosity.cc | Calculates time-dependent artificial viscosity parameter |
density.cc | SPH density computation and smoothing length determination |
hydra.cc | Computation of SPH forces and rate of entropy generation |
init_entropy.cc | Initialization code for the entropy variable of the particles |
kernel.h | Collects definitions of different SPH kernels |
sph.h | Defines a class for the SPH computations |
▶ subfind | |
subfind.cc | Main routines for carrying out the SUBFIND or SUBFIND_HBT algorithms on a set of FOF groups |
subfind.h | Defines various constants used by the Subfind code |
subfind_density.cc | Local matter density calculation for Subfind algorithm |
subfind_distribute.cc | Code to distribute particle data for Subfind processing |
subfind_excursionset.cc | Main routines for processing a halo with the classic Subfind algorithm |
subfind_findlinkngb.cc | Find the nearest linking neighbors used in looking for saddle points |
subfind_history.cc | This implements the SUBFIND_HBT algorithm for substructure finding |
subfind_nearesttwo.cc | Determine the nearest two denser neighbours for linking them in excursion set formalism of SUBFIND |
subfind_orphanids.cc | Determine orphan IDs so that those are flagged |
subfind_processing.cc | Main routines for processing a halo with the Subfind algorithm |
subfind_properties.cc | Determination of subhalo properties |
subfind_readid_io.cc | Routines to read particle IDs of group catalogues |
subfind_readid_io.h | Declaration of a class for reading particle IDs of group catalogues |
subfind_so.cc | Spherical overdensity virial radius determination and property calculation |
subfind_treepotential.cc | Routines to compute the gravitational potential of the particles making up a group |
subfind_unbind.cc | Carries out the gravitational unbinding of a subhalo candidate |
▶ system | |
pinning.cc | Routines to report and modify the pinning of processes/threads to CPU cores |
pinning.h | Declares a class for pinning related work |
system.cc | Various low level helper routines |
system.h | Declares functions for various low level helper routines |
▶ time_integration | |
driftfac.cc | Tabulates cosmological drift/kick factors for fast look-up |
driftfac.h | Declares a class for supporting cosmological drift/kick factor calculations |
kicks.cc | Drives gravitational and hydrodynamical force calculations and applies corresponding kicks to particles |
predict.cc | Find the next sync point, drift particles forward in time, and (re)build the timebin lists |
timestep.cc | Routines for determining the timesteps of particles |
timestep.h | Declarations of a structure for organizing the timebins |
timestep_treebased.cc | Routines to find the timestep by checking for the arrival of the first waves from anywhere |
▶ tree | |
tree.cc | Basic routines for oct-tree building |
tree.h | Declaration of the base class for building oct-trees |