Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
ExternalStoppingConditions.h
Go to the documentation of this file.
1 
10 #ifndef __EXTERNAL_STOPPING_CONDITIONS_H
11 #define __EXTERNAL_STOPPING_CONDITIONS_H
12 
13 #include "../Core/SharedLibraryExportMacros.h"
14 #include "StoppingCondition.h"
15 #include "DissipatingZone.h"
16 
17 namespace Evolve {
18 
22  class LIB_LOCAL RotFastCondition : public ExternalStoppingCondition {
23  private:
25  double __spin_thres;
26 
29  public:
31  RotFastCondition(double spin_thres, DissipatingZone &zone) :
32  __spin_thres(spin_thres), __zone(zone) {}
33 
36  std::valarray<double> operator()(
37  Core::EvolModeType evol_mode,
38  const std::valarray<double> &orbit,
39  const std::valarray<double> &derivatives,
40  std::valarray<double> &stop_deriv
41  ) const;
42 
44  virtual std::string describe(int index = 0) const;
45 
46  }; //End RotFastCondition class.
47 
51  //#define EXTERNAL_CONDITION RotFastCondition(4.0*M_PI)
52 
53 } //End Evolve namespace.
54 
55 #endif
RotFastCondition(double spin_thres, DissipatingZone &zone)
Create a condition tied to the given threshold in rad/day.
Satisfied when a zone is rotating faster than a threshold.
Declares a class representing one zone of a body dissipative to tidal distortions.
A base class for all external stopping conditions.
Orientations of zones of bodies in a binary system.
A layer of a system body for which the tidal bulge is not exactly in phase with the tidal potential...
double __spin_thres
The spin threshold in rad/day.
EvolModeType
The various evolution modes.
Definition: Common.h:42
DissipatingZone & __zone
Which zone&#39;s rotation to monitor.
Defines the various stopping conditions needed by OrbitSolver.