Swarm-NG
1.1
|
Defines a solver for differential Kepler's equation in universal variable x. More...
Go to the source code of this file.
Functions | |
GPUAPI double | C_prussing (double y) |
functions needed for kepstep More... | |
GPUAPI double | S_prussing (double y) |
equation 2.40b Prussing +Conway | |
GPUAPI void | SC_prussing (double y, double &S, double &C) |
equation 2.40a Prussing + Conway | |
__device__ void | SC_prussing_fast (double y, double &S, double &C) |
equation 2.40a Prussing + Conway | |
GPUAPI double | solvex (double r0dotv0, double alpha, double sqrtM1, double r0, double dt) |
GPUAPI void | drift_kepler (double &x_old, double &y_old, double &z_old, double &vx_old, double &vy_old, double &vz_old, const double sqrtGM, const double deltaTime) |
advance a particle using f,g functions and universal variables More... | |
Defines a solver for differential Kepler's equation in universal variable x.
solving differential Kepler's equation in universal variable x using Laguerre method as outlined by Prusing+C eqn 2.43 code adapted from Alice Quillen's Qymsym code see http://astro.pas.rochester.edu/~aquillen/qymsym/
Definition in file keplerian.hpp.
GPUAPI double C_prussing | ( | double | y) |
functions needed for kepstep
equation 2.40a Prussing + Conway
Definition at line 42 of file keplerian.hpp.
GPUAPI void drift_kepler | ( | double & | x_old, |
double & | y_old, | ||
double & | z_old, | ||
double & | vx_old, | ||
double & | vy_old, | ||
double & | vz_old, | ||
const double | sqrtGM, | ||
const double | deltaTime | ||
) |
advance a particle using f,g functions and universal variables
if dt == 0 then f=dgdt=1 and g=dfdt=0 f,g functions equation 2.38a PC
dfdt,dgdt function equation 2.38b PC
conservation of angular momentum means that f dfdt - g dfdt =1
dfdt,dgdt function equation 2.38b PC
eqn 2.65 M+D
eqn 2.70 M+D
Replace values
Definition at line 175 of file keplerian.hpp.
References SC_prussing(), solvex(), and x.
Referenced by swarm::gpu::bppt::MVSPropagator< T, Gravitation >::advance().
GPUAPI double solvex | ( | double | r0dotv0, |
double | alpha, | ||
double | sqrtM1, | ||
double | r0, | ||
double | dt | ||
) |
integer n, for recommended Laguerre method
initial guess could be improved
7 iterations is probably overkill
eqn 2.41 PC
eqn 2.42 PC
equation 2.43 PC
Definition at line 120 of file keplerian.hpp.
References SC_prussing(), SC_prussing_fast(), and x.
Referenced by drift_kepler().