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