13 double orbital_frequency,
15 double orbital_angmom,
19 bool spin_is_frequency)
21 for(
int deriv_order = 0; deriv_order <= 2; ++deriv_order) {
42 const std::valarray<double> &coefficients,
47 std::valarray<double> gsl_result(deriv_order + 1);
48 gsl_poly_eval_derivs(&(coefficients[0]),
53 return gsl_result[deriv_order];
virtual void configure(bool initialize, double age, double orbital_frequency, double eccentricity, double orbital_angmom, double spin, double inclination, double periapsis, bool spin_is_frequency)
Defines the current orbit, triggering re-calculation of all quantities.
double outer_radius(int deriv_order=0) const
See DissipatingZone::outer_radius(int).
std::valarray< double > __current_radius
The outer radius ofthe zone at the age of the last call to configure() and its first and second deriv...
std::valarray< double > __current_mass
The outer mass ofthe zone at the age of the last call to configure() and its first and second derivat...
Orientations of zones of bodies in a binary system.
virtual void configure(bool initialize, double age, double orbital_frequency, double eccentricity, double orbital_angmom, double spin, double inclination, double periapsis, bool spin_is_frequency)
See DissipatingZone::configure().
virtual double moment_of_inertia(int deriv_order=0) const
See DissipatingZone::moment_of_inertia(int).
Declare a dissipative zone class where the mass and radius evolution are given by a polynomial...
std::valarray< double > __current_inertia
The moment of inertia ofthe zone at the age of the last call to configure() and its first and second ...
double outer_mass(int deriv_order=0) const
See DissipatingZone::outer_mass(int).
double evaluate_polynomial(const std::valarray< double > &coefficients, double age, int deriv_order) const
Evaluate either the given order derivative of either the mass or the radius polynomial.