1
0
mirror of https://gitlab.com/Anson-Projects/projects.git synced 2025-07-27 08:31:31 +00:00

added university tag

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

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>