W19 Assignment 3
Updated 2019-09-29
1. Orbital Changes 🪐
A small particle of mass
(a) Find expressions for the semi-major axis, the eccentricity, the semi-minor axis and the pericenter and apocentre distances, all in terms of just
We first start with the vis-visa equation from astrodynamics:
By rearranging the equation, we can obtain the semi-major axis of the new orbit after the velocity change.
Simplify:
Because
The semi-minor axis is derived by Pythagorean theorem, since we already did that for assignment 1, I will jump into using the equation:
Since we increased the speed in the prograde direction, we increased our apoapsis. The new apoapsis is:
(b) There is a maximum value of
Because the geometry of the elliptical orbit is a conic section – a section cut of a cone shape. Given enough
The escape velocity, the factor we multiply our orbiting speed by
2. Kepler’s Equation
Kepler solved his own equation,
Consider an ellipse with eccentricity 0.5. Use mean-anomaly points corresponding to (0, π/10, π/5, 3π/10, 2π/5, π/2, 3π/5, 7π/10, 4π/5, 9π/10, π).
(a) For ONE of these mean-anomaly points (which is not at 0 or π radians), produce a table showing each step in your iteration of Kepler’s equation until you reach a satisfactory value of
I will choose 3π/10 (0.9425 rad) as the mean-anomaly point. I wrote a C program to help me compute the iterations. See the attached Appendix A for the C program code. Here are the results:
Iterations | Eccentric anomaly |
---|---|
0 | 0.9425 |
1 | 1.3470 |
2 | 1.4300 |
3 | 1.4375 |
The true anomaly (
(b) Make a second table with the full set of mean-anomaly points, the corresponding eccentric-anomaly
Again, I wrote a C program to compute the all the values for the table. See Appendix A for the C program code.
Mean-anomaly |
Eccentric-anomaly |
True-anomaly |
---|---|---|
0.0 |
0.0000 | 0.0000 |
0.1 |
0.5900 | 0.9690 |
0.2 |
1.0635 | 1.5896 |
0.3 |
1.4375 | 1.9750 |
0.4 |
1.7486 | 2.2419 |
0.5 |
2.0204 | 2.4462 |
0.6 |
2.2692 | 2.6158 |
0.7 |
2.5016 | 2.7635 |
0.8 |
2.7168 | 2.8938 |
0.9 |
2.9345 | 3.0218 |
1.0 |
3.1416 | 3.1416 |
(c) Make a plot showing
Using the data from Part (B), I used Excel to create the following plot.
As the graph clearly shows, there is a significant discrepancy between the eccentric anomaly, and the true anomaly of an elliptical orbit. Therefore it is not OK to neglect the eccentricity, in this case
3. Temperature Changes in an Eccentric Orbit 🌗
The planet HD 20782b orbits HD 20782, a G3V star with mass 1.05 times that of the Sun and luminosity 1.25 times that of the Sun. The planet’s orbit has a semi-major axis of 1.397 au, an orbital period of 597 days, and an eccentricity of 0.956. The planet’s mass is about 2 times that of Jupiter and you may assume its albedo is similar to that of Jupiter at about 0.5.
(a) (Review) Compute the periapsis and apoapsis distances of the planet from the star.
(b) Assume the planet is spinning rapidly. In class we derived the dependence of planetary blackbody temperature as a function of orbital distance in the Solar system:
First, we need to adapt the luminosity. The sun’s luminosity is the total power outputted by the sun: $L_\odot=4\pi R^2\odot \sigma T\odot^4=3.839\times 10^{26}$W. We multiply this by 1.25 and get:
To find the temperature, we need to equate the power intercepted from the star HD 20782 and the power emitted (assuming that temperature on the planet is much lower than the star). Power intercepted is a function of distance from the star (
Where
The power outputted by the planet is by:
Where
We equate power in, and power out and simplify:
Now we rearrange the equation to match the equation in question by isolating for
We need to do one more thing. The equation we had at the top has the distance from the star
Verifying the units: in this section, I’m only showing my work to see that the units for the above derivation and conversion makes sense.
👌 Cool. We can proceed.
Plugging in all the values we calculated so far, where
(c) Assuming that there no signicant internal heating from the planet, determine its temperature and the wavelength of peak emission at both periapsis and apoapsis. In what part of the spectrum do these wavelengths fall?
At Periapsis: the planet’s distance from the star is only 0.0615au. The temperature is 594K. 🔥
The wavelength of maximum intensity or peak wavelength
At Apoapsis: the planet’s distance from the star is 2.7325au. The temperature is 89.1K. ⛄
Using similar calculations as above, we get peak wavelength at:
So when the planet is at periapsis, the planet is very hot at 594K and emits peak wavelength of 4.9μm in the infrared spectrum. When the planet is at apoapsis, the planet is cold at only 89.1K and emits a peak wavelength of 32.6μm in the far-infrared spectrum.
Appendix A
Code Used for Problem 2 Part 1
#include <stdio.h>
#include <math.h>
#define THRES 0.01
#define PI acos(-1)
void part1(void)
{
printf("Part 1 #################\n");
const double starting_mean_anomaly = 3.0 * PI / 10.0;
const double eccentricity = 0.5;
double eccentric_anomaly;
double eccentric_anomaly_prev = starting_mean_anomaly;
int iterations = 1;
printf("| Iterations | Eccentric anomaly |\n");
printf("|--:|--:|\n");
printf("| 0 | %.4f |\n", starting_mean_anomaly);
eccentric_anomaly = starting_mean_anomaly + eccentricity * sin(eccentric_anomaly_prev);
printf("| 1 | %.4f |\n", eccentric_anomaly);
while (fabs(eccentric_anomaly_prev - eccentric_anomaly) > THRES)
{
eccentric_anomaly_prev = eccentric_anomaly;
eccentric_anomaly = starting_mean_anomaly + eccentricity * sin(eccentric_anomaly_prev);
iterations++;
printf("| %d | %.4f |\n", iterations, eccentric_anomaly);
}
printf("E_%d = %.4f rad\n", iterations, eccentric_anomaly);
}
int main(void)
{
part1();
}
Code Used for Problem 2 Part 2
#include <stdio.h>
#include <math.h>
#define THRES 0.01
#define PI acos(-1)
void part2(void)
{
const double eccentricity = 0.5;
const double mean_anomalies[] = {
0.0, 0.1 * PI, 0.2 * PI, 0.3 * PI, 0.4 * PI,
0.5 * PI, 0.6 * PI, 0.7 * PI, 0.8 * PI, 0.9 * PI, PI
};
const int mean_anomalies_length = 11;
// Ouptut
printf("Part 2 #################\n");
printf("| Mean-anomaly | Eccentric-anomaly $E$ | True-anomaly $\\theta$ |\n");
printf("|--:|--:|--:|\n");
for (int i = 0; i < mean_anomalies_length; i++)
{
// Mean anomaly
const double mult = mean_anomalies[i] / PI;
// Get E
double eccentric_anomaly;
double eccentric_anomaly_prev = mean_anomalies[i];
eccentric_anomaly = mean_anomalies[i] + eccentricity * sin(eccentric_anomaly_prev);
while (fabs(eccentric_anomaly_prev - eccentric_anomaly) > THRES)
{
eccentric_anomaly_prev = eccentric_anomaly;
eccentric_anomaly = mean_anomalies[i] + eccentricity * sin(eccentric_anomaly_prev);
}
// Get theta
double true_anomaly = 2.0 * atan(
sqrt((1 + eccentricity) / (1 - eccentricity)) * tan(eccentric_anomaly / 2)
);
// Print row
printf("| %.1f$\\pi$ | %.4f | %.4f |\n", mult, eccentric_anomaly, true_anomaly);
}
}
int main(void)
{
part2();
}