# Seasonal Time Dilation due to Earth's Eccentric Orbit

Just curious to see how large the effect is.


```python
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
```

Basic properties concerning Earth's orbit about the Sun and some of the physics parameters involved in the problem.


```python
d_perihelion = 1.47098074e11  # m
d_aphelion   = 1.52097701e11  # m
d_average    = 1.4959787e11   # m

GMsun  = 1.3271244002e20      # m^3 s^-2
MEarth = 5.9722e24            # kg

c = 2.99792458e8              # m s^-1
```

Based on these numbers, we can estimate the gravitational force at aphelion and perihelion to be


```python
g_perihelion = GMsun*MEarth/np.power(d_perihelion, 2)
g_aphelion   = GMsun*MEarth/np.power(d_aphelion, 2)
g_average    = GMsun*MEarth/np.power(d_average, 2)
```

Alternatively, we can base the estimate on the relative strength, which relieves uncertainties due to GMsun and MEarth.


```python
g_ratio = np.power(d_aphelion/d_perihelion, 2)
```

We see that the strength of gravitational force between the Earth and Sun is about 7% larger at perihelion as compared to aphelion.


```python
print g_ratio
```

    1.06913199477


Now we must convert the relative difference in gravitational force into a difference in time dilation for various processes. Since we're dealing with the Sun, we may adopt the Schwarzschild metric, which suggests
\begin{equation}
    t_0 = t_f \left( 1 - \frac{r_s}{r} \right)^{1/2}.
\end{equation}
The Schwarzschild radius for the Sun is


```python
r_s = 2.0*GMsun/np.power(c, 2)
```

which allows us to compute the relative difference in $t_0$ based on the variable Earth-Sun distance.


```python
t0_ratio = np.sqrt(1.0 - (r_s / d_perihelion)) / np.sqrt(1.0 - (r_s / d_aphelion))
t0_ratio_aphelion   = np.sqrt(1.0 - r_s / d_aphelion) / np.sqrt(1.0 - r_s / d_average)
t0_ratio_perihelion = np.sqrt(1.0 - r_s / d_perihelion) / np.sqrt(1.0 - r_s / d_average)
```

The ratio is 


```python
print t0_ratio
```

    0.99999999967


which is small, but perhaps non-neligible when it comes to seasonal variations in the decay of Potassium-40, for example. In the case of the DAMA experiment, they have 250 kg of sodium iodide crystals with a small 20 ppb contamination of Potassium-40. Potassium-40 is radioactive with a long half-life of $1.251\times10^9$ years. There are two primary decay channels: 
\begin{equation}
    ^{40}\textrm{K}\ \rightarrow\ ^{40}\textrm{Ca} + \beta^{-} + \bar{\nu}
\end{equation}
and
\begin{equation}
    ^{40}\textrm{K} + \beta^{-}\ \rightarrow\ ^{40}\textrm{Ar} + \gamma + \nu
\end{equation}
which occur about 90% and 10% of the time, respectively.

The molar mass of sodium iodide is 149.89 g mol$^{-1}$, meaning in 250 kg there are 


```python
moles_NaI = 250.0e3/149.89
print moles_NaI, " moles of NaI,"
```

    1667.88978584  moles of NaI,


which translates into


```python
N_NaI = moles_NaI*6.022140857e23
print N_NaI, "NaI molecules."
```

    1.00442672243e+27 NaI molecules.


Assuming the maximum contamination fraction for Potassium-40 of 20 ppb, there are roughly


```python
N_40K = 20.0*N_NaI/1.0e9
print N_40K, "Potassium-40 atoms in the sample."
```

    2.00885344486e+19 Potassium-40 atoms in the sample.


Now our task is to estimate the approximate increase or decrease in Potassium-40 decays based on variations in the Sun-Earth gravitational potential.

During a single half-life for Potassium-40, approximately $1\times10^{19}$ atoms decay. Given a mean half-life of $1.251\times10^{9}$ years, there will be approximately 


```python
decay_rate_average = 1.0e19/(1.251e9*60.0*60.0*24.0*365.256366)
print decay_rate_average, "decays per second on average."
```

    253.297646099 decays per second on average.


The decay rate at perihelion and aphelion will be slightly different due to the gravitational potential of the Earth.


```python
decay_rate_aphelion = 1.0e19/(1.251e9*60.0*60.0*24.0*365.256366*t0_ratio_aphelion)
print decay_rate_aphelion, "decays per second at aphelion." 
```

    253.297646058 decays per second at aphelion.



```python
decay_rate_perihelion = 1.0e19/(1.251e9*60.0*60.0*24.0*365.256366*t0_ratio_perihelion)
print decay_rate_perihelion, "decays per second at perihelion."
```

    253.297646141 decays per second at perihelion.


Thus, during a given 24 hour period, one would expect


```python
decay_rate_aphelion = 1.0e19/(1.251e9*365.256366*t0_ratio_aphelion)
print decay_rate_aphelion, "decays per day at aphelion and" 
```

    21884916.6194 decays per day at aphelion and



```python
decay_rate_perihelion = 1.0e19/(1.251e9*365.256366*t0_ratio_perihelion)
print decay_rate_perihelion, "decays per day at perihelion." 
```

    21884916.6266 decays per day at perihelion.


which yields a difference of 


```python
print decay_rate_perihelion - decay_rate_aphelion, "decays per day between summer and winter."
```

    0.00722143054008 decays per day between summer and winter.


which leads to a difference in 


```python
print (decay_rate_perihelion - decay_rate_aphelion)/250.0, "decays per kg per day."
```

    2.88857221603e-05 decays per kg per day.


This level is far below the variation in counts per day observed by the DAMA experiment, which is approximately 0.05 cpd/kg/keV.

11b671edeebc4678d211a368d9dbab1780b50d05
ipynb
Jupyter Notebook
Daily/20160712_Seasonal_Variation_Halflife.ipynb
gfeiden/Notebook
daf211f5c059d4b11dab0b57b05ec05918f430b2
MIT
Daily/20160712_Seasonal_Variation_Halflife.ipynb
gfeiden/Notebook
daf211f5c059d4b11dab0b57b05ec05918f430b2
MIT
Daily/20160712_Seasonal_Variation_Halflife.ipynb
gfeiden/Notebook
daf211f5c059d4b11dab0b57b05ec05918f430b2
MIT
Qwen/Qwen-72B
1. YES
2. YES