diff --git a/LaTeX/approach.tex b/LaTeX/approach.tex index 58f4dd4..dff1321 100644 --- a/LaTeX/approach.tex +++ b/LaTeX/approach.tex @@ -525,7 +525,7 @@ \begin{figure}[H] \centering \includegraphics[width=\textwidth]{LaTeX/fig/mbh_analysis} - \caption{MBH cost function reduction over time} + \caption{MBH cost function reduction over iterative updates} \label{mbh_analysis} \end{figure} diff --git a/LaTeX/results.tex b/LaTeX/results.tex index 303ad3a..4f92018 100644 --- a/LaTeX/results.tex +++ b/LaTeX/results.tex @@ -20,7 +20,7 @@ same zone as that of the Cassini spacecraft, which launched with 5712 kilograms of total mass, with the fuel accounting for 2978 of those kilograms\cite{cassini}. The dry mass of the spacecraft was chosen to be extremely low in order to allow for a variety of - ''successful`` missions in which the spacecraft didn't run out of fuel. That way, the + ``successful'' missions in which the spacecraft didn't run out of fuel. That way, the delivered dry mass to Saturn could be thought of as a metric of success, without discounting mission that may have delivered just under whatever more realistic dry mass one might set, in case those missions are in the vicinity of actually valid missions. @@ -106,41 +106,71 @@ was recorded. The resultant cost function values of each of those discovered missions can be found in the table below: - \begin{table}[H] - \centering - \begin{adjustbox}{height=0.3\textheight} - \begin{tabular}{ | c c c c | } + \begin{longtable}{ + | + >{\centering}p{0.75in} + >{\centering}p{1.25in} + >{\centering}p{1.1in} + >{\centering}p{1in} + >{\centering}p{0.8in} + >{\centering\arraybackslash}p{0.8in} + | + } \hline \bfseries Flyby Selection & \bfseries Cost Function Value & - \bfseries Flyby Selection & - \bfseries Cost Function Value \\ + \bfseries Mass Delivered (kg) & + \bfseries Time of Flight (years) & + \bfseries Launch $C_3$ ($\frac{\text{km}^2}{\text{s}^2}$) & + \bfseries Arrival $V_\infty$ Norm \\ \hline - EMS & 0.64797 & EMJS & 0.66014 \\ - EMS & 0.68828 & EMS & 0.69704 \\ - EMJS & 0.74576 & EMJS & 0.79745 \\ - EMJS & 0.80372 & EMJS & 0.82510 \\ - EMMJS & 0.91149 & EMJS & 0.94148 \\ - EMJS & 0.96141 & EMS & 1.02972 \\ - EJS & 1.12848 & ES & 1.23167 \\ - EVMS & 1.32600 & EMS & 1.32879 \\ - EMS & 1.33779 & EMJS & 1.39527 \\ - EVMS & 1.41517 & EVMS & 1.45960 \\ - EVMS & 1.46649 & EVMS & 1.52207 \\ - EVMS & 1.59234 & EVMJS & 1.66943 \\ - EMS & 1.70295 & EMJS & 1.70438 \\ - EMS & 1.78107 & EVVJS & 2.0106 \\ - EMJS & 2.15952 & EJS & 2.16216 \\ - EMJS & 2.22167 & EMMJS & 2.38431 \\ - EMJS & 2.42457 & EMMJS & 2.46453 \\ - EVVJS & 2.49257 & EMJS & 2.49485 \\ - EVMS & 2.71118 & EMJS & 2.76812 \\ + \endhead + ES & 0.555 & 3423.49 & 5.945 & 97.89 & 0.009 \\ + ES & 0.5551 & 3422.41 & 5.945 & 97.73 & 0.0 \\ + ES & 0.5553 & 3425.31 & 5.897 & 98.26 & 0.0 \\ + ES & 0.561 & 3403.47 & 5.945 & 95.65 & 0.0 \\ + ES & 0.5612 & 3406.47 & 5.894 & 96.22 & 0.002 \\ + EMS & 0.648 & 3130.77 & 8.451 & 66.3 & 6.391 \\ + EMJS & 0.6601 & 2962.65 & 14.107 & 39.91 & 3.636 \\ + EMS & 0.6883 & 3004.49 & 9.229 & 52.71 & 4.245 \\ + EMS & 0.697 & 3037.04 & 7.984 & 60.04 & 6.021 \\ + EMJS & 0.7458 & 2837.9 & 14.036 & 35.65 & 4.816 \\ + EMJS & 0.7975 & 1905.95 & 12.99 & 16.92 & 2.686 \\ + EMJS & 0.8037 & 2652.62 & 13.793 & 15.48 & 3.209 \\ + EMJS & 0.8251 & 2760.39 & 13.857 & 38.23 & 3.818 \\ + EMMJS & 0.9115 & 2528.08 & 15.853 & 15.68 & 3.189 \\ + EMJS & 0.9415 & 2484.97 & 16.33 & 14.29 & 2.021 \\ + EMJS & 0.9614 & 2511.65 & 15.756 & 22.85 & 3.393 \\ + EMS & 1.0297 & 1655.14 & 10.412 & 3.18 & 4.529 \\ + EJS & 1.1285 & 1734.51 & 15.725 & 41.98 & 2.595 \\ + ES & 1.2317 & 1639.1 & 9.248 & 39.72 & 5.785 \\ + EVMS & 1.326 & 2241.72 & 8.87 & 49.49 & 4.977 \\ + EMS & 1.3288 & 1400.47 & 7.843 & 1.87 & 5.634 \\ + EMS & 1.3378 & 2705.69 & 15.848 & 131.39 & 5.151 \\ + EMJS & 1.3953 & 1904.96 & 13.813 & 5.62 & 5.146 \\ + EVMS & 1.4152 & 1963.98 & 11.315 & 19.72 & 9.117 \\ + EVMS & 1.4596 & 1963.09 & 11.885 & 28.45 & 6.7 \\ + EVMS & 1.4665 & 1915.47 & 11.691 & 21.67 & 8.919 \\ + EVMS & 1.5221 & 1966.29 & 12.002 & 41.49 & 7.085 \\ + EVMS & 1.5923 & 1811.71 & 7.612 & 29.05 & 8.892 \\ + EVMJS & 1.6694 & 2324.68 & 14.203 & 132.4 & 5.346 \\ + EMS & 1.7029 & 1652.8 & 12.064 & 23.93 & 8.898 \\ + EMJS & 1.7044 & 1687.48 & 17.45 & 30.16 & 6.148 \\ + EMS & 1.7811 & 1504.33 & 18.067 & 14.1 & 3.195 \\ + EVVJS & 2.0106 & 1362.61 & 14.71 & 35.72 & 6.315 \\ + EMJS & 2.1595 & 1026.4 & 17.548 & 7.86 & 7.977 \\ + EJS & 2.1622 & 1543.52 & 12.96 & 97.03 & 9.42 \\ + EMJS & 2.2217 & 2055.3 & 21.583 & 196.67 & 2.074 \\ + EMMJS & 2.3843 & 730.68 & 14.754 & 2.12 & 6.915 \\ + EMJS & 2.4246 & 1470.46 & 24.186 & 136.99 & 1.749 \\ + EMMJS & 2.4645 & 971.97 & 16.935 & 59.53 & 7.34 \\ + EVVJS & 2.4926 & 908.6 & 15.287 & 54.28 & 3.942 \\ + EMJS & 2.4948 & 872.56 & 12.943 & 48.55 & 8.548 \\ + EVMS & 2.7112 & 726.4 & 12.263 & 66.76 & 9.478 \\ + EMJS & 2.7681 & 496.32 & 16.0 & 38.71 & 10.348 \\ \hline - \end{tabular} - \end{adjustbox} - \caption{Table of resultant cost function values for every discovered mission} - \label{cost_fn_table} - \end{table} + \caption{Table of resultant cost function values for every discovered mission}\label{cost_fn_table}\\ + \end{longtable} \section{Faster, Less Efficient Trajectory} diff --git a/LaTeX/thesis.tex b/LaTeX/thesis.tex index 3b1d0ff..70663d0 100644 --- a/LaTeX/thesis.tex +++ b/LaTeX/thesis.tex @@ -8,6 +8,8 @@ \usepackage{float} \usepackage{xfrac} \usepackage{adjustbox} +\usepackage{longtable} +\usepackage{array} \title{Designing Optimal Low-Thrust Interplanetary Trajectories Utilizing Monotonic Basin Hopping} \author{Richard C.}{Johnstone} diff --git a/julia/cost_table.jl b/julia/cost_table.jl index 5138eb7..c44deb5 100644 --- a/julia/cost_table.jl +++ b/julia/cost_table.jl @@ -21,8 +21,21 @@ end function get_id(m::Mission) letters = "E" for phase in m.phases letters *= phase.planet.name[1] end - letters *= " " - letters *= string(cost(m)) + letters *= " & " + letters *= string(round(cost(m), digits=4)) + letters *= " & " + letters *= string(round(prop(m)[7], digits=2)) + letters *= " & " + tof = 0.0 + for phase in m.phases + tof += phase.tof + end + letters *= string(round(tof/(86400*365.), digits=3)) + letters *= " & " + letters *= string(round(m.launch_vāˆž ā‹… m.launch_vāˆž, digits=2)) + letters *= " & " + letters *= string(round(norm(m.phases[end].vāˆž_in), digits=3)) + letters *= " \\\\" return letters end @@ -38,5 +51,7 @@ end sorted_missions = sort(missions, by=cost) -@show get_id.(sorted_missions) +for mission in sorted_missions + println(get_id(mission)) +end