Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
EccentricityExpansionCoefficients.h
Go to the documentation of this file.
1 
8 #ifndef __ECCENTRICITY_EXPANSION_COEFFICIENTS_H
9 #define __ECCENTRICITY_EXPANSION_COEFFICIENTS_H
10 
11 #include "../Core/SharedLibraryExportMacros.h"
12 #include "../Core/Error.h"
13 #include <vector>
14 #include <fstream>
15 #include <iomanip>
16 #include <cmath>
17 #include <iostream>
18 #include <sstream>
19 #include <cassert>
20 #include <algorithm>
21 
22 namespace Evolve {
23 
27  private:
29  unsigned __max_e_power;
30 
31  std::vector< std::vector<double> >
38  __alpha,
39 
47 
54  __gamma_minus;
55 
57  bool __useable;
58 
60  //corresponding to the given term.
61  int inner_index(
65  int msign,
66 
68  int s,
69 
71  int epower) const;
72 
75  std::pair<double, double> p_m2s(
77  double e,
78 
80  int s,
81 
83  unsigned max_e_power,
84 
87  bool deriv
88  ) const;
89 
92  std::pair<double, double> p_0s(
94  double e,
95 
97  int s,
98 
100  unsigned max_e_power,
101 
104  bool deriv
105  ) const;
106 
109  std::pair<double, double> p_p2s(
111  double e,
112 
114  int s,
115 
117  unsigned max_e_power,
118 
121  bool deriv
122  ) const;
123 
124  public:
126  EccentricityExpansionCoefficients() : __useable(false) {}
127 
129  void read(
131  const std::string &tabulated_pms_fname="",
132 
136  int max_e_power=-1);
137 
138 
140  unsigned max_e_power() const {return __max_e_power;}
141 
144  std::pair<double, double> operator()(
146  int m,
147 
149  int s,
150 
152  double e,
153 
156  unsigned max_e_power,
157 
160  bool deriv) const;
161  }; //End EccentricityExpansionCoefficients class.
162 
163 } //End Evolve namespace.
164 
165 #endif
Orientations of zones of bodies in a binary system.
std::vector< std::vector< double > > __gamma_plus
The expansion coefficients of ( in the [documentation]{InclinationEccentricity_pms1}).
unsigned __max_e_power
Maximum eccentricity power with all necessary coefficients known.
unsigned max_e_power() const
Maximum eccentricity power with all necessary coefficients known.
EccentricityExpansionCoefficients()
Create an uninitialized object.
A class which reads-in and provides a convenient interface to the coefficients.