1
0
mirror of https://gitlab.com/Anson-Projects/projects.git synced 2025-06-16 06:56:46 +00:00

progress on sunlight article

This commit is contained in:
Anson 2021-05-03 16:34:29 -07:00
parent 9100c42a71
commit bd361632cf
41 changed files with 2727 additions and 60 deletions

View File

@ -15,7 +15,7 @@ output:
categories: categories:
- Julia - Julia
- Capstone - Capstone
bibliography: ../../citations.bib bibliography: citations.bib
creative_commons: CC BY creative_commons: CC BY
--- ---
@ -29,7 +29,6 @@ library(JuliaCall)
```{julia, code_folding=TRUE} ```{julia, code_folding=TRUE}
using Plots using Plots
plotly()
theme(:ggplot2); # In true R spirit theme(:ggplot2); # In true R spirit
using Unitful using Unitful
@ -37,7 +36,6 @@ using DataFrames
using Measurements using Measurements
using Measurements: value, uncertainty using Measurements: value, uncertainty
using CSV using CSV
``` ```
@ -60,7 +58,6 @@ The nozzle diameter was changed until the air prop system had a _burn time_ simi
# Params # Params
d_nozzle = ((1 // 18) ± 0.001)u"inch" d_nozzle = ((1 // 18) ± 0.001)u"inch"
a_nozzle = (pi / 4) * d_nozzle^2 a_nozzle = (pi / 4) * d_nozzle^2
``` ```
These are just universal values for what a typical day would look like during the summer in Northern Arizona. [@cengel_thermodynamics] These are just universal values for what a typical day would look like during the summer in Northern Arizona. [@cengel_thermodynamics]
@ -71,7 +68,6 @@ P_amb = (1 ± 0.2)u"atm"
γ = 1.4 ± 0.05 γ = 1.4 ± 0.05
R = 287.05u"J/(kg * K)" R = 287.05u"J/(kg * K)"
T = (300 ± 20)u"K" T = (300 ± 20)u"K"
``` ```
The actual simulation is quite simple. The basic idea is that using the current pressure, you can calculate $\dot{m}$, which allows calculating the Thrust, and then you can subtract the current mass of air in the tank by $\dot{m}$ and recalculate pressure using the new mass then repeat the whole process. The actual simulation is quite simple. The basic idea is that using the current pressure, you can calculate $\dot{m}$, which allows calculating the Thrust, and then you can subtract the current mass of air in the tank by $\dot{m}$ and recalculate pressure using the new mass then repeat the whole process.
@ -109,7 +105,6 @@ df = DataFrame(Thrust=(0 ± 0)u"N", Pressure=P0, Time=0.0u"s", Mass=M)
end end
df df
end end
``` ```
## Analysis ## Analysis
@ -133,7 +128,6 @@ plot(df.Time .|> ustrip, thrust_values,
ylabel="Thrust (N)", ylabel="Thrust (N)",
size = (1200, 800), size = (1200, 800),
) )
``` ```
In Figure 2, the air propulsion simulation is compared to commercially available rocket motors. This early in the project, we have no idea whether short burns or longer burns are ideal for a propulsive landing, so the air propulsion system was compared to a variety of different motors with unique profiles. In Figure 2, the air propulsion simulation is compared to commercially available rocket motors. This early in the project, we have no idea whether short burns or longer burns are ideal for a propulsive landing, so the air propulsion system was compared to a variety of different motors with unique profiles.
@ -154,7 +148,6 @@ end
title!("Propulsion Comparison"); title!("Propulsion Comparison");
xlabel!("Time (s)"); xlabel!("Time (s)");
ylabel!("Thrust (N)") ylabel!("Thrust (N)")
``` ```
In the end, the air propulsion system's performance has a very impressive total impulse and, with more time and resources, could be a serious option for a propulsive landing on Earth. One of the largest abstractions from the Moon mission that the mission here on Earth will have to deal with is the lack of Throttling engines since any propulsion system outside of model rocket motors is well beyond the scope of this Capstone. In the end, the air propulsion system's performance has a very impressive total impulse and, with more time and resources, could be a serious option for a propulsive landing on Earth. One of the largest abstractions from the Moon mission that the mission here on Earth will have to deal with is the lack of Throttling engines since any propulsion system outside of model rocket motors is well beyond the scope of this Capstone.
@ -162,5 +155,3 @@ In the end, the air propulsion system's performance has a very impressive total
## Future Work ## Future Work
After determining that solid model rocket motors are the best option for the current mission scope, the next step is determining what motor to use. There are many great options, and deciding what thrust profile is ideal may have to wait until a Simulink simulation of the landing can be built so that the metrics of each motor can be constrained more. Instead of throttling motors, the current working idea is that thrust vector control may be a way to squeeze a little more control out of a solid rocket motor. Thrust Vector Control will undoubtedly be challenging to control, so another essential piece that needs exploring is whether an LQR controller is feasible or if a PID controller is accurate enough to control our system. After determining that solid model rocket motors are the best option for the current mission scope, the next step is determining what motor to use. There are many great options, and deciding what thrust profile is ideal may have to wait until a Simulink simulation of the landing can be built so that the metrics of each motor can be constrained more. Instead of throttling motors, the current working idea is that thrust vector control may be a way to squeeze a little more control out of a solid rocket motor. Thrust Vector Control will undoubtedly be challenging to control, so another essential piece that needs exploring is whether an LQR controller is feasible or if a PID controller is accurate enough to control our system.

View File

@ -113,12 +113,12 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
<!--radix_placeholder_rmarkdown_metadata--> <!--radix_placeholder_rmarkdown_metadata-->
<script type="text/json" id="radix-rmarkdown-metadata"> <script type="text/json" id="radix-rmarkdown-metadata">
{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["title","description","author","repository_url","date","fig_width","fig_align","output","categories","bibliography","creative_commons"]}},"value":[{"type":"character","attributes":{},"value":["Air Propulsion Simulation"]},{"type":"character","attributes":{},"value":["Simulating the performance of an air propulsion system as an alternative to solid rocket motors. \n"]},{"type":"list","attributes":{},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["name","url"]}},"value":[{"type":"character","attributes":{},"value":["Anson Biggs"]},{"type":"character","attributes":{},"value":["https://ansonbiggs.com"]}]}]},{"type":"character","attributes":{},"value":["https://gitlab.com/lander-team/air-prop-simulation"]},{"type":"character","attributes":{},"value":["04-01-2021"]},{"type":"integer","attributes":{},"value":[6]},{"type":"character","attributes":{},"value":["center"]},{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["distill::distill_article"]}},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["self_contained"]}},"value":[{"type":"logical","attributes":{},"value":[false]}]}]},{"type":"character","attributes":{},"value":["Julia","Capstone"]},{"type":"character","attributes":{},"value":["../../citations.bib"]},{"type":"character","attributes":{},"value":["CC BY"]}]} {"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["title","description","author","repository_url","date","fig_width","fig_align","output","categories","bibliography","creative_commons"]}},"value":[{"type":"character","attributes":{},"value":["Air Propulsion Simulation"]},{"type":"character","attributes":{},"value":["Simulating the performance of an air propulsion system as an alternative to solid rocket motors. \n"]},{"type":"list","attributes":{},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["name","url"]}},"value":[{"type":"character","attributes":{},"value":["Anson Biggs"]},{"type":"character","attributes":{},"value":["https://ansonbiggs.com"]}]}]},{"type":"character","attributes":{},"value":["https://gitlab.com/lander-team/air-prop-simulation"]},{"type":"character","attributes":{},"value":["04-01-2021"]},{"type":"integer","attributes":{},"value":[6]},{"type":"character","attributes":{},"value":["center"]},{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["distill::distill_article"]}},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["self_contained"]}},"value":[{"type":"logical","attributes":{},"value":[false]}]}]},{"type":"character","attributes":{},"value":["Julia","Capstone"]},{"type":"character","attributes":{},"value":["citations.bib"]},{"type":"character","attributes":{},"value":["CC BY"]}]}
</script> </script>
<!--/radix_placeholder_rmarkdown_metadata--> <!--/radix_placeholder_rmarkdown_metadata-->
<script type="text/json" id="radix-resource-manifest"> <script type="text/json" id="radix-resource-manifest">
{"type":"character","attributes":{},"value":["AeroTech_F10.csv","AeroTech_G8ST.csv","air-propulsion-simulation_files/anchor-4.2.2/anchor.min.js","air-propulsion-simulation_files/bowser-1.9.3/bowser.min.js","air-propulsion-simulation_files/distill-2.2.21/template.v2.js","air-propulsion-simulation_files/figure-html5/unnamed-chunk-4-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-2.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J2.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J3.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J4.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-6-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-7-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-8-J1.png","air-propulsion-simulation_files/header-attrs-2.7/header-attrs.js","air-propulsion-simulation_files/jquery-1.11.3/jquery.min.js","air-propulsion-simulation_files/popper-2.6.0/popper.min.js","air-propulsion-simulation_files/tippy-6.2.7/tippy-bundle.umd.min.js","air-propulsion-simulation_files/tippy-6.2.7/tippy-light-border.css","air-propulsion-simulation_files/tippy-6.2.7/tippy.css","air-propulsion-simulation_files/tippy-6.2.7/tippy.umd.min.js","air-propulsion-simulation_files/webcomponents-2.0.0/webcomponents.js","Estes_F15.csv","figure/-J2.png","figure/-J3.png","figure/-J4.png"]} {"type":"character","attributes":{},"value":["AeroTech_F10.csv","AeroTech_G8ST.csv","air-propulsion-simulation_files/anchor-4.2.2/anchor.min.js","air-propulsion-simulation_files/bowser-1.9.3/bowser.min.js","air-propulsion-simulation_files/distill-2.2.21/template.v2.js","air-propulsion-simulation_files/figure-html5/unnamed-chunk-4-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-2.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J2.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J3.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J4.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-6-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-7-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-8-J1.png","air-propulsion-simulation_files/header-attrs-2.7/header-attrs.js","air-propulsion-simulation_files/jquery-1.11.3/jquery.min.js","air-propulsion-simulation_files/popper-2.6.0/popper.min.js","air-propulsion-simulation_files/tippy-6.2.7/tippy-bundle.umd.min.js","air-propulsion-simulation_files/tippy-6.2.7/tippy-light-border.css","air-propulsion-simulation_files/tippy-6.2.7/tippy.css","air-propulsion-simulation_files/tippy-6.2.7/tippy.umd.min.js","air-propulsion-simulation_files/webcomponents-2.0.0/webcomponents.js","citations.bib","Estes_F15.csv","figure/-J2.png","figure/-J3.png","figure/-J4.png"]}
</script> </script>
<!--radix_placeholder_navigation_in_header--> <!--radix_placeholder_navigation_in_header-->
<!--/radix_placeholder_navigation_in_header--> <!--/radix_placeholder_navigation_in_header-->
@ -1491,14 +1491,13 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
Show code Show code
</summary> </summary>
<div class="sourceCode" id="cb1"><pre class="sourceCode julia"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Plots</span> <div class="sourceCode" id="cb1"><pre class="sourceCode julia"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Plots</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a>plotly()</span> <span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a>theme(<span class="op">:</span>ggplot2)<span class="op">;</span> <span class="co"># In true R spirit</span></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a>theme(<span class="op">:</span>ggplot2)<span class="op">;</span> <span class="co"># In true R spirit</span></span> <span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a></span> <span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Unitful</span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Unitful</span> <span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> DataFrames</span>
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> DataFrames</span> <span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Measurements</span>
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Measurements</span> <span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Measurements<span class="op">:</span> value<span class="op">,</span> uncertainty</span>
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Measurements<span class="op">:</span> value<span class="op">,</span> uncertainty</span> <span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> CSV</span></code></pre></div>
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> CSV</span></code></pre></div>
</details> </details>
</div> </div>
<h2 id="the-simulation">The Simulation</h2> <h2 id="the-simulation">The Simulation</h2>
@ -1579,7 +1578,7 @@ Show code
<span id="cb6-15"><a href="#cb6-15" aria-hidden="true" tabindex="-1"></a> )</span></code></pre></div> <span id="cb6-15"><a href="#cb6-15" aria-hidden="true" tabindex="-1"></a> )</span></code></pre></div>
</details> </details>
<div class="figure"><span id="fig:unnamed-chunk-6"></span> <div class="figure"><span id="fig:unnamed-chunk-6"></span>
<img src="air-propulsion-simulation_files/figure-html5/unnamed-chunk-6-J1.png" alt="Air Proplsion Simulation" width="350" data-distill-preview=1 /> <img src="air-propulsion-simulation_files/figure-html5/unnamed-chunk-6-J1.png" alt="Air Proplsion Simulation" width="600" data-distill-preview=1 />
<p class="caption"> <p class="caption">
Figure 1: Air Proplsion Simulation Figure 1: Air Proplsion Simulation
</p> </p>
@ -1608,7 +1607,7 @@ Show code
<span id="cb7-15"><a href="#cb7-15" aria-hidden="true" tabindex="-1"></a>ylabel<span class="op">!</span>(<span class="st">&quot;Thrust (N)&quot;</span>)</span></code></pre></div> <span id="cb7-15"><a href="#cb7-15" aria-hidden="true" tabindex="-1"></a>ylabel<span class="op">!</span>(<span class="st">&quot;Thrust (N)&quot;</span>)</span></code></pre></div>
</details> </details>
<div class="figure"><span id="fig:unnamed-chunk-7"></span> <div class="figure"><span id="fig:unnamed-chunk-7"></span>
<img src="air-propulsion-simulation_files/figure-html5/unnamed-chunk-7-J1.png" alt="Rocket Motor Data: [@thrustcurve]" width="350" data-distill-preview=1 /> <img src="air-propulsion-simulation_files/figure-html5/unnamed-chunk-7-J1.png" alt="Rocket Motor Data: [@thrustcurve]" width="600" data-distill-preview=1 />
<p class="caption"> <p class="caption">
Figure 2: Rocket Motor Data: <span class="citation" data-cites="thrustcurve">(<a href="#ref-thrustcurve" role="doc-biblioref">Coker, n.d.</a>)</span> Figure 2: Rocket Motor Data: <span class="citation" data-cites="thrustcurve">(<a href="#ref-thrustcurve" role="doc-biblioref">Coker, n.d.</a>)</span>
</p> </p>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -0,0 +1,54 @@
@book{shackelford_introduction_2015,
address = {Boston},
edition = {Eighth edition},
title = {Introduction to materials science for engineers},
isbn = {9780133826654},
publisher = {Pearson},
author = {Shackelford, James F.},
year = {2015},
keywords = {Materials}
}
@book{curtis_orbital,
title = {Orbital mechanics for engineering students},
isbn = {9780128240250 9780323853453 9780081021330},
language = {English},
author = {Curtis, Howard D},
year = {2020},
note = {OCLC: 1235349370},
publisher = {Butterworth-Heinemann Publications},
edition = {Fourth edition}
}
@misc{thrustcurve,
title = {Rocket {Motor} {Data}},
url = {https://www.thrustcurve.org/},
author = {Coker, John}
}
@book{cengel_thermodynamics,
address = {New York},
edition = {Eighth edition},
title = {Thermodynamics: an engineering approach},
isbn = {9780073398174},
shorttitle = {Thermodynamics},
publisher = {McGraw-Hill Education},
author = {Çengel, Yunus A. and Boles, Michael A.},
year = {2015},
note = {OCLC: ocn869741544},
keywords = {Thermodynamics}
}
@book{sutton_rocket_2001,
address = {New York},
edition = {7th ed},
title = {Rocket propulsion elements},
isbn = {9780471326427},
publisher = {John Wiley \& Sons},
author = {Sutton, George P. and Biblarz, Oscar},
year = {2001},
keywords = {Rocket engines}
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 131 KiB

View File

@ -1,24 +1,115 @@
--- ---
title: "ISS Eclipse Determination" title: "ISS Eclipse Determination"
description: | description: |
Determining how much sunlight a body Determining how much sunlight a body is receiving.
draft: true draft: false
author: author:
- name: Anson Biggs - name: Anson Biggs
url: https://ansonbiggs.com url: https://ansonbiggs.com
date: 04-14-2021 repository_url: https://gitlab.com/lander-team/air-prop-simulation
date: 04-01-2021
fig_width: 6
fig_align: "center"
output: output:
distill::distill_article: distill::distill_article:
self_contained: false self_contained: false
categories:
- Julia
- Astrodynamics
#bibliography: ../../citations.bib
creative_commons: CC BY
preview: preview.png
--- ---
Determining the eclipses a satellite will encounter is a major driving factor when designing a mission in space. Thermal and power budgets have to be made with the fact that a satellite will periodically be in the complete darkness of space with no solar radiation to power the solar panels and keep the spacecraft from freezing.
```{r setup, include=FALSE} ```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE) knitr::opts_chunk$set(echo = TRUE, results = 'hide')
library(JuliaCall)
#julia_setup(JULIA_HOME = "/opt/julia-1.6.1/bin/")
julia_setup(installJulia = TRUE)
``` ```
Distill is a publication format for scientific and technical writing, native to the web. ## What is an Eclipse
Learn more about using Distill at <https://rstudio.github.io/distill>. ![Geometry of an Eclipse](geometry.svg)
![Body Radius's and Position Vectors](vectors_radiuss.svg)
## The Code
```{julia, code_folding=TRUE}
using Unitful
using LinearAlgebra
using SatelliteToolbox
using Plots
using Colors
theme(:ggplot2)
```
```{julia}
ISS = tle"""
ISS (ZARYA)
1 25544U 98067A 21103.84943184 .00000176 00000-0 11381-4 0 9990
2 25544 51.6434 300.9481 0002858 223.8443 263.8789 15.48881793278621
"""
```
```{julia}
orbit = init_orbit_propagator(Val(:twobody), ISS[1]);
time = 0:0.1:((24 / ISS[1].n) .* 60 * 60);
o, r, v = propagate!(orbit, time);
```
```{julia}
function sunlight(Rbody, r_sun_body, r_body_sc)
Rsun = 695_700u"km"
hu = Rbody * norm(r_sun_body) / (Rsun - Rbody)
θe = acos((r_sun_body ⋅ r_body_sc) / (norm(r_sun_body) * norm(r_body_sc)))
θu = atan(Rbody / hu)
du = hu * sin(θu) / sin(θe + θu)
θp = π - atan(norm(r_sun_body) / (Rsun + Rbody))
dp = Rbody * sin(θp) / cos(θe - θp)
S = 1
if (θe < π / 2) && (norm(r_body_sc) < du)
S = 0
end
if (θe < π / 2) && ((du < norm(r_body_sc)) && (norm(r_body_sc) < dp))
S = (norm(r_body_sc .|> u"km") - du) / (dp - du) |> ustrip
end
return S
end
```
```{julia}
S = r .|> R -> sunlight(6371u"km", [0.5370, 1.2606, 0.5466] .* 1e8u"km", R .* u"m")
```
## Plotting the Results
```{julia, code_folding=TRUE, results='show',layout="l-body-outset",fig.cap= "Rocket Motor Data: [@thrustcurve]", preview=TRUE }
light_range = range(colorant"black", stop = colorant"yellow", length = 101);
light_colors = [light_range[unique(round(Int, 1 + s * 100))][1] for s in S];
plot(
LinRange(0, 24, length(S)),
S .* 100,
linewidth = 5,
legend = false,
color = light_colors,
);
xlabel!("Time (hr)");
ylabel!("Sunlight (%)");
title!("ISS Sunlight Over a Day")
```

View File

@ -88,35 +88,36 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
<!--radix_placeholder_meta_tags--> <!--radix_placeholder_meta_tags-->
<title>ISS Eclipse Determination</title> <title>ISS Eclipse Determination</title>
<meta property="description" itemprop="description" content="Determining how much sunlight a body"/> <meta property="description" itemprop="description" content="Determining how much sunlight a body is receiving."/>
<link rel="license" href="https://creativecommons.org/licenses/by/4.0/"/>
<!-- https://schema.org/Article --> <!-- https://schema.org/Article -->
<meta property="article:published" itemprop="datePublished" content="2021-04-14"/> <meta property="article:published" itemprop="datePublished" content="2021-04-01"/>
<meta property="article:created" itemprop="dateCreated" content="2021-04-14"/> <meta property="article:created" itemprop="dateCreated" content="2021-04-01"/>
<meta name="article:author" content="Anson Biggs"/> <meta name="article:author" content="Anson Biggs"/>
<!-- https://developers.facebook.com/docs/sharing/webmasters#markup --> <!-- https://developers.facebook.com/docs/sharing/webmasters#markup -->
<meta property="og:title" content="ISS Eclipse Determination"/> <meta property="og:title" content="ISS Eclipse Determination"/>
<meta property="og:type" content="article"/> <meta property="og:type" content="article"/>
<meta property="og:description" content="Determining how much sunlight a body"/> <meta property="og:description" content="Determining how much sunlight a body is receiving."/>
<meta property="og:locale" content="en_US"/> <meta property="og:locale" content="en_US"/>
<!-- https://dev.twitter.com/cards/types/summary --> <!-- https://dev.twitter.com/cards/types/summary -->
<meta property="twitter:card" content="summary"/> <meta property="twitter:card" content="summary"/>
<meta property="twitter:title" content="ISS Eclipse Determination"/> <meta property="twitter:title" content="ISS Eclipse Determination"/>
<meta property="twitter:description" content="Determining how much sunlight a body"/> <meta property="twitter:description" content="Determining how much sunlight a body is receiving."/>
<!--/radix_placeholder_meta_tags--> <!--/radix_placeholder_meta_tags-->
<!--radix_placeholder_rmarkdown_metadata--> <!--radix_placeholder_rmarkdown_metadata-->
<script type="text/json" id="radix-rmarkdown-metadata"> <script type="text/json" id="radix-rmarkdown-metadata">
{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["title","description","draft","author","date","output"]}},"value":[{"type":"character","attributes":{},"value":["ISS Eclipse Determination"]},{"type":"character","attributes":{},"value":["Determining how much sunlight a body \n"]},{"type":"logical","attributes":{},"value":[true]},{"type":"list","attributes":{},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["name","url"]}},"value":[{"type":"character","attributes":{},"value":["Anson Biggs"]},{"type":"character","attributes":{},"value":["https://ansonbiggs.com"]}]}]},{"type":"character","attributes":{},"value":["04-14-2021"]},{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["distill::distill_article"]}},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["self_contained"]}},"value":[{"type":"logical","attributes":{},"value":[false]}]}]}]} {"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["title","description","draft","author","repository_url","date","fig_width","fig_align","output","categories","creative_commons"]}},"value":[{"type":"character","attributes":{},"value":["ISS Eclipse Determination"]},{"type":"character","attributes":{},"value":["Determining how much sunlight a body is receiving.\n"]},{"type":"logical","attributes":{},"value":[false]},{"type":"list","attributes":{},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["name","url"]}},"value":[{"type":"character","attributes":{},"value":["Anson Biggs"]},{"type":"character","attributes":{},"value":["https://ansonbiggs.com"]}]}]},{"type":"character","attributes":{},"value":["https://gitlab.com/lander-team/air-prop-simulation"]},{"type":"character","attributes":{},"value":["04-01-2021"]},{"type":"integer","attributes":{},"value":[6]},{"type":"character","attributes":{},"value":["center"]},{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["distill::distill_article"]}},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["self_contained"]}},"value":[{"type":"logical","attributes":{},"value":[false]}]}]},{"type":"character","attributes":{},"value":["Julia","Astrodynamics"]},{"type":"character","attributes":{},"value":["CC BY"]}]}
</script> </script>
<!--/radix_placeholder_rmarkdown_metadata--> <!--/radix_placeholder_rmarkdown_metadata-->
<script type="text/json" id="radix-resource-manifest"> <script type="text/json" id="radix-resource-manifest">
{"type":"character","attributes":{},"value":["iss-eclipse-determination_files/anchor-4.2.2/anchor.min.js","iss-eclipse-determination_files/bowser-1.9.3/bowser.min.js","iss-eclipse-determination_files/distill-2.2.21/template.v2.js","iss-eclipse-determination_files/header-attrs-2.7/header-attrs.js","iss-eclipse-determination_files/jquery-1.11.3/jquery.min.js","iss-eclipse-determination_files/popper-2.6.0/popper.min.js","iss-eclipse-determination_files/tippy-6.2.7/tippy-bundle.umd.min.js","iss-eclipse-determination_files/tippy-6.2.7/tippy-light-border.css","iss-eclipse-determination_files/tippy-6.2.7/tippy.css","iss-eclipse-determination_files/tippy-6.2.7/tippy.umd.min.js","iss-eclipse-determination_files/webcomponents-2.0.0/webcomponents.js"]} {"type":"character","attributes":{},"value":["geometry.svg","iss-eclipse-determination_files/anchor-4.2.2/anchor.min.js","iss-eclipse-determination_files/bowser-1.9.3/bowser.min.js","iss-eclipse-determination_files/distill-2.2.21/template.v2.js","iss-eclipse-determination_files/figure-html5/unnamed-chunk-2-J1.png","iss-eclipse-determination_files/figure-html5/unnamed-chunk-2-J2.png","iss-eclipse-determination_files/figure-html5/unnamed-chunk-2-J3.png","iss-eclipse-determination_files/figure-html5/unnamed-chunk-2-J4.png","iss-eclipse-determination_files/figure-html5/unnamed-chunk-4-J1.png","iss-eclipse-determination_files/figure-html5/unnamed-chunk-4-J2.png","iss-eclipse-determination_files/figure-html5/unnamed-chunk-4-J3.png","iss-eclipse-determination_files/figure-html5/unnamed-chunk-4-J4.png","iss-eclipse-determination_files/figure-html5/unnamed-chunk-6-J1.png","iss-eclipse-determination_files/header-attrs-2.7/header-attrs.js","iss-eclipse-determination_files/jquery-1.11.3/jquery.min.js","iss-eclipse-determination_files/popper-2.6.0/popper.min.js","iss-eclipse-determination_files/tippy-6.2.7/tippy-bundle.umd.min.js","iss-eclipse-determination_files/tippy-6.2.7/tippy-light-border.css","iss-eclipse-determination_files/tippy-6.2.7/tippy.css","iss-eclipse-determination_files/tippy-6.2.7/tippy.umd.min.js","iss-eclipse-determination_files/webcomponents-2.0.0/webcomponents.js","vectors_radiuss.svg"]}
</script> </script>
<!--radix_placeholder_navigation_in_header--> <!--radix_placeholder_navigation_in_header-->
<!--/radix_placeholder_navigation_in_header--> <!--/radix_placeholder_navigation_in_header-->
@ -1455,7 +1456,7 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
<!--radix_placeholder_front_matter--> <!--radix_placeholder_front_matter-->
<script id="distill-front-matter" type="text/json"> <script id="distill-front-matter" type="text/json">
{"title":"ISS Eclipse Determination","description":"Determining how much sunlight a body","authors":[{"author":"Anson Biggs","authorURL":"https://ansonbiggs.com","affiliation":"&nbsp;","affiliationURL":"#","orcidID":""}],"publishedDate":"2021-04-14T00:00:00.000-07:00","citationText":"Biggs, 2021"} {"title":"ISS Eclipse Determination","description":"Determining how much sunlight a body is receiving.","authors":[{"author":"Anson Biggs","authorURL":"https://ansonbiggs.com","affiliation":"&nbsp;","affiliationURL":"#","orcidID":""}],"publishedDate":"2021-04-01T00:00:00.000-07:00","citationText":"Biggs, 2021"}
</script> </script>
<!--/radix_placeholder_front_matter--> <!--/radix_placeholder_front_matter-->
@ -1467,20 +1468,112 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
<div class="d-title"> <div class="d-title">
<h1>ISS Eclipse Determination</h1> <h1>ISS Eclipse Determination</h1>
<!--radix_placeholder_categories--> <!--radix_placeholder_categories-->
<div class="dt-tags">
<div class="dt=tag">Julia</div>
<div class="dt=tag">Astrodynamics</div>
</div>
<!--/radix_placeholder_categories--> <!--/radix_placeholder_categories-->
<p><p>Determining how much sunlight a body</p></p> <p><p>Determining how much sunlight a body is receiving.</p></p>
</div> </div>
<div class="d-byline"> <div class="d-byline">
Anson Biggs <a href="https://ansonbiggs.com" class="uri">https://ansonbiggs.com</a> Anson Biggs <a href="https://ansonbiggs.com" class="uri">https://ansonbiggs.com</a>
<br/>04-14-2021 <br/>04-01-2021
</div> </div>
<div class="d-article"> <div class="d-article">
<p>Distill is a publication format for scientific and technical writing, native to the web.</p> <p>Determining the eclipses a satellite will encounter is a major driving factor when designing a mission in space. Thermal and power budgets have to be made with the fact that a satellite will periodically be in the complete darkness of space with no solar radiation to power the solar panels and keep the spacecraft from freezing.</p>
<p>Learn more about using Distill at <a href="https://rstudio.github.io/distill" class="uri">https://rstudio.github.io/distill</a>.</p> <h2 id="what-is-an-eclipse">What is an Eclipse</h2>
<div class="sourceCode" id="cb1"><pre class="sourceCode r distill-force-highlighting-css"><code class="sourceCode r"></code></pre></div> <figure>
<img src="geometry.svg" alt="Geometry of an Eclipse" /><figcaption aria-hidden="true">Geometry of an Eclipse</figcaption>
</figure>
<figure>
<img src="vectors_radiuss.svg" alt="Body Radiuss and Position Vectors" /><figcaption aria-hidden="true">Body Radiuss and Position Vectors</figcaption>
</figure>
<h2 id="the-code">The Code</h2>
<div class="layout-chunk" data-layout="l-body">
<details>
<summary>
Show code
</summary>
<div class="sourceCode" id="cb1"><pre class="sourceCode julia"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Unitful</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> LinearAlgebra</span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> SatelliteToolbox</span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Plots</span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Colors</span>
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a>theme(<span class="op">:</span>ggplot2)</span></code></pre></div>
</details>
</div>
<div class="layout-chunk" data-layout="l-body">
<div class="sourceCode" id="cb2"><pre class="sourceCode julia"><code class="sourceCode julia"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a>ISS <span class="op">=</span> tle<span class="st">&quot;&quot;&quot;</span></span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="st">ISS (ZARYA)</span></span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a><span class="st">1 25544U 98067A 21103.84943184 .00000176 00000-0 11381-4 0 9990</span></span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a><span class="st">2 25544 51.6434 300.9481 0002858 223.8443 263.8789 15.48881793278621</span></span>
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a><span class="st">&quot;&quot;&quot;</span></span></code></pre></div>
</div>
<div class="layout-chunk" data-layout="l-body">
<div class="sourceCode" id="cb3"><pre class="sourceCode julia"><code class="sourceCode julia"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a>orbit <span class="op">=</span> init_orbit_propagator(<span class="dt">Val</span>(<span class="op">:</span>twobody)<span class="op">,</span> ISS[<span class="fl">1</span>])<span class="op">;</span></span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a>time <span class="op">=</span> <span class="fl">0</span><span class="op">:</span><span class="fl">0.1</span><span class="op">:</span>((<span class="fl">24</span> <span class="op">/</span> ISS[<span class="fl">1</span>].n) <span class="op">.*</span> <span class="fl">60</span> <span class="op">*</span> <span class="fl">60</span>)<span class="op">;</span></span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a>o<span class="op">,</span> r<span class="op">,</span> v <span class="op">=</span> propagate<span class="op">!</span>(orbit<span class="op">,</span> time)<span class="op">;</span></span></code></pre></div>
</div>
<div class="layout-chunk" data-layout="l-body">
<div class="sourceCode" id="cb4"><pre class="sourceCode julia"><code class="sourceCode julia"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="kw">function</span> sunlight(Rbody<span class="op">,</span> r_sun_body<span class="op">,</span> r_body_sc)</span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a> Rsun <span class="op">=</span> <span class="fl">695_700</span>u<span class="st">&quot;km&quot;</span></span>
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a> </span>
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a> hu <span class="op">=</span> Rbody <span class="op">*</span> norm(r_sun_body) <span class="op">/</span> (Rsun <span class="op">-</span> Rbody)</span>
<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a> </span>
<span id="cb4-6"><a href="#cb4-6" aria-hidden="true" tabindex="-1"></a> θe <span class="op">=</span> acos((r_sun_body ⋅ r_body_sc) <span class="op">/</span> (norm(r_sun_body) <span class="op">*</span> norm(r_body_sc)))</span>
<span id="cb4-7"><a href="#cb4-7" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb4-8"><a href="#cb4-8" aria-hidden="true" tabindex="-1"></a> θu <span class="op">=</span> atan(Rbody <span class="op">/</span> hu)</span>
<span id="cb4-9"><a href="#cb4-9" aria-hidden="true" tabindex="-1"></a> du <span class="op">=</span> hu <span class="op">*</span> sin(θu) <span class="op">/</span> sin(θe <span class="op">+</span> θu)</span>
<span id="cb4-10"><a href="#cb4-10" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb4-11"><a href="#cb4-11" aria-hidden="true" tabindex="-1"></a> θp <span class="op">=</span> π <span class="op">-</span> atan(norm(r_sun_body) <span class="op">/</span> (Rsun <span class="op">+</span> Rbody))</span>
<span id="cb4-12"><a href="#cb4-12" aria-hidden="true" tabindex="-1"></a> dp <span class="op">=</span> Rbody <span class="op">*</span> sin(θp) <span class="op">/</span> cos(θe <span class="op">-</span> θp)</span>
<span id="cb4-13"><a href="#cb4-13" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb4-14"><a href="#cb4-14" aria-hidden="true" tabindex="-1"></a> S <span class="op">=</span> <span class="fl">1</span></span>
<span id="cb4-15"><a href="#cb4-15" aria-hidden="true" tabindex="-1"></a> <span class="kw">if</span> (θe <span class="op">&lt;</span> π <span class="op">/</span> <span class="fl">2</span>) <span class="op">&amp;&amp;</span> (norm(r_body_sc) <span class="op">&lt;</span> du)</span>
<span id="cb4-16"><a href="#cb4-16" aria-hidden="true" tabindex="-1"></a> S <span class="op">=</span> <span class="fl">0</span></span>
<span id="cb4-17"><a href="#cb4-17" aria-hidden="true" tabindex="-1"></a> <span class="kw">end</span></span>
<span id="cb4-18"><a href="#cb4-18" aria-hidden="true" tabindex="-1"></a> <span class="kw">if</span> (θe <span class="op">&lt;</span> π <span class="op">/</span> <span class="fl">2</span>) <span class="op">&amp;&amp;</span> ((du <span class="op">&lt;</span> norm(r_body_sc)) <span class="op">&amp;&amp;</span> (norm(r_body_sc) <span class="op">&lt;</span> dp))</span>
<span id="cb4-19"><a href="#cb4-19" aria-hidden="true" tabindex="-1"></a> S <span class="op">=</span> (norm(r_body_sc .<span class="op">|&gt;</span> u<span class="st">&quot;km&quot;</span>) <span class="op">-</span> du) <span class="op">/</span> (dp <span class="op">-</span> du) <span class="op">|&gt;</span> ustrip</span>
<span id="cb4-20"><a href="#cb4-20" aria-hidden="true" tabindex="-1"></a> <span class="kw">end</span></span>
<span id="cb4-21"><a href="#cb4-21" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb4-22"><a href="#cb4-22" aria-hidden="true" tabindex="-1"></a> <span class="kw">return</span> S</span>
<span id="cb4-23"><a href="#cb4-23" aria-hidden="true" tabindex="-1"></a><span class="kw">end</span></span></code></pre></div>
</div>
<div class="layout-chunk" data-layout="l-body">
<div class="sourceCode" id="cb5"><pre class="sourceCode julia"><code class="sourceCode julia"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a>S <span class="op">=</span> r .<span class="op">|&gt;</span> R <span class="op">-&gt;</span> sunlight(<span class="fl">6371</span>u<span class="st">&quot;km&quot;</span><span class="op">,</span> [<span class="fl">0.5370</span><span class="op">,</span> <span class="fl">1.2606</span><span class="op">,</span> <span class="fl">0.5466</span>] <span class="op">.*</span> <span class="fl">1e8</span>u<span class="st">&quot;km&quot;</span><span class="op">,</span> R <span class="op">.*</span> u<span class="st">&quot;m&quot;</span>)</span></code></pre></div>
</div>
<h2 id="plotting-the-results">Plotting the Results</h2>
<div class="layout-chunk" data-layout="l-body-outset">
<details>
<summary>
Show code
</summary>
<div class="sourceCode" id="cb6"><pre class="sourceCode julia"><code class="sourceCode julia"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a>light_range <span class="op">=</span> range(colorant<span class="st">&quot;black&quot;</span><span class="op">,</span> stop <span class="op">=</span> colorant<span class="st">&quot;yellow&quot;</span><span class="op">,</span> length <span class="op">=</span> <span class="fl">101</span>)<span class="op">;</span></span>
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a>light_colors <span class="op">=</span> [light_range[unique(round(<span class="dt">Int</span><span class="op">,</span> <span class="fl">1</span> <span class="op">+</span> s <span class="op">*</span> <span class="fl">100</span>))][<span class="fl">1</span>] <span class="kw">for</span> s <span class="kw">in</span> S]<span class="op">;</span></span>
<span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb6-4"><a href="#cb6-4" aria-hidden="true" tabindex="-1"></a>plot(</span>
<span id="cb6-5"><a href="#cb6-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">LinRange</span>(<span class="fl">0</span><span class="op">,</span> <span class="fl">24</span><span class="op">,</span> length(S))<span class="op">,</span></span>
<span id="cb6-6"><a href="#cb6-6" aria-hidden="true" tabindex="-1"></a> S <span class="op">.*</span> <span class="fl">100</span><span class="op">,</span></span>
<span id="cb6-7"><a href="#cb6-7" aria-hidden="true" tabindex="-1"></a> linewidth <span class="op">=</span> <span class="fl">5</span><span class="op">,</span></span>
<span id="cb6-8"><a href="#cb6-8" aria-hidden="true" tabindex="-1"></a> legend <span class="op">=</span> <span class="ex">false</span><span class="op">,</span></span>
<span id="cb6-9"><a href="#cb6-9" aria-hidden="true" tabindex="-1"></a> color <span class="op">=</span> light_colors<span class="op">,</span></span>
<span id="cb6-10"><a href="#cb6-10" aria-hidden="true" tabindex="-1"></a>)<span class="op">;</span></span>
<span id="cb6-11"><a href="#cb6-11" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb6-12"><a href="#cb6-12" aria-hidden="true" tabindex="-1"></a>xlabel<span class="op">!</span>(<span class="st">&quot;Time (hr)&quot;</span>)<span class="op">;</span></span>
<span id="cb6-13"><a href="#cb6-13" aria-hidden="true" tabindex="-1"></a>ylabel<span class="op">!</span>(<span class="st">&quot;Sunlight (%)&quot;</span>)<span class="op">;</span></span>
<span id="cb6-14"><a href="#cb6-14" aria-hidden="true" tabindex="-1"></a>title<span class="op">!</span>(<span class="st">&quot;ISS Sunlight Over a Day&quot;</span>)</span></code></pre></div>
</details>
<div class="figure"><span id="fig:unnamed-chunk-6"></span>
<img src="iss-eclipse-determination_files/figure-html5/unnamed-chunk-6-J1.png" alt="Rocket Motor Data: [@thrustcurve]" width="300" data-distill-preview=1 />
<p class="caption">
Figure 1: Rocket Motor Data: <span class="citation" data-cites="thrustcurve">[@thrustcurve]</span>
</p>
</div>
</div>
<div class="sourceCode" id="cb7"><pre class="sourceCode r distill-force-highlighting-css"><code class="sourceCode r"></code></pre></div>
<!--radix_placeholder_article_footer--> <!--radix_placeholder_article_footer-->
<!--/radix_placeholder_article_footer--> <!--/radix_placeholder_article_footer-->
</div> </div>
@ -1492,7 +1585,12 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
<!--radix_placeholder_site_after_body--> <!--radix_placeholder_site_after_body-->
<!--/radix_placeholder_site_after_body--> <!--/radix_placeholder_site_after_body-->
<!--radix_placeholder_appendices--> <!--radix_placeholder_appendices-->
<div class="appendix-bottom"></div> <div class="appendix-bottom">
<h3 id="updates-and-corrections">Corrections</h3>
<p>If you see mistakes or want to suggest changes, please <a href="https://gitlab.com/lander-team/air-prop-simulation">create an issue</a> on the source repository.</p>
<h3 id="reuse">Reuse</h3>
<p>Text and figures are licensed under Creative Commons Attribution <a rel="license" href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>. Source code is available at <a href="https://gitlab.com/lander-team/air-prop-simulation">https://gitlab.com/lander-team/air-prop-simulation</a>, unless otherwise noted. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".</p>
</div>
<!--/radix_placeholder_appendices--> <!--/radix_placeholder_appendices-->
<!--radix_placeholder_navigation_after_body--> <!--radix_placeholder_navigation_after_body-->
<!--/radix_placeholder_navigation_after_body--> <!--/radix_placeholder_navigation_after_body-->

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 141 KiB

