SMILE
v2.5
Schwarzschild Modelling Interactive expLoratory Environment
|
class for applying random perturbations on velocity during orbit integration, mimicking the effect of two-body relaxation. More...
#include <orbitan.h>
Public Member Functions | |
COrbitRuntimeVelPerturber (const COrbit *_orbit, const CMassModel *_model, double _mult) | |
virtual FNCTYPE | FncType () const |
derived classes return their type | |
virtual STEPRESULT | Timestep (const double told, const double t, CPosVelPoint< double > *vars) |
Modifies the velocity by applying a random perturbation to it and records accumulated changes in E and L resulting from the perturbation. More... | |
virtual void | Finish () |
fit pericenter distribution and compute fitting coefficients | |
virtual CBasicInformation * | getData () const |
returns the collected data as an instance of an information object | |
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 Attributes | |
const CMassModel * | model |
spherical mass model used to compute diffusion coefficients | |
const double | mult |
multiplier for the diffusion coefficients =(log Lambda)/N | |
double | Eorbitavg |
energy below which we use orbit-averaged dif.coefs instead of local ones | |
double | intTime |
total integration time | |
double | deltaE |
double | deltaE2 |
double | deltaEcumul |
accumulated drift and diffusion coefficients in energy and its total change | |
double | deltaL |
double | deltaL2 |
double | deltaLcumul |
accumulated drift and diffusion coefficients in angular momentum and its total change | |
double | avgCoefs [15] |
time-averaged coefficients DEE, DLL, DEL, DE, DL and their counterparts in spherical model | |
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 | |
class for applying random perturbations on velocity during orbit integration, mimicking the effect of two-body relaxation.
The diffusion coefficients come in two varieties: local (position-dependent) coefficients for velocity, and orbit-averaged coefficients for energy and angular momentum. They are computed from a spherical mass model constructed as an approximation to the true (non-spherical) potential used in orbit integration itself. There is a free parameter that determines the scaling of these coefficients: its numerical value corresponds to , where N is the number of stars in the model galaxy, and log Lambda is the Coulomb logarithm (~log N).
|
virtual |
Modifies the velocity by applying a random perturbation to it and records accumulated changes in E and L resulting from the perturbation.
[in,out] | vars | is the current position and velocity of the orbit; the velocity is modified. |
[in] | told | is the time at the beginning of timestep; |
[in] | t | is the time at the end of timestep. |
don't bother computing local coefs; just take orbit-averaged values and set new velocity
Implements smile::CBasicOrbitRuntimeFnc.