File List

Here is a list of all documented files with brief descriptions:
src/config.h [code]
src/integrators/hermite_adap.hpp [code]Defines and implements swarm::gpu::bppt::hermite_adap class - the GPU implementation of PEC2 Hermite integrator with adaptive time step
src/integrators/hermite_cpu.hpp [code]Defines and implements swarm::cpu::hermite_cpu class - the CPU implementation of PEC2 Hermite integrator
src/integrators/hermite_integrator.hpp [code]Defines and implements swarm::gpu::bppt::hermite class - the GPU implementation of PEC2 Hermite integrator
src/integrators/mvs_cpu.hpp [code]Defines and implements swarm::cpu::mvs_cpu class - the CPU implementation of mixed variables symplectic propagator
src/integrators/mvs_omp.hpp [code]Defines OpenMP implementation of mixed variables symplectic propagator on CPU
src/integrators/rkck_integrator.hpp [code]Defines and implements swarm::gpu::bppt::rkck class - the GPU implementation of Runge Kutta Cash Karp integrator
src/monitors/combine.hpp [code]Defines and implements a template swarm::monitors::combine to combine two monitors
src/monitors/composites.hpp [code]Defines and implements the combination of monitors
src/monitors/log_rvs.hpp [code]Defines and implements the monitor that logs time and events at times near a transit on GPU
src/monitors/log_time_interval.hpp [code]Defines and implements the monitor swarm::monitors::log_time_interval that logs the entire state of systems at periodic intervals
src/monitors/log_transit.hpp [code]Defines and implements the monitor swarm::monitors::log_transit that logs time and events at times near a transit
src/monitors/monitor_template.hpp [code]Defines monitor templates swarm::monitors::monitor_template
src/monitors/stop_on_all_but_two_at_large_distance.hpp [code]Defines and implements the monitor swarm::monitors::stop_on_all_but_two_at_large_distance that signals and logs when no more than two bodies are within a distance "rmax" of origin or another body
src/monitors/stop_on_any_large_distance.hpp [code]Defines and implements the monitor swarm::monitors::stop_on_any_large_distance that logs the body that is separated from origin and other bodies by at least "rmax"
src/monitors/stop_on_close_encounter.hpp [code]Defines and implements the monitor swarm::monitors::stop_on_close_encounter that signals and logs when the distance between any two bodies is less than "close_approach"
src/monitors/stop_on_collision.hpp [code]Defines and implements the monitor swarm::monitors::stop_on_collision that detects physical collisions
src/monitors/stop_on_crossing_orbit.hpp [code]Defines the monitor swarm::monitors::stop_on_crossing_orbit that detects crossing orbits for planets
src/monitors/stop_on_ejection.hpp [code]Defines and implements the monitor swarm::monitors::stop_on_ejection that signals and logs when bodies meets ejection criteria
src/plugins/euler.cu [code]Initializes the integrator plugin
src/plugins/hermite.cu [code]Initializes the hermite integrator plugins
src/plugins/hermite_adap.cu [code]Initializes the hermite_adap integrator plugins
src/plugins/hermite_cpu.cpp [code]Initializes the hermite CPU integrator plugin
src/plugins/hermite_prop.cu [code]Initializes the hermite propagator integrator plugin
src/plugins/midpoint.cu [code]Initializes the midpoint propagator integrator plugin
src/plugins/mvs.cu [code]Initializes the GPU version of the mixed variables symplectic propagator plugins
src/plugins/mvs_cpu.cpp [code]Initializes the CPU version of the mixed variables symplectic propagator plugins
src/plugins/mvs_omp.cpp [code]Initializes the OpenMP version of the mixed variables symplectic propagator plugins
src/plugins/rkck.hpp [code]Includes a list of header files and global structures
src/plugins/rkck_adaptive.cu [code]Initializes the adaptive Runge Kutta Cash Karp integrator plugin
src/plugins/rkck_fixed.cu [code]Initializes the fixed Runge Kutta Cash Karp integrator plugin
src/plugins/verlet.cu [code]Initializes the verlet propagator integrator plugin
src/propagators/euler.hpp [code]Defines and implements swarm::gpu::bppt::EulerPropagator class
src/propagators/hermite_propagator.hpp [code]Defines swarm::gpu::bppt::HermitePropagator - implements the GPU version of hermite propagator
src/propagators/keplerian.hpp [code]Defines a solver for differential Kepler's equation in universal variable x
src/propagators/midpoint.hpp [code]Defines swarm::gpu::bppt::MidpointPropagator - the GPU implementation of modified midpoint method propagator
src/propagators/mvs.hpp [code]Defines swarm::gpu::bppt::MVSPropagator - the GPU implementation of mixed variables symplectic propagator
src/propagators/verlet.hpp [code]Defines swarm::gpu::bppt::VerletPropagator - the GPU implementation of Verlet propagator
src/swarm/common.hpp [code]Common external (and some internal) library headers used by all components of swarm
src/swarm/integrator.cpp [code]Implements member functions for class integrator
src/swarm/integrator.hpp [code]Defines swarm::integrator class for CPU and GPU
src/swarm/kepler.h [code]Converts between Cartesian & Keplerian coordinates
src/swarm/plugin.cpp [code]Implements the interface and utility functions for plugin system
src/swarm/plugin.hpp [code]Defines swarm::plugin class and swarm::basic_plugin class, implements the interface and utility functions for the plugin development and plugin management system
src/swarm/query.cpp [code]Routines for extracting text information from binary files generated by swarm GPU logging subsystem
src/swarm/query.hpp [code]Defines class arg_parse and validate function for data values
src/swarm/runtime_error.hpp [code]Error handling for swarm
src/swarm/snapshot.cpp [code]Implements load and save functions for ensemble files
src/swarm/snapshot.hpp [code]Defines and implements load and save functions for ensemble files
src/swarm/stopwatch.h [code]Defines stopwatch class for benchmarking cpu & gpu performance
src/swarm/swarm.cpp [code]Generic command-line interface to use all aspects of the Swarm-NG libraries
src/swarm/swarm.h [code]Defines the public interface for Swarm-NG library
src/swarm/swarmplugin.h [code]Convenient header file to be used in new plugins
src/swarm/utils.cpp [code]Implements the utility functions for swarm
src/swarm/utils.hpp [code]Defines utility routines for common tasks that most users would need
src/swarm/gpu/bppt.hpp [code]Defines and implements the GPU integrator class with one thread for each body-pair and the interface to GPU and CUDA
src/swarm/gpu/device_settings.cpp [code]Implements the function to set up the GPU related parameters
src/swarm/gpu/device_settings.hpp [code]Declaration of funtions for GPU device setting
src/swarm/gpu/generic_gpu_bppt_integrator.hpp [code]Defines and implements class swarm::gpu::bppt::generic - a generic integrator for rapid creation of new GPU integrators
src/swarm/gpu/gravitation_acc.hpp [code]Defines and implements class swarm::gpu::bppt::GravitationAcc that implements member functions to calculate acceleration part of the gravitation
src/swarm/gpu/gravitation_accjerk.hpp [code]Defines and implements class swarm::gpu::bppt::GravitationAccJerk that implements the functions to calculate accerleration and jerk of the gravitation in parallel
src/swarm/gpu/gravitation_common.hpp [code]Defines and implements common utility functions for calculating acceleration and jerk of gravitation
src/swarm/gpu/gravitation_gr_acc.hpp [code]Defines and implements class swarm::gpu::bppt::GravitationAcc_GR that implements the functions to calculate acceleration part of the gravitation
src/swarm/gpu/gravitation_largen.hpp [code]Defines and implements class swarm::gpu::bppt::GravitationLargeN that implements functions to calculate acceleration and jerk in parallel for many-body systems
src/swarm/gpu/gravitation_mediumn.hpp [code]Defines and implements class swarm::gpu::bppt::GravitationMediumN that implements functions to calculate acceleration and jerk in parallel for many-body systems
src/swarm/gpu/helpers.hpp [code]Template meta-programming combinators (symbolic helper functions) for loop unrolling and selecting the correct templatized integrator at runtime
src/swarm/gpu/utilities.cu [code]Several utility functions for public interface for swarm libaray
src/swarm/gpu/utilities.hpp [code]Defines a function for counting the number of active ensemble systems on GPU and utility functions for finding the best factorization and compute the optimal allowable grid dimensions based on the system configuration
src/swarm/log/bdb_writer.cpp [code]Writer plugin to output the log into a Berkeley-DB database
src/swarm/log/binary_writer.cpp [code]Defines and implements a writer that writes to binary files
src/swarm/log/fileformat.hpp [code]Defines swarm header file format
src/swarm/log/host_array_writer.cpp [code]Processes the event log data
src/swarm/log/host_array_writer.hpp [code]Defines an event writer plug-in for io.cpp
src/swarm/log/io.cpp [code]Implements functions for opening a swarm log file using swarmdb
src/swarm/log/io.hpp [code]Defines routines for reading binary log files made by binary_writer
src/swarm/log/log.cpp [code]Process the event types
src/swarm/log/log.hpp [code]Defines an event/data logging system for swarm
src/swarm/log/logmanager.cpp [code]Implements the public interface to swarm logging system
src/swarm/log/logmanager.hpp [code]Defines the class swarm::log::manager - the logging manager for CPU/GPU logs and writing them to appropriate output
src/swarm/log/null_writer.cpp [code]Defines a dummy null writer
src/swarm/log/types.hpp [code]Defines on-GPU state logging of bodies
src/swarm/log/writer.cpp [code]Implements output writer interface
src/swarm/log/writer.h [code]Defines class interface (swarm::writer) for writer plugins
src/swarm/log/gpulog/gpulog.h [code]Header file for gpulog
src/swarm/log/gpulog/lprintf.h [code]Defines and implements the CUDA compatible printf API
src/swarm/log/gpulog/bits/gpulog_align.h [code]Defines CUDA compatible data alignment
src/swarm/log/gpulog/bits/gpulog_constants.h [code]Defines message IDs
src/swarm/log/gpulog/bits/gpulog_debug.h [code]Defines debugging macros
src/swarm/log/gpulog/bits/gpulog_ilogstream.h [code]Handles log stream records
src/swarm/log/gpulog/bits/gpulog_log.h [code]Defines templates for logging system on GPU
src/swarm/log/gpulog/bits/gpulog_logrecord.h [code]Defines methods for processing log records
src/swarm/log/gpulog/bits/gpulog_macro_cleanup.h [code]Unsets the logging macros
src/swarm/log/gpulog/bits/gpulog_msg_layout.h [code]Defines class templates to enable compile-time calculations of log record layout
src/swarm/log/gpulog/bits/gpulog_printf.h [code]
src/swarm/log/gpulog/bits/gpulog_ttraits.h [code]Defines system compatible data alignment and convenient macros
src/swarm/log/gpulog/bits/gpulog_types.h [code]Defines the interface for logging data types
src/swarm/log/gpulog/bits/gpulog_write.h [code]
src/swarm/peyton/astro_types.hpp [code]Defines data types and inline math routines
src/swarm/peyton/binarystream.cpp [code]Implements the I/O operators and methods
src/swarm/peyton/binarystream.hpp [code]Defines I/O interface in binary form using boost data types
src/swarm/peyton/constants.hpp [code]Defines various constants for calculations
src/swarm/peyton/fakemmap.cpp [code]Implements functions to fake memory mapping for portability
src/swarm/peyton/fakemmap.h [code]Defines macros and functions for faking memory mapping for portability
src/swarm/peyton/macros.h [code]Defines macros for convenient array and stream operations
src/swarm/peyton/memorymap.cpp [code]Implements memory mapping methods
src/swarm/peyton/memorymap.hpp [code]Defines memory mapping class and interfaces
src/swarm/peyton/util.cpp [code]Implements utility functions for string operations
src/swarm/peyton/util.hpp [code]Defines string operation utility functions
src/swarm/types/allocators.hpp [code]Defines routines to allocate memory using different APIs and copy between them
src/swarm/types/coalescedstructarray.hpp [code]Defines and implements the array of structures with coalescsed access
src/swarm/types/config.cpp [code]Implements several utility functions for public interface for swarm libaray
src/swarm/types/config.hpp [code]Defines data structure to hold the configuration
src/swarm/types/ensemble.hpp [code]Defines ensemble base class and implements its member functions
src/tutorials/kepler.cpp [code]Implements functions for converting between Cartesian & Keplerian coordinates
src/tutorials/kepler.hpp [code]Defines functions for converting between Cartesian & Keplerian coordinates
src/tutorials/montecarlo.cpp [code]Implement Monte Carlo simulation to find planetary systems and generate ensemble
src/tutorials/montecarlo_ecclimit.cpp [code]Implement Monte Carlo simulation to find planetary systems and generate ensemble
src/tutorials/montecarlo_mcmc_outputs.cpp [code]Implement Monte Carlo simulation to find planetary systems and generate ensemble
src/tutorials/random.hpp [code]Defines and implements simple interfaces to CPU random number generators
src/tutorials/tutorial_ensemble.cpp [code]A tutorial on how to manipulate ensembles
src/tutorials/tutorial_gpu.cpp [code]A tutorial for using GPU integrators
src/tutorials/tutorial_integrator.hpp [code]Defines Tutorial for implementing an Integrator class - implements a tutorial for making a integrator
src/tutorials/tutorial_integrator_plugin.cu [code]
src/tutorials/tutorial_monitor.hpp [code]A tutorial on how to make the monitor, for more info see Tutorial for making a monitor (stopper/logger)
src/tutorials/tutorial_monitor_plugin.cu [code]
src/tutorials/tutorial_propagator.hpp [code]Defines Tutorial for Making a Propagator class -- implements a tutorial for making a propagator
src/tutorials/tutorial_propagator_plugin.cu [code]A integrator plugin based on tutorial propagator
src/tutorials/tutorial_simple.cpp [code]A simple tutorial for beginners to use the swarm API
src/utils/parabolic_collision.cpp [code]Create test case for collision
src/utils/straight_line.cpp [code]Implements a utility to create a default ensemble

doxygen