8 #ifndef __LOCKED_PLANET_ZONE_H 9 #define __LOCKED_PLANET_ZONE_H 11 #include "../Core/SharedLibraryExportMacros.h" 12 #include "../Evolve/DissipatingZone.h" 13 #include "../Core/AstronomicalConstants.h" 14 #include "../Evolve/BrokenPowerlawPhaseLagZone.h" 32 __moment_of_inertia_factor;
44 double moment_of_inertia_factor
48 __moment_of_inertia_factor(moment_of_inertia_factor)
54 Evolve::Dissipation::QuantityEntry)
const 69 ? __moment_of_inertia_factor * __mass * std::pow(__radius, 2)
75 {
return moment_of_inertia(deriv_order);}
79 {
return (deriv_order==0 ? __radius : 0);}
83 {
return (deriv_order==0 ? __radius : 0);}
87 {
return (deriv_order==0 ? __mass : 0);}
91 {
return (deriv_order==0 ? __mass : 0);}
103 double orbital_frequency,
109 double orbital_angmom,
123 bool spin_is_frequency
126 BrokenPowerlawPhaseLagZone::configure(
132 (dissipative() ? spin : orbital_frequency),
133 (dissipative() ? inclination : 0),
134 (dissipative() ? periapsis : 0),
135 (dissipative() ? spin_is_frequency :
true)
PlanetZone(double mass, double radius, double moment_of_inertia_factor)
double outer_mass(double, int deriv_order=0) const
Same as outer_mass(int) but accept age argument (ignored).
double __radius
See radius argument to constructor.
double outer_mass(int deriv_order=0) const
The mass of the planet.
double moment_of_inertia(double, int deriv_order=0) const
The moment of inertia of the zone or its age derivative at a specified age (no configure necessary)...
double outer_radius(double, int deriv_order=0) const
Same as outer_radius(int) but accept age argument (ignored).
double outer_radius(int deriv_order=0) const
The radius of the planet.
double moment_of_inertia(int deriv_order=0) const
Tiny value ( ).
void configure(bool initialize, double age, double orbital_frequency, double eccentricity, double orbital_angmom, double spin, double inclination, double periapsis, bool spin_is_frequency)
Calls the usual DissipatingZone::configure but with zero inclination and periapsis.
A DissipatingZone where the phase lag is described by a broken powerlaw.
double love_coefficient(int, int, Evolve::Dissipation::QuantityEntry) const
See DissipatingZone::love_coefficient(), always zero.
The only zone of a LockedPlanet.