Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
StopInformation.cpp
1 #define BUILDING_LIBRARY
2 #include "StopInformation.h"
3 
4 namespace Evolve {
5 
6  std::ostream &operator<<(std::ostream &os, const StopInformation &stop)
7  {
8  std::streamsize orig_precision=os.precision();
9  os.precision(16);
10  std::ios_base::fmtflags orig_flags=os.flags();
11  os.setf(std::ios_base::scientific);
12  os << "Stop at t=" << stop.stop_age()
13  << (stop.is_crossing() ? ", crossing" : ", extremum")
14  << " of " << stop.stop_reason() << ", precision="
15  << stop.stop_condition_precision();
16  if(stop.is_crossing())
17  os << ", " << (stop.crossed_zero() ? "after" : "before")
18  << " crossing with deriv sign=" << stop.deriv_sign_at_crossing();
19  os.precision(orig_precision);
20  os.flags(orig_flags);
21  return os;
22  }
23 
24 }//End Evolve namespace.
double stop_age() const
The target stopping age in Gyr.
Declares the StopInformation class.
std::ostream & operator<<(std::ostream &os, const ZoneEvolutionQuantities &evol_var)
More civilized output for EvolVarType variables.
double stop_condition_precision() const
The precision up to which the reason to stop is satisfied.
Orientations of zones of bodies in a binary system.
short deriv_sign_at_crossing() const
The sign of the derivative at zero-crossing.
The information about why and where the evolution should stop.
bool crossed_zero() const
Did we stop after the stopping condition crossed zero (always false for extrema). ...
bool is_crossing() const
Is the reason for stopping that a condition actually crossed zero?
StoppingConditionType stop_reason() const
The reason for stopping.