|
Swarm-NG
1.1
|
CPU implementation of mixed variables symplectic propagator: template<class Monitor> EXPERIMENTAL: This class is not thoroughly tested. More...
#include <mvs_cpu.hpp>
Public Member Functions | |
| mvs_cpu (const config &cfg) | |
| Construct for class mvs_cpu. | |
| virtual void | launch_integrator () |
| Integrater implementation provided by derived instance. | |
| void | calcForces (ensemble::SystemRef &sys, double acc[][3]) |
| Method for calculating forces. | |
| void | convert_internal_to_std_coord (ensemble::SystemRef sys) |
| Standardized member name to call convert_helio_pos_bary_vel_to_std_coord. | |
| GPUAPI void | convert_std_to_internal_coord (ensemble::SystemRef sys) |
| Standardized member name to call convert_std_to_helio_pos_bary_vel_coord() | |
| void | convert_std_to_helio_pos_bary_vel_coord (ensemble::SystemRef sys) |
| Shift to funky coordinate system (see A. Quillen's qymsym's tobary) | |
| void | convert_helio_pos_bary_vel_to_std_coord (ensemble::SystemRef sys) |
| Shift back from funky coordinate system (see A. Quillen's qymsym's frombary) | |
| void | drift_step (ensemble::SystemRef sys, const double hby2) |
| Drift step for MVS integrator. | |
| void | integrate_system (ensemble::SystemRef sys) |
| Integrating an ensemble. | |
Public Member Functions inherited from swarm::integrator | |
| integrator (const config &cfg) | |
| Inetgrator class should be configurable. Derived instances should also have a constructor with similar signature and pass on the config parameter. | |
| virtual void | integrate () |
| Interfaces function to integrate, for use by general user. More... | |
| virtual void | flush_log () |
| Flush the host log. | |
| virtual defaultEnsemble & | get_ensemble () |
| Access the ensemble subject to integration. | |
| virtual void | set_ensemble (defaultEnsemble &ens) |
| Set the ensemble subject to integration. | |
| virtual void | set_destination_time (const double &destination_time) |
| Set the time marker to end the integration. | |
| virtual void | set_log_manager (log::Pmanager &l) |
| accessor function to set the manager for log output | |
Static Public Member Functions | |
| static double | inner_product (const double a[3], const double b[3]) |
| Method for calculating inner product of two arrays. | |
Static Public Member Functions inherited from swarm::integrator | |
| static shared_ptr< integrator > | create (const config &cfg) |
| Loads an integrator using the plugin system. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from swarm::integrator | |
| static const int | _default_max_iterations = 10000000 |
| Default value for maximum number of iterations. c.f. _max_iterations. | |
| static const int | _default_max_attempts = 1000000 |
| Default value for maximum number of attempts. c.f. _max_attempts. | |
Protected Attributes inherited from swarm::integrator | |
| defaultEnsemble | _ens |
| ensemble to be integrated | |
| double | _destination_time |
| the timestamp at which the integration should finish | |
| log::Pmanager | _logman |
| log manager for log output, set to manager::default() by default | |
| gpulog::host_log * | _log |
| log object, obtained from log manager | |
| int | _max_iterations |
| Maximum number of iterations per each integration step. c.f. integrate for usage. | |
| int | _max_attempts |
| Maximum number of attempts to complete the integration. c.f. integrate for usage. | |
CPU implementation of mixed variables symplectic propagator: template<class Monitor> EXPERIMENTAL: This class is not thoroughly tested.
This is used as a reference implementation to test the GPU implementation of the mvs integrator
This integrator can be used as an example of CPU integrator
Definition at line 52 of file mvs_cpu.hpp.