SMILE
v2.5
Schwarzschild Modelling Interactive expLoratory Environment
|
Runtime function recording shell-based kinematic data (time spent in each shell and radial/tangential velocity dispersion in a shell). More...
#include <schwarzschild.h>
Public Member Functions | |
COrbitRuntimeSchwKinemShell (const COrbit *_orbit, const CSchwDataKinemShell *_model) | |
virtual FNCTYPE | FncType () const |
derived classes return their type | |
virtual STEPRESULT | Timestep (const double told, const double t, CPosVelPoint< double > *vars) |
the following method is called after each timestep. More... | |
virtual void | Finish () |
called when integration is finished, performs cleanup/postprocessing but doesn't destroy collected data | |
virtual CBasicInformation * | getData () const |
serialize three arrays into one | |
Public Member Functions inherited from smile::CBasicOrbitRuntimeFnc | |
CBasicOrbitRuntimeFnc (const COrbit *_orbit) | |
constructs instance and initializes some internal data | |
virtual | ~CBasicOrbitRuntimeFnc () |
destroys all necessary internal data | |
Private Member Functions | |
void | calcShellTime (double tlow, double tupp, size_t slow, size_t supp, double vr2, double vt2) |
record time-in-shell with fraction-of-period accuracy | |
Private Attributes | |
const CSchwDataKinemShell * | model |
pointer to Schwarzschild kinem.data object | |
double | timeAccuracy |
accuracy of computation of time spent in each shell | |
vectord | shellTime |
vectord | shellVr |
vectord | shellVt |
time spent in each shell and corresponding radial/tangential velocity dispersions | |
size_t | shellprev |
index of shell on the previous timestep | |
Additional Inherited Members | |
Public Types inherited from smile::CBasicOrbitRuntimeFnc | |
enum | FNCTYPE { FT_TRAJ_ANALYSIS, FT_TRAJ_SAMPLE, FT_POINCARE, FT_PERICENTER, FT_SCHW, FT_VEL_PERTURBER } |
lists all possible runtime functions More... | |
enum | STEPRESULT { SR_CONTINUE, SR_TERMINATE, SR_REINIT } |
result of processing of a timestep More... | |
Protected Attributes inherited from smile::CBasicOrbitRuntimeFnc | |
const COrbit * | orbit |
pointer to the orbit that is being integrated | |
Runtime function recording shell-based kinematic data (time spent in each shell and radial/tangential velocity dispersion in a shell).
|
virtual |
the following method is called after each timestep.
[in] | told | is the value of time at the beginning of the timestep |
[in] | tcur | is the time at the end of timestep |
[in,out] | vars | are the phase-space variables at the end of timestep; the function may change them and return SR_REINIT to indicate that the ODE integrator needs to be restarted. |
This procedure may call orbit->getPos() and orbit->getVel() to get interpolated coordinates on the interval [told, tcur].
Implements smile::CBasicOrbitRuntimeFnc.