Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
PowerlawPhaseLagZone.h
Go to the documentation of this file.
1 #ifndef __POWERLAW_PHASE_LAG_ZONE_H
2 #define __POWERLAW_PHASE_LAG_ZONE_H
3 
12 #include "DissipatingZone.h"
13 
15 class PowerlawPhaseLagZone : virtual public DissipatingZone {
16 private:
19 
22 
25 public:
29  double phase_lag_one_day = 0,
30 
32  double phase_lag_powerlaw_index = 0,
33 
35  double max_phase_lag = 0) :
36  __phase_lag_one_day(phase_lag_one_day),
37  __phase_lag_powerlaw_index(phase_lag_powerlaw_index),
38  __max_phase_lag(max_phase_lag) {}
39 
41  void set_phase_lag_one_day(double lag_1day)
42  {__phase_lag_one_day = lag_1day;}
43 
45  void set_phase_lag_powerlaw_index(double powerlaw_index)
46  {__phase_lag_powerlaw_index = powerlaw_index;}
47 
49  void set_max_phase_lag(double max_lag)
50  {__max_phase_lag = max_lag;}
51 
60  virtual double modified_phase_lag(
63  int orbital_frequency_multiplier,
64 
67  int spin_frequency_multiplier,
68 
70  double forcing_frequency,
71 
74  Dissipation::QuantityEntry entry,
75 
79  double &above_lock_value
80  ) const;
81 
84  virtual double love_coefficient(
87  int,
88 
91  int,
92 
95  Dissipation::QuantityEntry
96  ) const
97  {return 0;}
98 };
99 
100 #endif
double __phase_lag_one_day
The phase lag at a forcing frequency of one day.
Declares a class representing one zone of a body dissipative to tidal distortions.
void set_phase_lag_powerlaw_index(double powerlaw_index)
Set the modified pase lag period dependence powerlaw index.
double __max_phase_lag
The maximum phase lag achieved for any frequency.
A class that only defines the phase lag function for zones.
virtual double love_coefficient(int, int, Dissipation::QuantityEntry) const
Should return the corresponding component of the love coefficient (Lai 2012 Equation 24)...
void set_max_phase_lag(double max_lag)
Set the maximum phase lag achieved for any frequency.
double __phase_lag_powerlaw_index
The powerlaw index of the phase lag period dependence.
PowerlawPhaseLagZone(double phase_lag_one_day=0, double phase_lag_powerlaw_index=0, double max_phase_lag=0)
Create the zone with the phase lag scaling.
virtual double modified_phase_lag(int orbital_frequency_multiplier, int spin_frequency_multiplier, double forcing_frequency, Dissipation::QuantityEntry entry, double &above_lock_value) const
Should return the tidal phase lag time the love number for the given tidal term (or one of its deriva...
void set_phase_lag_one_day(double lag_1day)
Set the modified phase lag at a forcing frequency of one day.