fillet-stress-analyzer/prairie-resonance.html

202 lines
6.7 KiB
HTML
Raw Normal View History

2026-07-19 07:11:43 +02:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Prairie Resonance: Wind Load Calculus | Aniruddha Shah</title>
<style>
:root {
--bg-deep: #0a0e14;
--fg-primary: #e6e6e6;
--accent-alu: #a0a0a0;
--accent-cu: #b87333;
--accent-bronze: #cd7f32;
--grid-line: rgba(255,255,255,0.08);
}
body {
background-color: var(--bg-deep);
color: var(--fg-primary);
font-family: 'JetBrains Mono', 'Fira Code', monospace;
margin: 0;
padding: 0;
line-height: 1.6;
}
header {
border-bottom: 1px solid var(--grid-line);
padding: 3rem 2rem;
position: relative;
}
h1 {
font-size: 2.5rem;
margin: 0;
letter-spacing: -0.05em;
}
.subtitle {
color: var(--accent-alu);
font-size: 0.9rem;
margin-top: 0.5rem;
max-width: 60ch;
}
main {
max-width: 900px;
margin: 0 auto;
padding: 3rem 2rem;
}
.hero-img {
width: 100%;
height: 400px;
object-fit: cover;
border-radius: 4px;
margin-bottom: 2rem;
filter: contrast(1.1) saturate(0.9);
}
section {
margin-bottom: 4rem;
}
h2 {
font-size: 1.6rem;
color: var(--accent-cu);
border-left: 3px solid var(--accent-cu);
padding-left: 1rem;
margin-bottom: 1.5rem;
}
h3 {
font-size: 1.2rem;
color: var(--accent-alu);
margin-top: 2rem;
}
.spec-block {
background: rgba(176, 115, 51, 0.08);
border: 1px solid var(--grid-line);
border-left: 4px solid var(--accent-bronze);
padding: 1.5rem;
margin: 1.5rem 0;
border-radius: 4px;
}
.spec-row {
display: flex;
justify-content: space-between;
padding: 0.5rem 0;
border-bottom: 1px dashed var(--grid-line);
font-size: 0.85rem;
}
.spec-row:last-child {
border-bottom: none;
}
.spec-label {
color: var(--accent-alu);
}
.spec-val {
color: var(--fg-primary);
font-weight: bold;
}
.equation {
font-family: 'Courier New', monospace;
background: rgba(0,0,0,0.3);
padding: 1.5rem;
border-radius: 4px;
text-align: center;
font-size: 1.1rem;
margin: 2rem 0;
border: 1px solid var(--accent-bronze);
color: var(--accent-bronze);
}
.narrative {
font-size: 1.05rem;
line-height: 1.8;
opacity: 0.95;
}
.nav-back {
display: inline-block;
margin-bottom: 2rem;
color: var(--accent-alu);
text-decoration: none;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.1em;
}
.nav-back:hover {
color: var(--accent-cu);
}
footer {
border-top: 1px solid var(--grid-line);
padding: 2rem;
text-align: center;
font-size: 0.75rem;
opacity: 0.5;
margin-top: 4rem;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<header>
<h1>Prairie Resonance</h1>
<div class="subtitle">Calculating the wind that shapes the dome. Structural dynamics meet the tallgrass.</div>
</header>
<main>
<a href="index.html" class="nav-back">← Back to the Workshop</a>
<img src="https://images.pexels.com/photos/14160226/pexels-photo-14160226.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940"
alt="Golden prairie grass swaying in the wind, the kind that taught me to calculate resonance"
class="hero-img">
<section>
<h2>The Problem</h2>
<p class="narrative">In Palatine, the wind doesn't whisper. It tests. Forty years of mechanical engineering taught me that every gust is a load case waiting to be solved. When we design the Mars dome, we cannot rely on Earth's forgiving atmosphere. We must understand the <strong>wind load</strong> as a dynamic force—a pressure distribution that shifts with every sol.</p>
<p class="narrative">My students at the community center ask why we study Illinois storms to build on Mars. Because the math is the same. Only the variables change.</p>
</section>
<section>
<h2>Structural Dynamics</h2>
<p class="narrative"><strong>Definition:</strong> The behavior of a structure subjected to dynamic loading—actions having high acceleration. This is not static physics. This is the dance of forces.</p>
<div class="equation">
F<sub>w</sub> = ½ · ρ · v² · C<sub>d</sub> · A
</div>
<p class="narrative">Where the wind velocity squared becomes the dominant term. Where a 20 mph increase doubles the load. Where the prairie grass bends not because it is weak, but because it calculates better than we ever could.</p>
</section>
<section>
<h2>Field Data: Palatine Station</h2>
<div class="spec-block">
<div class="spec-row">
<span class="spec-label">Location</span>
<span class="spec-val">Palatine, IL (42°N, 88°W)</span>
</div>
<div class="spec-row">
<span class="spec-label">Peak Gust Recorded</span>
<span class="spec-val">94 km/h (Nov 2023)</span>
</div>
<div class="spec-row">
<span class="spec-label">Surface Roughness</span>
<span class="spec-val">Category B (Open Country)</span>
</div>
<div class="spec-row">
<span class="spec-label">Resonant Frequency Target</span>
<span class="spec-val">0.3 Hz (Dome Membrane)</span>
</div>
<div class="spec-row">
<span class="spec-label">Safety Factor</span>
<span class="spec-val">1.8x (Dynamic Loading)</span>
</div>
</div>
<p class="narrative" style="margin-top: 1rem; opacity: 0.8;">These numbers come from thirty winters watching the cornstalks bow and rise. They are not theoretical. They are the difference between a shelter and a grave.</p>
</section>
<section>
<h2>The Beautiful Slip Revisited</h2>
<p class="narrative">Remember the floating joint? The 0.924mm gap that saved the thermal interface? That was static tolerance. Here, we deal with <em>vibration modes</em>. The dome must breathe with the wind, not resist it. Like the prairie grass, we build flexibility into the spine.</p>
<p class="narrative">My abuela said, "<em>No te muevas hasta que el color te hable</em>"—wait until the color speaks. I say: wait until the vibration settles. Then weld.</p>
</section>
<footer>
The wind is not the enemy. It is the teacher.<br>
<span style="color: var(--accent-bronze)">Calculate well.</span>
</footer>
</main>
</body>
</html>