Swarm-NG  1.1
swarm::gpu::bppt::MVSPropagator< T, Gravitation > Struct Template Reference

GPU implementation of mixed variables symplectic propagator. More...

#include <mvs.hpp>

Public Member Functions

GPUAPI MVSPropagator (const params &p, ensemble::SystemRef &s, Gravitation &calc)
 Constructor for MVSPropagator.
 
GPUAPI void init ()
 Shift into funky coordinate system (see A. Quillen's qymsym's tobary) Shift back and forth is tested and it is indeed symmetric Initialization tasks executed before entering loop Cache sqrtGM, shift coord system, cache acceleration data for this thread's body and component.
 
GPUAPI void shutdown ()
 Before exiting, convert back to standard cartesian coordinate system.
 
GPUAPI void convert_std_to_helio_pos_bary_vel_coord ()
 Shift to funky coordinate system (see A. Quillen's qymsym's tobary)
 
GPUAPI void convert_std_to_helio_pos_bary_vel_coord_with_shared ()
 Shift to funky coordinate system (see A. Quillen's qymsym's tobary) At least when there's not logging that needs frequent shifts, this is too small to bother with shared memory. More...
 
GPUAPI void convert_std_to_helio_pos_bary_vel_coord_without_shared ()
 Shift to funky coordinate system (see A. Quillen's qymsym's tobary)
 
GPUAPI void convert_helio_pos_bary_vel_to_std_coord ()
 Shift back from funky coordinate system (see A. Quillen's qymsym's frombary)
 
GPUAPI void convert_internal_to_std_coord ()
 Standardized member name to call convert_helio_pos_bary_vel_to_std_coord.
 
GPUAPI void convert_std_to_internal_coord ()
 Standardized member name to call convert_std_to_helio_pos_bary_vel_coord_without_shared()
 
GPUAPI void drift_step (const double hby2)
 Drift step for MVS integrator.
 
GPUAPI void advance ()
 Advance system by one time unit.
 

Public Attributes

ensemble::SystemRef & sys
 Runtime variables.
 

Detailed Description

template<class T, class Gravitation>
struct swarm::gpu::bppt::MVSPropagator< T, Gravitation >

GPU implementation of mixed variables symplectic propagator.

Todo:
make Gravitation class a template parameter: template<class T, class GravClass>

Definition at line 52 of file mvs.hpp.

Member Function Documentation

template<class T , class Gravitation >
GPUAPI void swarm::gpu::bppt::MVSPropagator< T, Gravitation >::convert_std_to_helio_pos_bary_vel_coord_with_shared ( )
inline

Shift to funky coordinate system (see A. Quillen's qymsym's tobary) At least when there's not logging that needs frequent shifts, this is too small to bother with shared memory.

Find Center of mass and momentum

Definition at line 117 of file mvs.hpp.

References swarm::gpu::bppt::MVSPropagator< T, Gravitation >::sys.


The documentation for this struct was generated from the following file: