Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
ZeroQuantity.h
Go to the documentation of this file.
1 
8 #ifndef __ZERO_QUANTITY_H
9 #define __ZERO_QUANTITY_H
10 
11 #include "../Core/SharedLibraryExportMacros.h"
13 
14 namespace StellarEvolution {
15 
16  class LIB_LOCAL ZeroQuantity : public EvolvingStellarQuantity {
17  public:
19  void select_interpolation_region(double age) {}
20 
22  double operator()(double) const {return 0;}
23 
25  const FunctionDerivatives *deriv(double) const
26  {return new Core::ZeroDerivatives;}
27 
29  double range_high() const {return Inf;}
30 
32  double range_low() const {return -Inf;}
33 
35  double next_discontinuity() const {return Inf;}
36 
39  double enable_next_interpolation_region();
40 
43  {throw Error::Runtime("Called ZeroQuantity::crossings, "
44  "which are ill defined.");}
45  }; //End ZeroQuantity declaration.
46 
47 } //End StellarEvolution namespace.
48 
49 #endif
const FunctionDerivatives * deriv(double) const
Return the age derivative of the quantity at the given age.
Definition: ZeroQuantity.h:25
double range_high() const
The largest age for which the quantity can be interpolated.
Definition: ZeroQuantity.h:29
The derivatives of an identically zero quantity.
Definition: Functions.h:133
Declares a class implementing the intepolation of a single stellar quantity from stellar evolution tr...
void select_interpolation_region(double age)
Do nothing. See EvolvingStellarQuantity::select_interpolation_region.
Definition: ZeroQuantity.h:19
double operator()(double) const
Return the value the quantity takes at the given age.
Definition: ZeroQuantity.h:22
A class for stellar properties that depend on age.
An iterator over a set of solutions to an interpolating function.
InterpSolutionIterator crossings(double=0) const
An iterator over the ages where the quantity takes the given y value.
Definition: ZeroQuantity.h:42
A class representing arbitrary order derivatives of a function.
Definition: Functions.h:66
double next_discontinuity() const
No discontinuities. See EvolvingStellarQuantity::next_discontinuity.
Definition: ZeroQuantity.h:35
double range_low() const
The smallest age for which the quantity can be interpolated.
Definition: ZeroQuantity.h:32