View File

@ -2233,6 +2233,26 @@ function init_posts_list() {
<p>Simulating the performance of an air propulsion system as an alternative to solid rocket motors.</p> <p>Simulating the performance of an air propulsion system as an alternative to solid rocket motors.</p>
</div> </div>
</a> </a>
<a href="posts/2021-04-14-iss-eclipse-determination/" class="post-preview">
<script class="post-metadata" type="text/json">{"categories":["Julia","Astrodynamics"]}</script>
<div class="metadata">
<div class="publishedDate">April 1, 2021</div>
<div class="dt-authors">
<div class="dt-author">Anson Biggs</div>
</div>
</div>
<div class="thumbnail">
<img/>
</div>
<div class="description">
<h2>ISS Eclipse Determination</h2>
<div class="dt-tags">
<div class="dt-tag">Julia</div>
<div class="dt-tag">Astrodynamics</div>
</div>
<p>Determining how much sunlight a body is receiving.</p>
</div>
</a>
</div> </div>
<div class="posts-sidebar"> <div class="posts-sidebar">
<div class="sidebar-section categories"> <div class="sidebar-section categories">
@ -2240,6 +2260,10 @@ function init_posts_list() {
<ul> <ul>
<li> <li>
<a href="#category:Articles">Articles</a> <a href="#category:Articles">Articles</a>
<span class="category-count">(2)</span>
</li>
<li>
<a href="#category:Astrodynamics">Astrodynamics</a>
<span class="category-count">(1)</span> <span class="category-count">(1)</span>
</li> </li>
<li> <li>
@ -2248,7 +2272,7 @@ function init_posts_list() {
</li> </li>
<li> <li>
<a href="#category:Julia">Julia</a> <a href="#category:Julia">Julia</a>
<span class="category-count">(1)</span> <span class="category-count">(2)</span>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -18,5 +18,15 @@
<guid>https://projects.ansonbiggs.com/posts/2021-04-01-air-propulsion-simulation</guid> <guid>https://projects.ansonbiggs.com/posts/2021-04-01-air-propulsion-simulation</guid>
<pubDate>Thu, 01 Apr 2021 00:00:00 +0000</pubDate> <pubDate>Thu, 01 Apr 2021 00:00:00 +0000</pubDate>
</item> </item>
<item>
<title>ISS Eclipse Determination</title>
<dc:creator>Anson Biggs</dc:creator>
<link>https://projects.ansonbiggs.com/posts/2021-04-14-iss-eclipse-determination</link>
<description>Determining how much sunlight a body is receiving.</description>
<category>Julia</category>
<category>Astrodynamics</category>
<guid>https://projects.ansonbiggs.com/posts/2021-04-14-iss-eclipse-determination</guid>
<pubDate>Thu, 01 Apr 2021 00:00:00 +0000</pubDate>
</item>
</channel> </channel>
</rss> </rss>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -0,0 +1,54 @@
@book{shackelford_introduction_2015,
address = {Boston},
edition = {Eighth edition},
title = {Introduction to materials science for engineers},
isbn = {9780133826654},
publisher = {Pearson},
author = {Shackelford, James F.},
year = {2015},
keywords = {Materials}
}
@book{curtis_orbital,
title = {Orbital mechanics for engineering students},
isbn = {9780128240250 9780323853453 9780081021330},
language = {English},
author = {Curtis, Howard D},
year = {2020},
note = {OCLC: 1235349370},
publisher = {Butterworth-Heinemann Publications},
edition = {Fourth edition}
}
@misc{thrustcurve,
title = {Rocket {Motor} {Data}},
url = {https://www.thrustcurve.org/},
author = {Coker, John}
}
@book{cengel_thermodynamics,
address = {New York},
edition = {Eighth edition},
title = {Thermodynamics: an engineering approach},
isbn = {9780073398174},
shorttitle = {Thermodynamics},
publisher = {McGraw-Hill Education},
author = {Çengel, Yunus A. and Boles, Michael A.},
year = {2015},
note = {OCLC: ocn869741544},
keywords = {Thermodynamics}
}
@book{sutton_rocket_2001,
address = {New York},
edition = {7th ed},
title = {Rocket propulsion elements},
isbn = {9780471326427},
publisher = {John Wiley \& Sons},
author = {Sutton, George P. and Biblarz, Oscar},
year = {2001},
keywords = {Rocket engines}
}

View File

@ -124,12 +124,12 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
<!--radix_placeholder_rmarkdown_metadata--> <!--radix_placeholder_rmarkdown_metadata-->
<script type="text/json" id="radix-rmarkdown-metadata"> <script type="text/json" id="radix-rmarkdown-metadata">
{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["title","description","author","repository_url","date","fig_width","fig_align","output","categories","bibliography","creative_commons","citation_url","canonical_url"]}},"value":[{"type":"character","attributes":{},"value":["Air Propulsion Simulation"]},{"type":"character","attributes":{},"value":["Simulating the performance of an air propulsion system as an alternative to solid rocket motors."]},{"type":"list","attributes":{},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["name","url"]}},"value":[{"type":"character","attributes":{},"value":["Anson Biggs"]},{"type":"character","attributes":{},"value":["https://ansonbiggs.com"]}]}]},{"type":"character","attributes":{},"value":["https://gitlab.com/lander-team/air-prop-simulation"]},{"type":"character","attributes":{},"value":["04-01-2021"]},{"type":"integer","attributes":{},"value":[6]},{"type":"character","attributes":{},"value":["center"]},{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["distill::distill_article"]}},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["self_contained"]}},"value":[{"type":"logical","attributes":{},"value":[false]}]}]},{"type":"character","attributes":{},"value":["Julia","Capstone"]},{"type":"character","attributes":{},"value":["../../citations.bib"]},{"type":"character","attributes":{},"value":["CC BY"]},{"type":"character","attributes":{},"value":["https://projects.ansonbiggs.com/posts/2021-04-01-air-propulsion-simulation/"]},{"type":"character","attributes":{},"value":["https://projects.ansonbiggs.com/posts/2021-04-01-air-propulsion-simulation/"]}]} {"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["title","description","author","repository_url","date","fig_width","fig_align","output","categories","bibliography","creative_commons","citation_url","canonical_url"]}},"value":[{"type":"character","attributes":{},"value":["Air Propulsion Simulation"]},{"type":"character","attributes":{},"value":["Simulating the performance of an air propulsion system as an alternative to solid rocket motors."]},{"type":"list","attributes":{},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["name","url"]}},"value":[{"type":"character","attributes":{},"value":["Anson Biggs"]},{"type":"character","attributes":{},"value":["https://ansonbiggs.com"]}]}]},{"type":"character","attributes":{},"value":["https://gitlab.com/lander-team/air-prop-simulation"]},{"type":"character","attributes":{},"value":["04-01-2021"]},{"type":"integer","attributes":{},"value":[6]},{"type":"character","attributes":{},"value":["center"]},{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["distill::distill_article"]}},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["self_contained"]}},"value":[{"type":"logical","attributes":{},"value":[false]}]}]},{"type":"character","attributes":{},"value":["Julia","Capstone"]},{"type":"character","attributes":{},"value":["citations.bib"]},{"type":"character","attributes":{},"value":["CC BY"]},{"type":"character","attributes":{},"value":["https://projects.ansonbiggs.com/posts/2021-04-01-air-propulsion-simulation/"]},{"type":"character","attributes":{},"value":["https://projects.ansonbiggs.com/posts/2021-04-01-air-propulsion-simulation/"]}]}
</script> </script>
<!--/radix_placeholder_rmarkdown_metadata--> <!--/radix_placeholder_rmarkdown_metadata-->
<script type="text/json" id="radix-resource-manifest"> <script type="text/json" id="radix-resource-manifest">
{"type":"character","attributes":{},"value":["AeroTech_F10.csv","AeroTech_G8ST.csv","air-propulsion-simulation_files/anchor-4.2.2/anchor.min.js","air-propulsion-simulation_files/bowser-1.9.3/bowser.min.js","air-propulsion-simulation_files/distill-2.2.21/template.v2.js","air-propulsion-simulation_files/figure-html5/unnamed-chunk-4-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-2.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J2.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J3.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J4.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-6-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-7-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-8-J1.png","air-propulsion-simulation_files/header-attrs-2.7/header-attrs.js","air-propulsion-simulation_files/jquery-1.11.3/jquery.min.js","air-propulsion-simulation_files/popper-2.6.0/popper.min.js","air-propulsion-simulation_files/tippy-6.2.7/tippy-bundle.umd.min.js","air-propulsion-simulation_files/tippy-6.2.7/tippy-light-border.css","air-propulsion-simulation_files/tippy-6.2.7/tippy.css","air-propulsion-simulation_files/tippy-6.2.7/tippy.umd.min.js","air-propulsion-simulation_files/webcomponents-2.0.0/webcomponents.js","Estes_F15.csv","figure/-J2.png","figure/-J3.png","figure/-J4.png"]} {"type":"character","attributes":{},"value":["AeroTech_F10.csv","AeroTech_G8ST.csv","air-propulsion-simulation_files/anchor-4.2.2/anchor.min.js","air-propulsion-simulation_files/bowser-1.9.3/bowser.min.js","air-propulsion-simulation_files/distill-2.2.21/template.v2.js","air-propulsion-simulation_files/figure-html5/unnamed-chunk-4-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-2.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J2.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J3.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-5-J4.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-6-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-7-J1.png","air-propulsion-simulation_files/figure-html5/unnamed-chunk-8-J1.png","air-propulsion-simulation_files/header-attrs-2.7/header-attrs.js","air-propulsion-simulation_files/jquery-1.11.3/jquery.min.js","air-propulsion-simulation_files/popper-2.6.0/popper.min.js","air-propulsion-simulation_files/tippy-6.2.7/tippy-bundle.umd.min.js","air-propulsion-simulation_files/tippy-6.2.7/tippy-light-border.css","air-propulsion-simulation_files/tippy-6.2.7/tippy.css","air-propulsion-simulation_files/tippy-6.2.7/tippy.umd.min.js","air-propulsion-simulation_files/webcomponents-2.0.0/webcomponents.js","citations.bib","Estes_F15.csv","figure/-J2.png","figure/-J3.png","figure/-J4.png"]}
</script> </script>
<!--radix_placeholder_navigation_in_header--> <!--radix_placeholder_navigation_in_header-->
<meta name="distill:offset" content="../.."/> <meta name="distill:offset" content="../.."/>
@ -2127,14 +2127,13 @@ document.addEventListener('DOMContentLoaded', function() {
Show code Show code
</summary> </summary>
<div class="sourceCode" id="cb1"><pre class="sourceCode julia"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Plots</span> <div class="sourceCode" id="cb1"><pre class="sourceCode julia"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Plots</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a>plotly()</span> <span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a>theme(<span class="op">:</span>ggplot2)<span class="op">;</span> <span class="co"># In true R spirit</span></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a>theme(<span class="op">:</span>ggplot2)<span class="op">;</span> <span class="co"># In true R spirit</span></span> <span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a></span> <span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Unitful</span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Unitful</span> <span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> DataFrames</span>
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> DataFrames</span> <span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Measurements</span>
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Measurements</span> <span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Measurements<span class="op">:</span> value<span class="op">,</span> uncertainty</span>
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> Measurements<span class="op">:</span> value<span class="op">,</span> uncertainty</span> <span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> CSV</span></code></pre></div>
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a><span class="kw">using</span> CSV</span></code></pre></div>
</details> </details>
</div> </div>
<h2 id="the-simulation">The Simulation</h2> <h2 id="the-simulation">The Simulation</h2>
@ -2215,7 +2214,7 @@ Show code
<span id="cb6-15"><a href="#cb6-15" aria-hidden="true" tabindex="-1"></a> )</span></code></pre></div> <span id="cb6-15"><a href="#cb6-15" aria-hidden="true" tabindex="-1"></a> )</span></code></pre></div>
</details> </details>
<div class="figure"><span id="fig:unnamed-chunk-6"></span> <div class="figure"><span id="fig:unnamed-chunk-6"></span>
<img src="air-propulsion-simulation_files/figure-html5/unnamed-chunk-6-J1.png" alt="Air Proplsion Simulation" width="350" data-distill-preview=1 /> <img src="air-propulsion-simulation_files/figure-html5/unnamed-chunk-6-J1.png" alt="Air Proplsion Simulation" width="600" data-distill-preview=1 />
<p class="caption"> <p class="caption">
Figure 1: Air Proplsion Simulation Figure 1: Air Proplsion Simulation
</p> </p>
@ -2244,7 +2243,7 @@ Show code
<span id="cb7-15"><a href="#cb7-15" aria-hidden="true" tabindex="-1"></a>ylabel<span class="op">!</span>(<span class="st">&quot;Thrust (N)&quot;</span>)</span></code></pre></div> <span id="cb7-15"><a href="#cb7-15" aria-hidden="true" tabindex="-1"></a>ylabel<span class="op">!</span>(<span class="st">&quot;Thrust (N)&quot;</span>)</span></code></pre></div>
</details> </details>
<div class="figure"><span id="fig:unnamed-chunk-7"></span> <div class="figure"><span id="fig:unnamed-chunk-7"></span>
<img src="air-propulsion-simulation_files/figure-html5/unnamed-chunk-7-J1.png" alt="Rocket Motor Data: [@thrustcurve]" width="350" data-distill-preview=1 /> <img src="air-propulsion-simulation_files/figure-html5/unnamed-chunk-7-J1.png" alt="Rocket Motor Data: [@thrustcurve]" width="600" data-distill-preview=1 />
<p class="caption"> <p class="caption">
Figure 2: Rocket Motor Data: <span class="citation" data-cites="thrustcurve">(<a href="#ref-thrustcurve" role="doc-biblioref">Coker, n.d.</a>)</span> Figure 2: Rocket Motor Data: <span class="citation" data-cites="thrustcurve">(<a href="#ref-thrustcurve" role="doc-biblioref">Coker, n.d.</a>)</span>
</p> </p>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 131 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 141 KiB

File diff suppressed because one or more lines are too long

View File

@ -6,14 +6,14 @@
"description": "I'm an Astronautical Engineer studying at Embry-Riddle Prescott.", "description": "I'm an Astronautical Engineer studying at Embry-Riddle Prescott.",
"author": [], "author": [],
"contents": "\r\nI mostly write code, but sometimes I make 3D Models. This website is where I plan on breaking down some of my more interesting findings and sharing them with the World Wide Web. If you think I could be a could fit at your company then take a look at my Resume, otherwise you can reach me on Telegram or by Email.\r\n\r\n\r\n\r\n", "contents": "\r\nI mostly write code, but sometimes I make 3D Models. This website is where I plan on breaking down some of my more interesting findings and sharing them with the World Wide Web. If you think I could be a could fit at your company then take a look at my Resume, otherwise you can reach me on Telegram or by Email.\r\n\r\n\r\n\r\n",
"last_modified": "2021-04-14T23:03:42-07:00" "last_modified": "2021-04-30T22:47:07-07:00"
}, },
{ {
"path": "index.html", "path": "index.html",
"title": "Anson's Projects", "title": "Anson's Projects",
"author": [], "author": [],
"contents": "\r\n\r\n\r\n\r\n", "contents": "\r\n\r\n\r\n\r\n",
"last_modified": "2021-04-14T23:03:43-07:00" "last_modified": "2021-04-30T22:47:08-07:00"
} }
], ],
"collections": ["posts/posts.json"] "collections": ["posts/posts.json"]

View File

@ -10,6 +10,10 @@
</url> </url>
<url> <url>
<loc>https://projects.ansonbiggs.com/posts/2021-04-01-air-propulsion-simulation/</loc> <loc>https://projects.ansonbiggs.com/posts/2021-04-01-air-propulsion-simulation/</loc>
<lastmod>2021-04-12T22:51:47-07:00</lastmod> <lastmod>2021-04-25T12:19:22-07:00</lastmod>
</url>
<url>
<loc>https://projects.ansonbiggs.com/posts/2021-04-14-iss-eclipse-determination/</loc>
<lastmod>2021-04-25T12:27:18-07:00</lastmod>
</url> </url>
</urlset> </urlset>