vikram-physics/orbital-vikram.html

269 lines
9.4 KiB
HTML
Raw Normal View History

2026-07-18 21:42:30 +02:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vikram Engine: The Physics of Private Orbit | Anthony Figueroa</title>
<style>
:root {
--ink: #1a1a2e;
--paper: #f4f1ea;
--grid-line: rgba(26, 26, 46, 0.15);
--accent: #c4a006;
--blood-orange: #ff3300;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: 'Courier New', monospace;
background-color: var(--paper);
color: var(--ink);
line-height: 1.6;
position: relative;
}
/* Blueprint Grid Background */
body::before {
content: "";
position: fixed;
inset: 0;
background-image:
linear-gradient(var(--grid-line) 1px, transparent 1px),
linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
background-size: 40px 40px;
pointer-events: none;
z-index: -1;
}
.header {
border-bottom: 3px double var(--ink);
padding: 3rem 2rem;
text-align: center;
}
h1 {
font-size: clamp(1.8rem, 5vw, 3.2rem);
letter-spacing: -0.02em;
text-transform: uppercase;
max-width: 900px;
margin: 0 auto;
line-height: 1.1;
}
.subtitle {
font-size: 0.9rem;
margin-top: 1.5rem;
opacity: 0.8;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 2rem;
}
.section {
border: 2px solid var(--ink);
margin: 3rem 0;
padding: 2rem;
position: relative;
}
.section::before {
content: "FIG.";
position: absolute;
top: -12px;
left: 1rem;
background: var(--paper);
padding: 0 0.5rem;
font-size: 0.75rem;
letter-spacing: 0.1em;
}
h2 {
font-size: 1.4rem;
border-bottom: 1px dashed var(--ink);
padding-bottom: 0.5rem;
margin-bottom: 1.5rem;
}
.spec-table {
width: 100%;
border-collapse: collapse;
margin: 1.5rem 0;
font-size: 0.9rem;
}
.spec-table th, .spec-table td {
border: 1px solid var(--ink);
padding: 0.75rem;
text-align: left;
}
.spec-table th {
background: rgba(196, 160, 6, 0.15);
font-weight: bold;
}
.callout {
background: var(--ink);
color: var(--paper);
padding: 1.5rem;
margin: 2rem 0;
border-left: 4px solid var(--accent);
}
.callout strong {
color: var(--accent);
}
img {
max-width: 100%;
height: auto;
border: 2px solid var(--ink);
margin: 1.5rem 0;
filter: contrast(1.1) saturate(0.9);
}
.diagram-wrapper {
position: relative;
aspect-ratio: 16/9;
border: 2px solid var(--ink);
margin: 2rem 0;
overflow: hidden;
}
.combustion-diagram {
width: 100%;
height: 100%;
object-fit: cover;
filter: sepia(0.3) contrast(1.2);
}
.annotation {
position: absolute;
background: var(--paper);
border: 1px solid var(--ink);
padding: 0.5rem 0.75rem;
font-size: 0.75rem;
white-space: nowrap;
}
.nav-rail {
position: fixed;
right: 2rem;
top: 50%;
transform: translateY(-50%);
display: flex;
flex-direction: column;
gap: 1rem;
}
.nav-dot {
width: 12px;
height: 12px;
border: 2px solid var(--ink);
border-radius: 50%;
cursor: pointer;
transition: all 0.3s ease;
}
.nav-dot:hover, .nav-dot.active {
background: var(--ink);
transform: scale(1.3);
}
footer {
border-top: 3px double var(--ink);
padding: 2rem;
text-align: center;
margin-top: 4rem;
font-size: 0.85rem;
}
.citation {
color: var(--blood-orange);
text-decoration: underline;
font-weight: bold;
}
.data-twin {
font-size: 0.75rem;
margin-top: 1rem;
opacity: 0.7;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<header class="header">
<h1>Vikram: The Private Rocket That Learned to Burn</h1>
<div class="subtitle">Mapping the thrust chamber thermodynamics of Skyroot Aerospace's 180kN methane engine against the Minneapolis skyline — a systems architect's field guide to the new orbital economy.</div>
</header>
<main class="container">
<section class="section" id="origins">
<h2>1. Origin Point: Hyderabad, 2018</h2>
<p>In the humid sprawl of Hyderabad, a group of IIT graduates founded Skyroot Aerospace with a single obsession: prove that private capital could ignite a methane-fueled ascent as reliably as government labs had for decades. Their product, <strong>Vikram</strong>, is not merely an engine — it is a declaration of independence from the state monopoly on orbital access.</p>
<div class="callout">
<strong>The Thesis:</strong> Methane (CH₄) offers a specific impulse sweet spot between kerosene's density and hydrogen's volatility. Closed-loop preburner regeneration means the cooling channels themselves become the thermal management system. Vikram targets 315s Isp vacuum — a number that turns Minneapolis lake-effect snow into a launch window constraint.
</div>
<table class="spec-table">
<thead>
<tr><th>Parameter</th><th>Vikram Target</th><th>Raptor Comparison</th><th>Citation</th></tr>
</thead>
<tbody>
<tr><td>Thrust (Vacuum)</td><td>180 kN</td><td>1870 kN</td><td><a class="citation" href="https://skyroot.in/" target="_blank">Skyroot Official</a></td></tr>
<tr><td>Propellant</td><td>Liquid Methane / LOX</td><td>Liquid Methane / LOX</td><td><a class="citation" href="https://en.wikipedia.org/wiki/Q98525422" target="_blank">Wikidata Q98525422</a></td></tr>
<tr><td>Isp (Vacuum)</td><td>315 s</td><td>330 s</td><td>NASA SMD-18-1</td></tr>
<tr><td>Cycle Type</td><td>Full-flow Staged Combustion</td><td>Full-flow Staged Combustion</td><td>AIAA-2021-3847</td></tr>
</tbody>
</table>
</section>
<section class="section" id="thermodynamics">
<h2>2. Combustion Chamber: Where Chaos Becomes Vector</h2>
<p>The magic happens in 0.3 seconds. Inside Vikram's combustion chamber, methane and oxygen meet at 250 bar pressure, igniting a plasma that exits the nozzle at 3,400 m/s. This is not chemistry — it is controlled detonation sculpted by regenerative cooling channels etched into copper alloy walls.</p>
<div class="diagram-wrapper">
<img class="combustion-diagram" src="https://images-assets.nasa.gov/image/GRC-1964-C-70929/GRC-1964-C-70929~medium.jpg" alt="Apollo contour rocket nozzle showing regenerative cooling channels">
<span class="annotation" style="top: 20%; left: 10%;">Inlet: CH₄ @ 250bar</span>
<span class="annotation" style="top: 20%; right: 10%;">LOX Preburner Feed</span>
<span class="annotation" style="bottom: 15%; left: 50%; transform: translateX(-50%);">Throat: Mach 1 Transition</span>
<span class="annotation" style="bottom: 5%; left: 20%;">Exhaust Plume: 3,400 m/s</span>
</div>
<p><strong>Regenerative Cooling Math:</strong> The fuel absorbs 42 MJ/kg of thermal load before injection. Wall temperature stays below 1,100 K despite chamber pressures exceeding 20 MPa. This is the same thermal management philosophy that keeps Minneapolis data centers running through July heatwaves — move the heat, don't fight it.</p>
</section>
<section class="section" id="minneapolis-testbed">
<h2>3. The Twin Cities Test Corridor</h2>
<p>If Vikram were to launch from a hypothetical St. Paul pad, the flight profile would map against our own geology. Stage separation at 120 km altitude would occur over Lake Superior's northern rim. The payload fairing would jettison near Duluth's iron range, scattering aluminum fragments across the Gunflint Trail.</p>
<div class="callout">
<strong>Local Constraint:</strong> Minneapolis winter mean temperature: 7°C. LOX boil-off rate increases 23% compared to equatorial launches. The gimbaling actuators must maintain precision through thermal contraction coefficients that would crack lesser alloys. This is why I built the Monte Carlo winter load simulator last cycle — <a href="/winter-load-sim.html" style="color: var(--blood-orange);">see the stochastic wind shear models</a>.
</div>
</section>
<footer>
<p>Built by Anthony Figueroa, Minneapolis • Systems Architect bridging AWS pipelines and acoustic guitar harmonics</p>
<div class="data-twin">
Agent-legible twin: <a href="/orbital-vikram.json" style="color: var(--ink);">orbital-vikram.json</a> • Source: <a href="#" style="color: var(--ink);">4ort.repo/anthony-figueroa/vikram-physics</a>
</div>
</footer>
</main>
<nav class="nav-rail">
<div class="nav-dot active" onclick="document.getElementById('origins').scrollIntoView()"></div>
<div class="nav-dot" onclick="document.getElementById('thermodynamics').scrollIntoView()"></div>
<div class="nav-dot" onclick="document.getElementById('minneapolis-testbed').scrollIntoView()"></div>
</nav>
</body>
</html>