1
0
mirror of https://gitlab.com/Anson-Projects/projects.git synced 2025-06-15 14:36:47 +00:00

added university tag

This commit is contained in:
Anson 2022-04-15 17:18:28 -07:00
parent 1accd1f227
commit e711e88b59
12 changed files with 10963 additions and 36 deletions

View File

@ -15,6 +15,7 @@ output:
categories:
- Julia
- Capstone
- University
bibliography: citations.bib
creative_commons: CC BY
---
@ -24,7 +25,7 @@ For Capstone my team was tasked with designing a system capable of moving mining
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, results = 'hide')
library(JuliaCall)
julia_setup(JULIA_HOME = "/opt/julia-1.6.0/bin/")
#julia_setup(JULIA_HOME = "/opt/julia-1.6.0/bin/")
```
```{julia, code_folding=TRUE}

View File

@ -56,7 +56,7 @@ pre > code.sourceCode > span > a:first-child::before { text-decoration: underlin
}
code span.al { color: #ad0000; } /* Alert */
code span.an { color: #5e5e5e; } /* Annotation */
code span.at { color: #20794d; } /* Attribute */
code span.at { } /* Attribute */
code span.bn { color: #ad0000; } /* BaseN */
code span.bu { } /* BuiltIn */
code span.cf { color: #007ba5; } /* ControlFlow */
@ -77,7 +77,7 @@ code span.kw { color: #007ba5; } /* Keyword */
code span.op { color: #5e5e5e; } /* Operator */
code span.ot { color: #007ba5; } /* Other */
code span.pp { color: #ad0000; } /* Preprocessor */
code span.sc { color: #20794d; } /* SpecialChar */
code span.sc { color: #5e5e5e; } /* SpecialChar */
code span.ss { color: #20794d; } /* SpecialString */
code span.st { color: #20794d; } /* String */
code span.va { color: #111111; } /* Variable */
@ -85,6 +85,28 @@ code span.vs { color: #20794d; } /* VerbatimString */
code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
</style>
<style>
div.csl-bib-body { }
div.csl-entry {
clear: both;
}
.hanging div.csl-entry {
margin-left:2em;
text-indent:-2em;
}
div.csl-left-margin {
min-width:2em;
float:left;
}
div.csl-right-inline {
margin-left:2em;
padding-left:1em;
}
div.csl-indent {
margin-left: 2em;
}
</style>
<!--radix_placeholder_meta_tags-->
<title>Air Propulsion Simulation</title>
@ -115,7 +137,7 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
<!--radix_placeholder_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","University"]},{"type":"character","attributes":{},"value":["citations.bib"]},{"type":"character","attributes":{},"value":["CC BY"]}]}
</script>
<!--/radix_placeholder_rmarkdown_metadata-->
@ -1267,7 +1289,10 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
// hoverable references
$('span.citation[data-cites]').each(function() {
var refHtml = $('#ref-' + $(this).attr('data-cites')).html();
var refs = $(this).attr('data-cites').split(" ");
var refHtml = refs.map(function(ref) {
return "<p>" + $('#ref-' + ref).html() + "</p>";
}).join("\n");
window.tippy(this, {
allowHTML: true,
content: refHtml,
@ -1438,8 +1463,8 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
</script>
<!--/radix_placeholder_distill-->
<script src="air-propulsion-simulation_files/header-attrs-2.7/header-attrs.js"></script>
<script src="air-propulsion-simulation_files/jquery-1.11.3/jquery.min.js"></script>
<script src="air-propulsion-simulation_files/header-attrs-2.13/header-attrs.js"></script>
<script src="air-propulsion-simulation_files/jquery-3.6.0/jquery-3.6.0.min.js"></script>
<script src="air-propulsion-simulation_files/popper-2.6.0/popper.min.js"></script>
<link href="air-propulsion-simulation_files/tippy-6.2.7/tippy.css" rel="stylesheet" />
<link href="air-propulsion-simulation_files/tippy-6.2.7/tippy-light-border.css" rel="stylesheet" />
@ -1474,6 +1499,7 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
<div class="dt-tags">
<div class="dt=tag">Julia</div>
<div class="dt=tag">Capstone</div>
<div class="dt=tag">University</div>
</div>
<!--/radix_placeholder_categories-->
<p><p>Simulating the performance of an air propulsion system as an alternative to solid rocket motors.</p></p>
@ -1493,7 +1519,7 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
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> Plots</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-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="fu">theme</span>(<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 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>
@ -1535,11 +1561,11 @@ Show code
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a>P <span class="op">=</span> P0 <span class="op">|&gt;</span> u<span class="st">&quot;Pa&quot;</span></span>
<span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a>M <span class="op">=</span> V <span class="op">*</span> (P <span class="op">/</span> (R <span class="op">*</span> T)) <span class="op">|&gt;</span> u<span class="st">&quot;kg&quot;</span></span>
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a>ts <span class="op">=</span> <span class="fl">1</span>u<span class="st">&quot;ms&quot;</span></span>
<span id="cb5-6"><a href="#cb5-6" aria-hidden="true" tabindex="-1"></a>df <span class="op">=</span> DataFrame(Thrust<span class="op">=</span>(<span class="fl">0</span> ± <span class="fl">0</span>)u<span class="st">&quot;N&quot;</span><span class="op">,</span> Pressure<span class="op">=</span>P0<span class="op">,</span> <span class="dt">Time</span><span class="op">=</span><span class="fl">0.0</span>u<span class="st">&quot;s&quot;</span><span class="op">,</span> Mass<span class="op">=</span>M)</span>
<span id="cb5-7"><a href="#cb5-7" aria-hidden="true" tabindex="-1"></a> <span class="kw">while</span> M <span class="op">&gt;</span> <span class="fl">0.005</span>u<span class="st">&quot;kg&quot;</span></span>
<span id="cb5-6"><a href="#cb5-6" aria-hidden="true" tabindex="-1"></a>df <span class="op">=</span> <span class="fu">DataFrame</span>(Thrust<span class="op">=</span>(<span class="fl">0</span> ± <span class="fl">0</span>)u<span class="st">&quot;N&quot;</span><span class="op">,</span> Pressure<span class="op">=</span>P0<span class="op">,</span> <span class="dt">Time</span><span class="op">=</span><span class="fl">0.0</span>u<span class="st">&quot;s&quot;</span><span class="op">,</span> Mass<span class="op">=</span>M)</span>
<span id="cb5-7"><a href="#cb5-7" aria-hidden="true" tabindex="-1"></a> <span class="cf">while</span> M <span class="op">&gt;</span> <span class="fl">0.005</span>u<span class="st">&quot;kg&quot;</span></span>
<span id="cb5-8"><a href="#cb5-8" aria-hidden="true" tabindex="-1"></a> <span class="co"># Calculate what is leaving tank</span></span>
<span id="cb5-9"><a href="#cb5-9" aria-hidden="true" tabindex="-1"></a> P <span class="op">=</span> minimum([P<span class="op">,</span> Pmax])</span>
<span id="cb5-10"><a href="#cb5-10" aria-hidden="true" tabindex="-1"></a> ve <span class="op">=</span> sqrt((<span class="fl">2</span> <span class="op">*</span> γ <span class="op">/</span> (γ <span class="op">-</span> <span class="fl">1</span>)) <span class="op">*</span> R <span class="op">*</span> T <span class="op">*</span> (<span class="fl">1</span> <span class="op">-</span> P_amb <span class="op">/</span> P)<span class="op">^</span>((γ <span class="op">-</span> <span class="fl">1</span>) <span class="op">/</span> γ)) <span class="op">|&gt;</span> u<span class="st">&quot;m/s&quot;</span></span>
<span id="cb5-9"><a href="#cb5-9" aria-hidden="true" tabindex="-1"></a> P <span class="op">=</span> <span class="fu">minimum</span>([P<span class="op">,</span> Pmax])</span>
<span id="cb5-10"><a href="#cb5-10" aria-hidden="true" tabindex="-1"></a> ve <span class="op">=</span> <span class="fu">sqrt</span>((<span class="fl">2</span> <span class="op">*</span> γ <span class="op">/</span> (γ <span class="op">-</span> <span class="fl">1</span>)) <span class="op">*</span> R <span class="op">*</span> T <span class="op">*</span> (<span class="fl">1</span> <span class="op">-</span> P_amb <span class="op">/</span> P)<span class="op">^</span>((γ <span class="op">-</span> <span class="fl">1</span>) <span class="op">/</span> γ)) <span class="op">|&gt;</span> u<span class="st">&quot;m/s&quot;</span></span>
<span id="cb5-11"><a href="#cb5-11" aria-hidden="true" tabindex="-1"></a> ρ <span class="op">=</span> P <span class="op">/</span> (R <span class="op">*</span> T) <span class="op">|&gt;</span> u<span class="st">&quot;kg/m^3&quot;</span></span>
<span id="cb5-12"><a href="#cb5-12" aria-hidden="true" tabindex="-1"></a><span class="op">=</span> ρ <span class="op">*</span> a_nozzle <span class="op">*</span> ve <span class="op">|&gt;</span> u<span class="st">&quot;kg/s&quot;</span></span>
<span id="cb5-13"><a href="#cb5-13" aria-hidden="true" tabindex="-1"></a> </span>
@ -1550,9 +1576,9 @@ Show code
<span id="cb5-18"><a href="#cb5-18" aria-hidden="true" tabindex="-1"></a> P <span class="op">=</span> (M <span class="op">*</span> R <span class="op">*</span> T) <span class="op">/</span> V <span class="op">|&gt;</span> u<span class="st">&quot;Pa&quot;</span></span>
<span id="cb5-19"><a href="#cb5-19" aria-hidden="true" tabindex="-1"></a> t <span class="op">=</span> t <span class="op">+</span> ts</span>
<span id="cb5-20"><a href="#cb5-20" aria-hidden="true" tabindex="-1"></a> </span>
<span id="cb5-21"><a href="#cb5-21" aria-hidden="true" tabindex="-1"></a> df_step <span class="op">=</span> DataFrame(Thrust<span class="op">=</span>Thrust<span class="op">,</span> Pressure<span class="op">=</span>P<span class="op">,</span> <span class="dt">Time</span><span class="op">=</span>t<span class="op">,</span> Mass<span class="op">=</span>M)</span>
<span id="cb5-22"><a href="#cb5-22" aria-hidden="true" tabindex="-1"></a> <span class="cn">append</span><span class="op">!</span>(df<span class="op">,</span> df_step)</span>
<span id="cb5-23"><a href="#cb5-23" aria-hidden="true" tabindex="-1"></a> <span class="kw">end</span></span>
<span id="cb5-21"><a href="#cb5-21" aria-hidden="true" tabindex="-1"></a> df_step <span class="op">=</span> <span class="fu">DataFrame</span>(Thrust<span class="op">=</span>Thrust<span class="op">,</span> Pressure<span class="op">=</span>P<span class="op">,</span> <span class="dt">Time</span><span class="op">=</span>t<span class="op">,</span> Mass<span class="op">=</span>M)</span>
<span id="cb5-22"><a href="#cb5-22" aria-hidden="true" tabindex="-1"></a> <span class="fu">append!</span>(df<span class="op">,</span> df_step)</span>
<span id="cb5-23"><a href="#cb5-23" aria-hidden="true" tabindex="-1"></a> <span class="cf">end</span></span>
<span id="cb5-24"><a href="#cb5-24" aria-hidden="true" tabindex="-1"></a> df</span>
<span id="cb5-25"><a href="#cb5-25" aria-hidden="true" tabindex="-1"></a><span class="kw">end</span></span></code></pre></div>
</div>
@ -1564,13 +1590,13 @@ Show code
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></span>
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a>thrust_values <span class="op">=</span> df.Thrust .<span class="op">|&gt;</span> ustrip .<span class="op">|&gt;</span> value<span class="op">;</span></span>
<span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a>thrust_uncertainties <span class="op">=</span> df.Thrust .<span class="op">|&gt;</span> ustrip .<span class="op">|&gt;</span> uncertainty<span class="op">;</span></span>
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a>thrust_values <span class="op">=</span> df.Thrust <span class="op">.|&gt;</span> ustrip <span class="op">.|&gt;</span> value<span class="op">;</span></span>
<span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a>thrust_uncertainties <span class="op">=</span> df.Thrust <span class="op">.|&gt;</span> ustrip <span class="op">.|&gt;</span> uncertainty<span class="op">;</span></span>
<span id="cb6-4"><a href="#cb6-4" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb6-5"><a href="#cb6-5" aria-hidden="true" tabindex="-1"></a>air <span class="op">=</span> DataFrame(Thrust<span class="op">=</span>thrust_values<span class="op">,</span> Uncertainty<span class="op">=</span>thrust_uncertainties<span class="op">,</span> <span class="dt">Time</span><span class="op">=</span>df.<span class="dt">Time</span> .<span class="op">|&gt;</span> u<span class="st">&quot;s&quot;</span> .<span class="op">|&gt;</span> ustrip)<span class="op">;</span></span>
<span id="cb6-5"><a href="#cb6-5" aria-hidden="true" tabindex="-1"></a>air <span class="op">=</span> <span class="fu">DataFrame</span>(Thrust<span class="op">=</span>thrust_values<span class="op">,</span> Uncertainty<span class="op">=</span>thrust_uncertainties<span class="op">,</span> <span class="dt">Time</span><span class="op">=</span>df.<span class="dt">Time</span> <span class="op">.|&gt;</span> u<span class="st">&quot;s&quot;</span> <span class="op">.|&gt;</span> ustrip)<span class="op">;</span></span>
<span id="cb6-6"><a href="#cb6-6" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb6-7"><a href="#cb6-7" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb6-8"><a href="#cb6-8" aria-hidden="true" tabindex="-1"></a>plot(df.<span class="dt">Time</span> .<span class="op">|&gt;</span> ustrip<span class="op">,</span> thrust_values<span class="op">,</span> </span>
<span id="cb6-8"><a href="#cb6-8" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(df.<span class="dt">Time</span> <span class="op">.|&gt;</span> ustrip<span class="op">,</span> thrust_values<span class="op">,</span> </span>
<span id="cb6-9"><a href="#cb6-9" aria-hidden="true" tabindex="-1"></a> title<span class="op">=</span><span class="st">&quot;Thrust Over Time&quot;</span><span class="op">,</span> </span>
<span id="cb6-10"><a href="#cb6-10" aria-hidden="true" tabindex="-1"></a> ribbon<span class="op">=</span>(thrust_uncertainties<span class="op">,</span> thrust_uncertainties)<span class="op">,</span> </span>
<span id="cb6-11"><a href="#cb6-11" aria-hidden="true" tabindex="-1"></a> fillalpha<span class="op">=</span><span class="fl">.2</span><span class="op">,</span>label<span class="op">=</span><span class="st">&quot;Thrust&quot;</span><span class="op">,</span></span>
@ -1578,7 +1604,7 @@ Show code
<span id="cb6-13"><a href="#cb6-13" aria-hidden="true" tabindex="-1"></a> ylabel<span class="op">=</span><span class="st">&quot;Thrust (N)&quot;</span><span class="op">,</span></span>
<span id="cb6-14"><a href="#cb6-14" aria-hidden="true" tabindex="-1"></a> )</span></code></pre></div>
</details>
<div class="figure"><span id="fig:unnamed-chunk-6"></span>
<div class="figure"><span style="display:block;" id="fig:unnamed-chunk-6"></span>
<img src="air-propulsion-simulation_files/figure-html5/unnamed-chunk-6-J1.png" alt="Air Proplsion Simulation" width="300" />
<p class="caption">
Figure 1: Air Proplsion Simulation
@ -1592,22 +1618,22 @@ Figure 1: Air Proplsion Simulation
Show code
</summary>
<div class="sourceCode" id="cb7"><pre class="sourceCode julia"><code class="sourceCode julia"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a>f10 <span class="op">=</span> CSV.<span class="cn">read</span>(<span class="st">&quot;AeroTech_F10.csv&quot;</span><span class="op">,</span> DataFrame)<span class="op">;</span></span>
<span id="cb7-3"><a href="#cb7-3" aria-hidden="true" tabindex="-1"></a>f15 <span class="op">=</span> CSV.<span class="cn">read</span>(<span class="st">&quot;Estes_F15.csv&quot;</span><span class="op">,</span> DataFrame)<span class="op">;</span></span>
<span id="cb7-4"><a href="#cb7-4" aria-hidden="true" tabindex="-1"></a>g8 <span class="op">=</span> CSV.<span class="cn">read</span>(<span class="st">&quot;AeroTech_G8ST.csv&quot;</span><span class="op">,</span> DataFrame)<span class="op">;</span></span>
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a>f10 <span class="op">=</span> CSV.<span class="fu">read</span>(<span class="st">&quot;AeroTech_F10.csv&quot;</span><span class="op">,</span> DataFrame)<span class="op">;</span></span>
<span id="cb7-3"><a href="#cb7-3" aria-hidden="true" tabindex="-1"></a>f15 <span class="op">=</span> CSV.<span class="fu">read</span>(<span class="st">&quot;Estes_F15.csv&quot;</span><span class="op">,</span> DataFrame)<span class="op">;</span></span>
<span id="cb7-4"><a href="#cb7-4" aria-hidden="true" tabindex="-1"></a>g8 <span class="op">=</span> CSV.<span class="fu">read</span>(<span class="st">&quot;AeroTech_G8ST.csv&quot;</span><span class="op">,</span> DataFrame)<span class="op">;</span></span>
<span id="cb7-5"><a href="#cb7-5" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb7-6"><a href="#cb7-6" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb7-7"><a href="#cb7-7" aria-hidden="true" tabindex="-1"></a>plot(air.<span class="dt">Time</span><span class="op">,</span> air.Thrust<span class="op">,</span> label<span class="op">=</span><span class="st">&quot;Air Propulsion&quot;</span><span class="op">,</span> legend<span class="op">=:</span>topleft)<span class="op">;</span></span>
<span id="cb7-7"><a href="#cb7-7" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(air.<span class="dt">Time</span><span class="op">,</span> air.Thrust<span class="op">,</span> label<span class="op">=</span><span class="st">&quot;Air Propulsion&quot;</span><span class="op">,</span> legend<span class="op">=:</span>topleft)<span class="op">;</span></span>
<span id="cb7-8"><a href="#cb7-8" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb7-9"><a href="#cb7-9" aria-hidden="true" tabindex="-1"></a><span class="kw">for</span> (d<span class="op">,</span> l) <span class="kw">in</span> [(f10<span class="op">,</span> <span class="st">&quot;F10&quot;</span>)<span class="op">,</span> (f15<span class="op">,</span> <span class="st">&quot;F15&quot;</span>)<span class="op">,</span> (g8<span class="op">,</span> <span class="st">&quot;G8ST&quot;</span>)]</span>
<span id="cb7-10"><a href="#cb7-10" aria-hidden="true" tabindex="-1"></a> plot<span class="op">!</span>(d[<span class="op">!,</span><span class="st">&quot;Time (s)&quot;</span>]<span class="op">,</span> d[<span class="op">!,</span> <span class="st">&quot;Thrust (N)&quot;</span>]<span class="op">,</span> label<span class="op">=</span>l)<span class="op">;</span></span>
<span id="cb7-11"><a href="#cb7-11" aria-hidden="true" tabindex="-1"></a><span class="kw">end</span></span>
<span id="cb7-9"><a href="#cb7-9" aria-hidden="true" tabindex="-1"></a><span class="cf">for</span> (d<span class="op">,</span> l) <span class="kw">in</span> [(f10<span class="op">,</span> <span class="st">&quot;F10&quot;</span>)<span class="op">,</span> (f15<span class="op">,</span> <span class="st">&quot;F15&quot;</span>)<span class="op">,</span> (g8<span class="op">,</span> <span class="st">&quot;G8ST&quot;</span>)]</span>
<span id="cb7-10"><a href="#cb7-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">plot!</span>(d[<span class="op">!,</span><span class="st">&quot;Time (s)&quot;</span>]<span class="op">,</span> d[<span class="op">!,</span> <span class="st">&quot;Thrust (N)&quot;</span>]<span class="op">,</span> label<span class="op">=</span>l)<span class="op">;</span></span>
<span id="cb7-11"><a href="#cb7-11" aria-hidden="true" tabindex="-1"></a><span class="cf">end</span></span>
<span id="cb7-12"><a href="#cb7-12" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb7-13"><a href="#cb7-13" aria-hidden="true" tabindex="-1"></a>title<span class="op">!</span>(<span class="st">&quot;Propulsion Comparison&quot;</span>)<span class="op">;</span></span>
<span id="cb7-14"><a href="#cb7-14" aria-hidden="true" tabindex="-1"></a>xlabel<span class="op">!</span>(<span class="st">&quot;Time (s)&quot;</span>)<span class="op">;</span></span>
<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-13"><a href="#cb7-13" aria-hidden="true" tabindex="-1"></a><span class="fu">title!</span>(<span class="st">&quot;Propulsion Comparison&quot;</span>)<span class="op">;</span></span>
<span id="cb7-14"><a href="#cb7-14" aria-hidden="true" tabindex="-1"></a><span class="fu">xlabel!</span>(<span class="st">&quot;Time (s)&quot;</span>)<span class="op">;</span></span>
<span id="cb7-15"><a href="#cb7-15" aria-hidden="true" tabindex="-1"></a><span class="fu">ylabel!</span>(<span class="st">&quot;Thrust (N)&quot;</span>)</span></code></pre></div>
</details>
<div class="figure"><span id="fig:unnamed-chunk-7"></span>
<div class="figure"><span style="display:block;" 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="300" data-distill-preview=1 />
<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>
@ -1619,12 +1645,12 @@ Figure 2: Rocket Motor Data: <span class="citation" data-cites="thrustcurve">(<a
<p>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.</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode r distill-force-highlighting-css"><code class="sourceCode r"></code></pre></div>
<div id="refs" class="references csl-bib-body hanging-indent" role="doc-bibliography">
<div id="ref-thrustcurve" class="csl-entry" role="doc-biblioentry">
Coker, John. n.d. <span>“Rocket <span>Motor</span> <span>Data</span>.”</span> <a href="https://www.thrustcurve.org/">https://www.thrustcurve.org/</a>.
</div>
<div id="ref-cengel_thermodynamics" class="csl-entry" role="doc-biblioentry">
Çengel, Yunus A., and Michael A. Boles. 2015. <em>Thermodynamics: An Engineering Approach</em>. Eighth edition. New York: McGraw-Hill Education.
</div>
<div id="ref-thrustcurve" class="csl-entry" role="doc-biblioentry">
Coker, John. n.d. <span>“Rocket <span>Motor</span> <span>Data</span>.”</span> <a href="https://www.thrustcurve.org/">https://www.thrustcurve.org/</a>.
</div>
<div id="ref-sutton_rocket_2001" class="csl-entry" role="doc-biblioentry">
Sutton, George P., and Oscar Biblarz. 2001. <em>Rocket Propulsion Elements</em>. 7th ed. New York: John Wiley &amp; Sons.
</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -0,0 +1,12 @@
// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
// be compatible with the behavior of Pandoc < 2.8).
document.addEventListener('DOMContentLoaded', function(e) {
var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
var i, h, a;
for (i = 0; i < hs.length; i++) {
h = hs[i];
if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
a = h.attributes;
while (a.length > 0) h.removeAttribute(a[0].name);
}
});

File diff suppressed because one or more lines are too long

View File

@ -13,6 +13,7 @@ output:
categories:
- Matlab
- Orbital Debris
- University
preview: clusters.svg
draft: false
---

View File

@ -112,7 +112,7 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
<!--radix_placeholder_rmarkdown_metadata-->
<script type="text/json" id="radix-rmarkdown-metadata">
{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["title","description","author","repository_url","date","output","categories","preview","draft"]}},"value":[{"type":"character","attributes":{},"value":["Machine Learning Directed Study: Report 1"]},{"type":"character","attributes":{},"value":["Orbital Debris Characterization using K-means clustering.\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/orbital-debris-research/directed-study/report-1"]},{"type":"character","attributes":{},"value":["2022-02-14"]},{"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":["Matlab","Orbital Debris"]},{"type":"character","attributes":{},"value":["clusters.svg"]},{"type":"logical","attributes":{},"value":[false]}]}
{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["title","description","author","repository_url","date","output","categories","preview","draft"]}},"value":[{"type":"character","attributes":{},"value":["Machine Learning Directed Study: Report 1"]},{"type":"character","attributes":{},"value":["Orbital Debris Characterization using K-means clustering.\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/orbital-debris-research/directed-study/report-1"]},{"type":"character","attributes":{},"value":["2022-02-14"]},{"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":["Matlab","Orbital Debris","University"]},{"type":"character","attributes":{},"value":["clusters.svg"]},{"type":"logical","attributes":{},"value":[false]}]}
</script>
<!--/radix_placeholder_rmarkdown_metadata-->
@ -1474,6 +1474,7 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
<div class="dt-tags">
<div class="dt=tag">Matlab</div>
<div class="dt=tag">Orbital Debris</div>
<div class="dt=tag">University</div>
</div>
<!--/radix_placeholder_categories-->
<p><p>Orbital Debris Characterization using K-means clustering.</p></p>

View File

@ -14,6 +14,7 @@ categories:
- Matlab
- Orbital Debris
- Julia
- University
preview: Figures/inertia3d.png
bibliography: citations.bib
draft: false

View File

@ -137,7 +137,7 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
<!--radix_placeholder_rmarkdown_metadata-->
<script type="text/json" id="radix-rmarkdown-metadata">
{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["title","description","author","repository_url","date","output","categories","preview","bibliography","draft"]}},"value":[{"type":"character","attributes":{},"value":["Machine Learning Directed Study: Report 2"]},{"type":"character","attributes":{},"value":["Advanced processing of 3D meshes using Julia, and data science in Matlab.\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/orbital-debris-research/directed-study/report-2"]},{"type":"character","attributes":{},"value":["2022-04-03"]},{"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":["Matlab","Orbital Debris","Julia"]},{"type":"character","attributes":{},"value":["Figures/inertia3d.png"]},{"type":"character","attributes":{},"value":["citations.bib"]},{"type":"logical","attributes":{},"value":[false]}]}
{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["title","description","author","repository_url","date","output","categories","preview","bibliography","draft"]}},"value":[{"type":"character","attributes":{},"value":["Machine Learning Directed Study: Report 2"]},{"type":"character","attributes":{},"value":["Advanced processing of 3D meshes using Julia, and data science in Matlab.\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/orbital-debris-research/directed-study/report-2"]},{"type":"character","attributes":{},"value":["2022-04-03"]},{"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":["Matlab","Orbital Debris","Julia","University"]},{"type":"character","attributes":{},"value":["Figures/inertia3d.png"]},{"type":"character","attributes":{},"value":["citations.bib"]},{"type":"logical","attributes":{},"value":[false]}]}
</script>
<!--/radix_placeholder_rmarkdown_metadata-->
@ -1500,6 +1500,7 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
<div class="dt=tag">Matlab</div>
<div class="dt=tag">Orbital Debris</div>
<div class="dt=tag">Julia</div>
<div class="dt=tag">University</div>
</div>
<!--/radix_placeholder_categories-->
<p><p>Advanced processing of 3D meshes using Julia, and data science in Matlab.</p></p>