Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
ExponentialDecayDiffRotBody.h
Go to the documentation of this file.
1 
10 #ifndef __EXPONENTIAL_DECAY_DIFF_ROT_COUPLING_BODY_H
11 #define __EXPONENTIAL_DECAY_DIFF_ROT_COUPLING_BODY_H
12 
13 #include "../Core/SharedLibraryExportMacros.h"
14 #include "../Evolve/DissipatingBody.h"
15 #include "../Evolve/ZoneOrientation.h"
16 
17 namespace Star {
18 
21  class LIB_PUBLIC ExponentialDecayDiffRotBody :
22  virtual public Evolve::DissipatingBody {
23  private:
25  double __current_age,
26 
29 
34  mutable std::valarray< std::valarray<Eigen::Vector3d> > __torque;
35 
37  void reset_torque();
38 
47  Eigen::Vector3d &torque_entry(
48  unsigned top_zone_index,
49  Evolve::Dissipation::QuantityEntry entry,
50  bool wih_respect_to_top
51  ) const;
52  public:
56  double coupling_timescale) :
57  __current_age(Core::NaN),
58  __timescale(coupling_timescale),
59  __torque(0)
60  {}
61 
65  virtual void configure(bool initialize,
66  double age,
67  double companion_mass,
68  double semimajor,
69  double eccentricity,
70  const double *spin_angmom,
71  const double *inclination = NULL,
72  const double *periapsis = NULL,
73  bool locked_surface = false,
74  bool zero_outer_inclination = false,
75  bool zero_outer_periapsis = false);
76 
78  Eigen::Vector3d angular_momentum_coupling(
79  unsigned top_zone_index,
80  Evolve::Dissipation::QuantityEntry
82  bool with_respect_to_top=false
83  ) const;
84  };//End ExponentialDecayDiffRotBody class.
85 
86 }//End Star namespace.
87 
88 #endif
std::valarray< std::valarray< Eigen::Vector3d > > __torque
The coupling torque and its nonzero entries.
A base class for any body contributing to tidal dissipation.
double __timescale
The timescale for the differential rotation torque.
ExponentialDecayDiffRotBody(double coupling_timescale)
Construct a body with default differential rotatino torque.
NO_DERIV
The quantity itself, undifferentiated.
A body with differential rotation torque between two zones given by: .