Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Modules Pages
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