Swarm-NG  1.1
Monitors

A “monitor” class is responsible for determining when the system state should be logged and when the GPU should cease integrating a given system. More...

Classes

struct  swarm::monitors::combine< log_t, Monitor1, Monitor2 >
 Template to allow developer to join two monitors Signal is true if either monitor returns true. More...
 
struct  swarm::monitors::stop_on_ejection_or_close_encounter_or_crossing_orbit< L >
 Combination of stop_on_ejcetion, stop_on_close_encounter and stop_on_crossing_orbit. More...
 
struct  swarm::monitors::stop_on_ejection_or_close_encounter< L >
 Combination of stop_on_ejcetion and stop_on_close_encounter EXPERIMENTAL: This class is not thoroughly tested. More...
 
class  swarm::monitors::log_time_interval< log_t >
 Monitor that logs the entire state of systems at periodic intervals of approximately "log_interval" Systems may be integrated for more than log interval before another log entry is written. More...
 
class  swarm::monitors::log_transit< log_t >
 Monitor that logs (the estimated transit time, the estimated minimum impact parameter in units of stellar radii, and the estimated velocity projected onto the planet of the sky in units of stellar radii per time) at times near a transit EXPERIMENTAL: This class is not thoroughly tested. More...
 
class  swarm::monitors::monitor_template< log_t >
 Empty monitor to use as a template. More...
 
class  swarm::monitors::stop_on_all_but_two_at_large_distance< log_t >
 Simple monitor that signals and logs when no more than two bodies are within a distance "rmax" of origin or another body. More...
 
class  swarm::monitors::stop_on_any_large_distance< log_t >
 Simple monitor that logs when any one body is separated from EXPERIMENTAL: This class is not thoroughly tested. More...
 
class  swarm::monitors::stop_on_close_encounter< log_t >
 Simple monitor to detect close encounters. More...
 
class  swarm::monitors::stop_on_collision< log_t >
 Simple monitor to detect physical collisions. More...
 
class  swarm::monitors::stop_on_crossing_orbit< log_t >
 Stopping monitor to detect crossing orbits for planets EXPERIMENTAL: This class is not thoroughly tested. More...
 
class  swarm::monitors::stop_on_ejection< log_t >
 Simple monitor that signals and logs when any body (other than body 0) meets all of the following criteria: More...
 

Detailed Description

A “monitor” class is responsible for determining when the system state should be logged and when the GPU should cease integrating a given system.

If the monitor determines that logging is needed, then the system’s current state is written to a buffer in the GPU global device memory