Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
SecondaryDeathCondition.h
Go to the documentation of this file.
1 
9 #ifndef __SECONDARY_DEATH_CONDITION_H
10 #define __SECONDARY_DEATH_CONDITION_H
11 
12 #include "../Core/SharedLibraryExportMacros.h"
13 #include "StoppingCondition.h"
14 
15 namespace Evolve {
16 
17  class BinarySystem;
18 
23  class LIB_LOCAL SecondaryDeathCondition : public StoppingCondition {
24  private:
27  public:
32  __system(system)
33  {}
34 
43  std::valarray<double> operator()(
44  Core::EvolModeType evol_mode,
45  const std::valarray<double> &orbit,
46  const std::valarray<double> &derivatives,
47  std::valarray<double> &stop_deriv) const;
48 
50  StoppingConditionType type(unsigned =0) const {return PLANET_DEATH;}
51 
53  void reached(short deriv_sign, unsigned index=0);
54 
56  virtual std::string describe(int index = -1) const;
57 
58  }; //End SecondaryDeathCondition class.
59 
60 } //End Evolve namespace.
61 
62 #endif
BinarySystem & __system
The system this condition is attached to.
SecondaryDeathCondition(BinarySystem &system)
Create a condition watching for the death of the secondary body in a system due to tidal disruption o...
StoppingConditionType
The reasons for stopping the evolution currently supported.
Orientations of zones of bodies in a binary system.
Satisfied when the planet enters below either the roche sphere or the stellar photosphere.
StoppingConditionType type(unsigned=0) const
Identify this as a PLANET_DEATH condition.
The planet died.
A base class for all stopping conditions.
EvolModeType
The various evolution modes.
Definition: Common.h:42
Defines the various stopping conditions needed by OrbitSolver.
Describes a system of two bodies orbiting each other.
Definition: BinarySystem.h:56