# Submarine
## Microsim
### Live player
<div class="microsim-player">
<iframe src="https://editor.p5js.org/sciencenibber/full/bYMDkih9c" width="100%" height="620" frameborder="0" sandbox="allow-scripts allow-same-origin"></iframe>
</div>
<div class="microsim-fallback">
<img src="Microsims/thumbs/Submarine.png" alt="Submarine microsim poster" style="width:100%;border:1px solid #4445;border-radius:6px;">
<p><em>Live microsim (desktop) · <a href="https://editor.p5js.org/sciencenibber/sketches/bYMDkih9c">open sketch in the p5.js editor</a></em></p>
</div>
**Editor URL:** https://editor.p5js.org/sciencenibber/sketches/bYMDkih9c
**Description (100 words):**
A submarine sets its depth with buoyancy, not thrust. The hull displaces a fixed volume of water, so the upward buoyant [[Force|force]] B = rho*g*V stays constant while submerged (Archimedes' principle). Flooding the ballast tanks adds seawater mass, raising the weight W = m*g; when W exceeds B the boat dives. Blowing the tanks with compressed air lowers the mass until W is less than B and the boat rises. The boat hovers — neutral buoyancy — exactly when total mass equals rho*V. Drag the ballast-fill slider and watch the weight and buoyancy arrows, depth, and [[Velocity|velocity]] respond in real time.
```js
// =====================================================================
// Article : Submarine
// Slug : Submarine
// Wikitube : en.wikitube.io/wiki/Submarine
// Room : Robotics
//
// Idea : A submarine controls its depth not with thrust but with
// buoyancy. Its hull displaces a fixed volume V of water, so
// the upward buoyant force B = rho * g * V is constant while
// submerged (Archimedes' principle). To dive, the crew floods
// the ballast tanks with seawater, raising the boat's total
// mass m and therefore its weight W = m * g; when W > B the
// boat sinks. To surface, compressed air blows the water back
// out, lowering m until W < B and the boat rises. The boat is
// "neutrally buoyant" — it hovers — exactly when m = rho * V.
// Drag a single slider for the ballast fill fraction and watch
// the weight/buoyancy arrows and the boat respond in real time.
//
// Equation : F_net = W - B = (m_hull + m_ballast) * g - rho * g * V
// Neutral buoyancy <=> m_hull + m_ballast = rho * V
// =====================================================================
// Rule §3 — single source of truth for the title/URL/save-name.
const ARTICLE = "Submarine";
// Rule §4 — disable the Friendly Error System for ship.
p5.disableFriendlyErrors = true;
// ---------- physical constants (SI) ----------
const G = 9.81; // gravitational acceleration, m/s^2
const RHO = 1025; // density of seawater, kg/m^3
const V_HULL = 10.0; // displaced hull volume, m^3 (constant, submerged)
const M_HULL = 8000; // dry hull mass, kg
const BALLAST_CAP = 5000; // max seawater the tanks can hold, kg
const DRAG_C = 9000; // quadratic drag coeff (illustrative, N per (m/s)^2)
// Buoyant force is constant while fully submerged.
const B_FORCE = RHO * G * V_HULL; // newtons
// Ballast (kg) that makes the boat exactly neutral: m_hull + b = rho*V.
const B_NEUTRAL_KG = RHO * V_HULL - M_HULL; // kg
const B_NEUTRAL_PCT = 100 * B_NEUTRAL_KG / BALLAST_CAP; // % fill for neutral
// ---------- world / depth mapping ----------
const DEPTH_MAX = 80; // metres of water column shown
let ySurf, ySea, pxPerM; // computed in setup() from canvas height
// ---------- runtime state ----------
let depth = 12; // current depth of the boat's centre, metres (down positive)
let vel = 0; // vertical velocity, m/s (down positive)
let bSlider; // ballast fill control
let resetBtn; // re-centre the boat at rest
let bubbles = []; // rising air bubbles shown while tanks are being blown
let lastFill = 0; // previous fill %, to detect "blowing" (fill decreasing)
function setup() {
// Rule §5 — canvas inside setup, standard size, 2x density.
createCanvas(720, 520);
pixelDensity(2);
// Layout: a thin sky band on top, the water column below it.
ySurf = 70; // y of the sea surface
ySea = height - 18; // y of the seabed
pxPerM = (ySea - ySurf) / DEPTH_MAX;
// Rule §6 — one slider, range is mathematically meaningful: 0..100% of
// tank capacity. Default sits just below neutral so the boat gently rises.
bSlider = createSlider(0, 100, 40, 1);
bSlider.position(150, height - 32);
bSlider.style("width", "240px");
// A reset button to drop the boat back to rest at mid-depth.
resetBtn = createButton("reset");
resetBtn.position(410, height - 34);
resetBtn.mousePressed(function () { depth = 12; vel = 0; bubbles = []; });
}
function draw() {
background(248);
// ---------- read control ----------
const fillPct = bSlider.value(); // ballast fill, %
const mBallast = (fillPct / 100) * BALLAST_CAP; // kg of water in tanks
const mTotal = M_HULL + mBallast; // total boat mass, kg
const weight = mTotal * G; // downward weight, N
// ---------- physics: integrate vertical motion ----------
// Net downward force = weight - buoyancy - quadratic drag opposing motion.
const drag = DRAG_C * vel * Math.abs(vel); // opposes velocity, N
const fNet = weight - B_FORCE; // +down, -up (before drag)
const accel = (fNet - drag) / mTotal; // m/s^2, down positive
const dt = 1 / 60; // fixed step, s
vel += accel * dt;
depth += vel * dt;
// Clamp to surface and seabed; stop motion into the boundary.
if (depth < 0) { depth = 0; if (vel < 0) vel = 0; }
if (depth > DEPTH_MAX){ depth = DEPTH_MAX; if (vel > 0) vel = 0; }
// Spawn bubbles when the tanks are being blown (fill decreasing).
if (fillPct < lastFill - 0.001) spawnBubbles();
lastFill = fillPct;
// ---------- draw the sea (rule §8 layer 1, neutral background) ----------
drawSea();
// ---------- draw the submarine + force arrows (layer 2) ----------
const yBoat = ySurf + depth * pxPerM;
drawForces(width * 0.5, yBoat, weight, B_FORCE);
drawSub(width * 0.5, yBoat, fillPct);
updateAndDrawBubbles();
// ---------- HUD watermark (rule §2) ----------
noStroke();
textFont("system-ui");
// §2a — top-left title block.
fill(20);
textSize(20);
textAlign(LEFT, TOP);
text("Submarine", 16, 12);
textSize(12);
fill(110);
text("Wikitube microsim - en.wikitube.io/wiki/" + ARTICLE, 16, 38);
// §2b — top-right control hints.
textAlign(RIGHT, TOP);
textSize(11);
fill(110);
text("slider: b (ballast fill, % of tank capacity)", width - 16, 12);
text("dive when b > " + B_NEUTRAL_PCT.toFixed(0) + "% , surface when b < " +
B_NEUTRAL_PCT.toFixed(0) + "%", width - 16, 28);
// §2c — bottom-left live readouts (canonical symbols, SI units).
textAlign(LEFT, BOTTOM);
textSize(13);
fill(20);
const state = Math.abs(fNet) < 50 ? "neutral"
: (fNet > 0 ? "diving" : "surfacing");
text("b = " + fillPct + " % m = " + mTotal.toFixed(0) + " kg", 16, height - 70);
fill(40, 90, 200);
text("B = " + (B_FORCE / 1000).toFixed(1) + " kN", 16, height - 52);
fill(220, 60, 60);
text("W = " + (weight / 1000).toFixed(1) + " kN", 150, height - 52);
fill(40);
text("F_net = " + (fNet / 1000).toFixed(1) + " kN (" + state + ")", 270, height - 52);
// Slider label (rule §7) — left of the slider, right-aligned.
textAlign(RIGHT, CENTER);
textSize(12);
fill(60);
text("b (ballast %)", 140, height - 32 + 9);
// Depth + velocity gauge, right side bottom area but above equation.
textAlign(RIGHT, BOTTOM);
textSize(13);
fill(20);
text("depth = " + depth.toFixed(1) + " m v = " + vel.toFixed(2) + " m/s",
width - 16, height - 28);
// §2d — bottom-right equation footer (ASCII only — see pitfalls.md).
textAlign(RIGHT, BOTTOM);
textSize(11);
fill(80);
text("F = W - B = (m_hull + b)*g - rho*g*V ; neutral when m = rho*V",
width - 16, height - 8);
}
// ---------- helpers (rule §10) ----------
// Sea: sky band, a graded blue water column, surface line and seabed.
function drawSea() {
noStroke();
fill(214, 230, 244); // sky
rect(0, 0, width, ySurf);
// simple vertical gradient for the water, darker with depth
for (let y = ySurf; y < ySea; y += 4) {
const t = (y - ySurf) / (ySea - ySurf);
fill(lerp(70, 18, t), lerp(130, 60, t), lerp(190, 110, t));
rect(0, y, width, 4);
}
stroke(235);
strokeWeight(1.5);
line(0, ySurf, width, ySurf); // surface
noStroke();
fill(70, 58, 40); // seabed
rect(0, ySea, width, height - ySea);
}
// Buoyancy (up, blue) and weight (down, red) arrows, scaled by magnitude.
function drawForces(x, y, weight, buoy) {
const scale = 0.00035; // px per newton
// buoyancy arrow points up from the boat top
drawArrow(x - 70, y, 0, -buoy * scale, color(40, 90, 200), "B");
// weight arrow points down from the boat bottom
drawArrow(x + 70, y, 0, weight * scale, color(220, 60, 60), "W");
}
function drawArrow(x, y, dx, dy, col, label) {
stroke(col);
strokeWeight(3);
line(x, y, x + dx, y + dy);
const ex = x + dx, ey = y + dy;
const ang = Math.atan2(dy, dx);
const head = 8;
noStroke();
fill(col);
triangle(ex, ey,
ex - head * Math.cos(ang - 0.4), ey - head * Math.sin(ang - 0.4),
ex - head * Math.cos(ang + 0.4), ey - head * Math.sin(ang + 0.4));
textAlign(CENTER, CENTER);
textSize(12);
text(label, x + dx, ey + (dy < 0 ? -10 : 10));
}
// The boat: pressure hull, conning tower, and a ballast tank whose water
// level mirrors the slider so the cause (fill) and effect (motion) are
// visible together.
function drawSub(x, y, fillPct) {
push();
translate(x, y);
// pressure hull (capsule)
noStroke();
fill(60, 66, 74);
rectMode(CENTER);
rect(0, 0, 150, 38, 19);
// conning tower (sail)
rect(-6, -30, 26, 26, 5);
rect(-6, -46, 4, 14); // periscope
// ballast tank outline along the belly, with seawater fill
const tankW = 110, tankH = 12, tankY = 12;
stroke(200);
strokeWeight(1);
fill(30, 36, 44);
rect(0, tankY, tankW, tankH, 3);
// fill water from the bottom up
const wH = (fillPct / 100) * tankH;
noStroke();
fill(40, 120, 200, 220);
rect(0, tankY + (tankH - wH) / 2, tankW - 2, wH, 2);
rectMode(CORNER);
pop();
}
// ---------- bubble effects (cosmetic, shown while blowing ballast) ----------
function spawnBubbles() {
const yBoat = ySurf + depth * pxPerM;
for (let i = 0; i < 3; i++) {
bubbles.push({
x: width * 0.5 + random(-50, 50),
y: yBoat + random(-6, 14),
r: random(2, 5),
vy: random(0.6, 1.6)
});
}
if (bubbles.length > 120) bubbles.splice(0, bubbles.length - 120);
}
function updateAndDrawBubbles() {
noStroke();
fill(230, 240, 255, 150);
for (let i = bubbles.length - 1; i >= 0; i--) {
const b = bubbles[i];
b.y -= b.vy;
ellipse(b.x, b.y, b.r * 2);
if (b.y < ySurf) bubbles.splice(i, 1);
}
}
```
## Links (Wikipedia order)
<!-- injected from _registry/childlinks/Submarine.json (2026-07-30T02:09:12Z) -->
`1,2-Dichlorotetrafluoroethane` · `3D_printing` · `ABC_(newspaper)` · `Abacus` · `Accounting` · `Aerostat` · `Agricultural_machinery` · `Agriculture` · `Agronomy` · `Air_conditioning` · `Aircraft` · `Aircraft_carrier` · `Airlock` · `Airplane` · `Allied_submarines_in_the_Pacific_War` · `Allies_of_World_War_I` · `Allies_of_World_War_II` · [[Alloy]] · [[Alternating_current]] · `American_Civil_War` · `Amine_gas_treating` · `Anesthesia` · `Anti-ship_missile` · `Anti-submarine_warfare` · `Antibiotic` · `Applied_science` · `Appropriate_technology` · `Aqueduct_(water_supply)` · `Arch` · `Archimedes'_screw` · [[Architecture]] · `Armed_merchantman` · `Arms_industry` · [[Artificial_intelligence]] · `Assembly_line` · `Auguste_Piccard` · `Autonomous_underwater_vehicle` · `Auxiliary_ship` · `Axle` · `Balao-class_submarine` · `Ball_bearing` · `Ballistic_missile_submarine` · `Banknote` · `Barcelona` · `Barents_Sea` · `Barge` · `Barotrauma` · `Barque` · `Bathyscaphe` · `Battle_of_the_Atlantic` · `Battleship` · `Bearing_(mechanical)` · `Beaufort_Sea` · `Beer` · `Belt_(mechanical)` · `Biotechnology` · `Birth_control` · `Blackwater_(waste)` · `Blade` · `Block_and_tackle` · `Blockade` · `Blood_transfusion` · `Blue-water_navy` · `Boat` · `Book` · `Bread` · `Brick` · `Bridge` · `Bronze` · `Brown-water_navy` · `Buckling` · `Building` · `Bulk_carrier` · `Buoyancy` · `Business_Insider` · `CAM_ship` · `CRISPR_gene_editing` · `Caisson_(engineering)` · `Calculation` · `Calendar` · `Cam_(mechanism)` · `Cambridge_University_Press` · `Camera` · `Camouflage` · `Canal` · `Canoe` · `Capacitor` · `Capital_ship` · `Carbon_dioxide_scrubber` · `Carbon_monoxide` · `Carbon_steel` · `Carpentry` · `Casting` · `Catamaran` · `Catapult` · `Cement` · `Ceramic` · `Chain` · `Challenger_Deep` · `Charcoal_burner` · `Charles_A._Lockwood` · `Charles_V,_Holy_Roman_Emperor` · `Cheese` · `Chemical_synthesis` · `Chromatography` · `Chukchi_Sea` · `Circuit_breaker` · `Clay_Blair` · `Clean_technology` · `Client–server_model` · `Climate_change` · `Clock` · `Clothing` · `Clutch` · `Coin` · [[Cold_War]] · `Columbia-class_submarine` · `Combat_endurance` · `Combustion` · `Compass` · `Compiler` · `Compressed_air` · `Compressor` · `Computer` · `Computer_data_storage` · [[Computer_hardware]] · `Computer_mouse` · `Computer_network` · `Concrete` · `Construction` · `Container_ship` · `Cooking` · `Coracle` · `Cornelis_Drebbel` · `Corvette` · `Cosmetics` · `Crane_(machine)` · `Crane_vessel` · `Crash_dive` · `Criticism_of_technology` · `Cruise_missile` · `Cruiser` · `Cryptanalysis_of_the_Enigma` · `Cryptography` · `Cyprus` · `DSV_Alvin` · `Dam` · `Database` · `Davis_Strait` · `Decompression_sickness` · `Deep-submergence_rescue_vehicle` · `Deep-submergence_vehicle` · `Dentistry` · `Depth_charge` · `Design` · `Destroyer` · `Destroyer_escort` · `Destroyer_minesweeper` · `Detergent` · `Dichlorodifluoromethane` · `Diesel_fuel` · `Differential_(mechanical_device)` · [[Diffusion_of_innovations]] · `Diode` · `Direct_current` · `Dishwasher` · `Display_device` · [[Distillation]] · `Diving_bell` · `Domestication` · `Drag_(physics)` · `Dragon_boat` · `Dreadnought` · `Dreadnought-class_submarine` · `Dredging` · `Dye` · `Dynamite` · `East_Indiaman` · `Ecotechnology` · `Electric_battery` · `Electric_generator` · `Electric_light` · [[Electric_motor]] · [[Electrical_grid]] · `Electrical_network` · `Electricity` · `Electrolysis` · `Electromagnet` · `Electromagnetism` · `Electronic_warfare` · [[Electronics]] · `Elevator` · `Elizabeth,_New_Jersey` · `Email` · `Energy_development` · `Energy_storage` · `Engine` · [[Engineering]] · `Enigma_machine` · `Environmental_technology` · `Epicyclic_gearing` · `Equipment` · `Escape_trunk` · `Escort_carrier` · `Exocet` · `Explosive` · `Extremely_low_frequency` · `Falklands_War` · `Fast_attack_craft` · `Ferromagnetism` · `Ferry` · `Fertilizer` · `Film` · `Filtration` · `Fireboat` · `Fireworks` · `Flagship` · `Fluorescent_lamp` · `Fluyt` · `Flywheel` · `Food_storage` · `Forensic_science` · `Forestry` · `Fortification` · `Foundation_(engineering)` · `Four-bar_linkage` · `Fracking` · `French_Navy` · `Frigate` · `Frogman` · `Fuel_cell` · `Fuse_(electrical)` · `Futures_studies` · `Game` · `Gasoline` · `Gear` · [[Genetic_engineering]] · `Genetic_testing` · `George_Washington-class_submarine` · `Georgia_State_University` · `Geothermal_power` · `German_Navy` · `Germany` · `Gimbal` · `Glass` · `Global_Positioning_System` · `Gothenburg` · `Government_by_algorithm` · `Grafting` · `Graphics_software` · `Green-water_navy` · `Greywater` · `Guam` · `Gun` · `Gun_turret` · `Gunpowder` · `Gyroscope` · `Haber_process` · `Hall–Héroult_process` · `Hammer` · `Heat_exchanger` · `Heat_pump` · `Heavy_cruiser` · `Heavy_equipment` · `Heligoland` · `Hellmuth_Walter` · `Henri_Dupuy_de_Lôme` · `High_tech` · `Historic_England` · `History_of_technology` · `Home_appliance` · `Hospital` · `Hovercraft` · `Howard_Hughes` · `Human_error` · `Human_torpedo` · `Hydraulic_cylinder` · `Hydraulic_machinery` · `Hydraulic_manifold` · `Hydrofoil` · [[Hydrogen]] · `Hydrogen_peroxide` · `IDAS_(missile)` · `Imperial_Japanese_Navy` · `Imperial_War_Museum` · `Incandescent_light_bulb` · `Indian_Navy` · `Inductor` · `Inertial_navigation_system` · `Injection_moulding` · `Innovation` · `Integrated_circuit` · `Intellectual_property` · `Interchangeable_parts` · `Internal_combustion_engine` · `International_Atomic_Energy_Agency` · `Internet` · `Internet_Archive` · `Invention` · `Irrigation` · `Jackhammer` · `Jacques_Piccard` · `James_P._Delgado` · `James_VI_and_I` · `Japan_Maritime_Self-Defense_Force` · `Jerónimo_de_Ayanz_y_Beaumont` · `Jet_engine` · `John_Napier` · `Kayak` · `Kerosene` · `Knot_(unit)` · `Laboratory_glassware` · `Landing_craft` · `Laptev_Sea` · `Laser` · `Leg_mechanism` · `Lens` · `Lever` · `Lifeboat_(rescue)` · `Lifeboat_(shipboard)` · `Lightning_rod` · `Linkage_(mechanical)` · `Liquid_oxygen` · `List_of_submarine_classes_of_the_Royal_Navy` · `List_of_sunken_nuclear_submarines` · `Lithium-ion_battery` · `Lock_and_key` · [[Logistics]] · `Long_ton` · `Loom` · `Lost-wax_casting` · `Low_technology` · `Luddite` · `MEMS` · `Machine` · `Machine_tool` · `Magnetic_storage` · `Manganese_dioxide` · [[Manufacturing]] · `Map` · `Mariana_Trench` · `Marine_propulsion` · `Marine_salvage` · `Masonry` · `Mass_production` · `Massachusetts_Institute_of_Technology` · `Material` · `Mature_technology` · `Mechanism_(engineering)` · `Medical_imaging` · `Medication` · [[Medicine]] · `Merchant_aircraft_carrier` · `Merchant_ship` · [[Metallurgy]] · `Microscope` · `Microwave_oven` · `Mill_(grinding)` · `Minelayer` · `Minesweeper` · `Mining` · `Mirror` · `Mobile_phone` · `Modem` · `Money` · `Motherboard` · `Motor_vehicle` · `Multimeter` · `Musical_instrument` · `Nanomaterials` · `Nation` · `Natural_rubber` · `Naval_Submarine_Medical_Research_Laboratory` · `Naval_mine` · `Naval_ship` · `Naval_tactics` · `Naval_trawler` · `Navigation` · `Navy` · `Neo-Luddism` · `Neon_lighting` · `Newport,_Rhode_Island` · [[Nitrogen]] · `North_Sea` · `Northwest_Passage` · `Nuclear_marine_propulsion` · `Nuclear_navy` · `Nuclear_power` · `Nuclear_propulsion` · `Nuclear_reactor` · `Nuclear_submarine` · `Nuclear_technology` · `Nuclear_weapon` · `Ocean` · `Ocean_liner` · `Ohio-class_submarine` · `Oil_tanker` · `Operating_system` · `Optical_disc` · `Optical_fiber` · `Optical_instrument` · `Oscilloscope` · `Outline_of_technology` · `Oven` · `Oxford_English_Dictionary` · [[Oxygen]] · `Paddle_steamer` · `Paper` · `Particle_accelerator` · `Pascal_(unit)` · `Patent` · `Patrol_boat` · `Peer-to-peer` · [[Pendulum]] · `Periscope` · `Persuasive_technology` · `Pesticide` · `Philosophy_of_technology` · `Phonograph` · `Photography` · `Photovoltaics` · `Pigment` · `Piston` · `Plastic` · `Plough` · `Plumbing` · `Pneumatics` · `Poly(methyl_methacrylate)` · `Polymerase_chain_reaction` · `Portsmouth,_New_Hampshire` · `Potassium_chlorate` · `Potter's_wheel` · `Pottery` · `Pound_per_square_inch` · `Precautionary_principle` · `Printing_press` · `Prism_(optics)` · `Programming_language` · `Propeller` · `Prosthesis` · `Protected_cruiser` · `Pulley` · `Pump` · `Pump-jet` · `Q-ship` · `RMS_Lusitania` · `Rack_and_pinion` · `Radar` · `Radio` · `Rammed_earth` · `Reconnaissance` · `Recycling` · `Refrigeration` · `Refrigerator` · `Research_and_development` · `Resistor` · `Reverse_osmosis` · `Rivet_gun` · `Road` · `Robert_Fulton` · `Robotic_arm` · [[Robotics]] · `Rocket` · `Router_(computing)` · `Royal_Australian_Navy` · `Royal_Canadian_Navy` · `Royal_Navy` · `Royal_Navy_Submarine_Service` · `Russo-Japanese_War` · `SSM-N-8_Regulus` · `Saab_Kockums` · `Sailing` · `Salinity` · `Sanitation` · `Satellite` · `Scaffolding` · `Science_and_technology_studies` · `Science_policy` · `Screw` · `Scuba_set` · `Seaplane` · `Seaplane_tender` · `Secretary_of_State_for_Defence` · `Semi-submersible` · `Semiconductor` · `Separation_process` · `Sewing_machine` · `Shadoof` · `Ship` · `Simple_machine` · `Soap` · `Social_construction_of_technology` · `Social_media` · `Sodium_chlorate` · `Software` · `Solar_power` · `Sonar` · `Soviet_submarine_K-129_(1960)` · `Soviet_submarine_K-19` · `Soviet_submarine_K-219` · `Soviet_submarine_K-27` · `Soviet_submarine_K-431` · `Space_station` · `Space_suit` · `Spacecraft` · `Special_forces` · `Special_operations` · `Specific_strength` · `Spectrometer` · `Spinning_wheel` · `Spreadsheet` · `Spring_(device)` · `Stealth_technology` · [[Steel]] · `Stirling_engine` · `Stirrup` · `Stonemasonry` · `Strategy_of_Technology` · `Sub_Marine_Explorer` · `Submarine-launched_ballistic_missile` · `Submarine-launched_cruise_missile` · `Submarine_Escape_Immersion_Equipment` · `Submarine_canyon` · `Submarine_chaser` · `Submarine_depth_ratings` · `Submarine_films` · `Submarine_pipeline` · `Submarine_power_cable` · `Submarine_rescue_ship` · `Submarine_simulator` · `Submarine_tender` · `Submarine_warfare` · `Submersible` · `Surgery` · `Surveying` · `Sustainable_design` · [[Sustainable_engineering]] · `Sweden` · `Swedish_Navy` · `Switch` · `TNT` · `Tanker_(ship)` · `Techno-progressivism` · `Technocracy_movement` · `Technological_convergence` · `Technological_determinism` · `Technological_singularity` · `Technological_utopianism` · `Technology` · `Technology_acceptance_model` · `Technology_assessment` · `Technology_forecasting` · `Technology_transfer` · `Technorealism` · [[Telecommunications]] · `Telephone` · `Telescope` · `Television` · `Textile` · `The_Times_of_Israel` · `Thermocline` · `Time_(magazine)` · `Timeline_of_historic_inventions` · [[Titanium]] · `Toilet` · `Toledo,_Spain` · `Tool` · `Torpedo` · `Torpedo_Data_Computer` · `Touchscreen` · `Tower` · `Toy` · `Trade_secret` · `Train` · `Transformer` · `Transhumanism` · [[Transistor]] · `Transport` · `Trident_(missile)` · `Trieste_(bathyscaphe)` · `Tugboat` · `Tunnel` · `Turbine` · `Type_VII_submarine` · `Typewriter` · `U-boat` · `UGM-133_Trident_II` · `UGM-27_Polaris` · `UGM-73_Poseidon` · `USS_Nautilus_(SSN-571)` · `USS_Scorpion_(SSN-589)` · `USS_Thresher_(SSN-593)` · `Underwater_diving` · `Underwater_warfare` · `United_Kingdom` · `United_States_Naval_Academy` · `United_States_Navy` · `United_States_S-class_submarine` · `Unmanned_underwater_vehicle` · `Unrestricted_submarine_warfare` · `Vaccine` · `Vacuum_pump` · `Vacuum_tube` · `Valparaíso` · `Valve` · `Vickers` · `Video_game` · `Vladivostok` · `Vulcanization` · `Warship` · `Washing_machine` · `Watercraft` · `Weapon` · `Web_browser` · `Wedge` · `Welding` · `Wet_sub` · `Whaler` · `Wheel` · `Whippletree_(mechanism)` · `Windmill` · `Windsurfing` · `Wine` · `Wing` · `Wolfpack_(naval_tactic)` · `Word_processor` · `Working_animal` · `World_War_I` · `World_War_II` · `World_Wide_Web` · `Writing` · `Yacht` · [[Zinc]]
## From the Real GENERATIVE library

*Submarine — placed from the Real G.E.N.E.R.A.T.I.V.E. course library (STEM and Music room). Source: Wikimedia Commons (via Wikipedia article media). [Details & license](https://commons.wikimedia.org/wiki/File:US_Navy_040730-N-1234E-002_PCU_Virginia_%28SSN_774%29_returns_to_the_General_Dynamics_Electric_Boat_shipyard.jpg).*

*Animated: Submarine — placed from the Real G.E.N.E.R.A.T.I.V.E. course library (STEM and Music room). Source: Wikimedia Commons (via Wikipedia article media). [Details & license](https://commons.wikimedia.org/wiki/File:Submarine_Escape_Immersion_Equipment_suit.gif).*
> A submarine (or sub) is a watercraft capable of independent operation underwater. (It differs from a submersible, which has more limited underwater capability.)[2] The term “submarine” is also sometimes used historically or informally to refer to remotely operated vehicles and robots, or to medium-sized or smaller vessels (such as the midget submarine and th ([Wikipedia](https://en.wikipedia.org/wiki/Submarine))
<!-- REAL-GENERATIVE-MEDIA:END -->
<!-- LOCAL-MEDIA-PASS:START -->
## From the vault media library
!Submarine thumb.png
*Submarine — from the vault's own media holdings, placed 2026-07-09. MTN / Wikitube.io original · CC BY-SA 4.0.*
<!-- LOCAL-MEDIA-PASS:END -->
<!-- SIGN-SYSTEMS:START -->
**Semiotic universals** (the notations and alphabet letters this article speaks — each opens its canonical card): kanji radicals · force · probability · pressure · flow. Index: the glyph gallery · SEMIOTICS PORTAL.
<!-- SIGN-SYSTEMS:END -->
## Media (PD/CC)
<!-- MEDIA-DEPLOY:Submarine/Submarine_Escape_Immersion_Equipment_suit.gif -->
!Gif Library/Submarine/Submarine Escape Immersion Equipment suit.gif
*Submarine_Escape_Immersion_Equipment_suit.gif · Public domain*
<!-- /MEDIA-DEPLOY -->
> **Room:** [[Robotics]] · **Status:** ✅ shipped
## Overview
A submarine (or sub) is a watercraft capable of independent operation underwater. (It differs from a submersible, which has more limited underwater capability.)2 The term “submarine” is also sometimes used historically or informally to refer to remotely operated vehicles and robots, or to medium-sized or smaller vessels (such as the midget submarine and the wet sub). Submarines are referred to as boats rather than ships regardless of their size.3
_(Overview is shorter than 200 words; the pipeline should expand it from textbook context before publishing.)_
## See also
- Room hub: [[Robotics]]
- p5.js Editor conventions: P5 JS EDITOR
- Wiki root: MAIN
---
*Scaffolded by `generative-microsim` from row 21 of the Robotics sheet on 2026-06-04T12:59:38Z.*
<!-- REAL-GENERATIVE-MEDIA:START -->
<!-- CRAFT-LINK:START g12 -->
*Built to the [[WT!P5_js_Microsim_Master_Class|p5.js Master Class]].*
<!-- CRAFT-LINK:END -->
## Wikipedia : Wikitube
**Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Submarine) : [Wikitube](https://en.wikitube.io/wiki/Submarine)
## Previous hub tags
Tree parent: [[Oxygen]].
Legacy hubs: `GENERATIVE`.
---
*Sources: 1 legacy note. Minted wave 1, 2026-07-30 (v1.6 order).*