Part of the Grand Unified FTL series.
WARNING: this article may contain numbers.
Previously
We looked at sending a person as information from one place to another.
How Warp Works
A bubble of spacetime wraps around the starship, expanding space behind the ship and contracting it in front, effectively propelling it forward at speeds exceeding the speed of light. The ship remains in a stable region of spacetime where normal physics still works. Sound like something out of Star Trek? It is, but a physicist thinks it could work … assuming such things as negative mass and sub-vacuum energy existed.
Good enough for me.
Questions About Warp
What determines a ship’s maximum speed (or “Warp Factor”)?
The ship moves only as fast as the differential between the expanding space behind and the contracting space ahead. This, in turn, depends on how much negative energy (or mass) the ship can put out and the resistance from spacetime. Of course, if there were a space beyond realspace maybe the ship can propel itself along that.
What about interstellar debris and objects in the way?
We will presume that smaller dust and debris gets pushed out of the way or simply annihilated at the interface between the warp bubble and realspace.
Larger masses are a problem. For simplicity we will assume a head-on collision with a larger mass will pop the warp bubble, followed soon after by the ship colliding at sub-light speeds with the object in the way.
Can ships fall out of Warp? What happens?
When a ship falls out of warp, the spacetime turbulence propels it forward at sub-light speeds and the ship tumbles randomly through normal space. The first priority of the captain is, therefore, to cancel the random velocity and spin of the ship by firing thrusters (or their equivalent). The second priority is to figure out where they are and how, without a Warp Drive, they plan to get to the nearest starport.
Can other ships at Warp attack a ship at Warp? Are there restrictions?
I’m going to assume the interface between the warp bubble and realspace is too chaotic for ordinary weapons or missiles to penetrate. Even lasers and particle beams would simply bend through the curved space.
However, I’ll posit there are two ways to attack a ship at Warp:
- Ram the ship with another vessel in a warp bubble. The two bubbles will merge, and the attacking vessel can use ordinary weapons against it.
- Find a weapon that can reach into the warp bubble without crossing the bent spacetime around the ship.
The first is the principle behind the “warp torpedo”, an ultra-small, disposable warp-capable drone that can penetrate a warp bubble and detonate.
The second is what I elsewhere called “Exo-Weapons”: exotic particles that move through some other dimension, bypassing the conditions in realspace. However, any form of teleportation that doesn’t require a “beam” between the source and destination would do just as well.
Warp Factors
In Star Trek ships seem to move at the speed of plot, no matter what Warp Factor the helmsman uses or the official conversion table says.
Below I’ve put together my own Warp Factor table using the simple equation
w = 1 + log(v/c)/X
or conversely
v[c] = v/c = exp(X * (w-1))
where
w
is the Warp Factor,
v
is the velocity,
c
is the speed of light,
v[c]
(v-sub-c) is the velocity as a multiple of the speed of light,
log(
y)
is the natural logarithm of y,
exp(
y)
is its inverse e^y,
and X
is a made-up “Xin factor”1 named after a guy named Xin2.
Warp Factor 0 is the maximum speed the ship can go using what Star Trek calls “impulse drive” and what I call STL Warp. On my scale Warp 10 isn’t the fastest possible, being everywhere at once simultaneously speed, as it is in post-Next Generation shows … but it is pretty fast.
The table below works out the speeds for each Warp Factor in terms of C and km/s and the time it would take to cross 1 light-year, 1000 light-years, and the diameter of our Milky Way galaxy if not for those gravity wells. For fun I also worked out the fractional factors often cited in Voyager and Prodigy. They’re faster, but not by that much comparatively.
Warp | Speed (C) | Speed (km/s) | 1 LY | 1000 LY | Milky Way |
---|---|---|---|---|---|
0 | 0.20 | 5.944e+04 | 5.04 y | 5.04 ky | 441 ky |
1 | 1.00 | 2.998e+05 | 1 y | 1 ky | 87.4 ky |
2 | 5.04 | 1.512e+06 | 72.4 d | 198 y | 17.3 ky |
3 | 25.43 | 7.624e+06 | 14.4 d | 39.3 y | 3.44 ky |
4 | 128.25 | 3.845e+07 | 2.85 d | 7.8 y | 681 y |
5 | 646.78 | 1.939e+08 | 13.6 hr | 1.55 y | 135 y |
6 | 3261.69 | 9.778e+08 | 2.69 hr | 112 d | 26.8 y |
7 | 16448.67 | 4.931e+09 | 32 min | 22.2 d | 5.31 y |
8 | 82950.56 | 2.487e+10 | 6.34 min | 4.4 d | 1.05 y |
9 | 418319.18 | 1.254e+11 | 1.26 min | 21 hr | 76.3 d |
9.5 | 939403.14 | 2.816e+11 | 33.6 s | 9.33 hr | 34 d |
9.75 | 1407745.43 | 4.220e+11 | 22.4 s | 6.23 hr | 22.7 d |
9.9 | 1794433.62 | 5.379e+11 | 17.6 s | 4.89 hr | 17.8 d |
9.95 | 1945637.02 | 5.832e+11 | 16.2 s | 4.51 hr | 16.4 d |
9.99 | 2075722.82 | 6.222e+11 | 15.2 s | 4.22 hr | 15.4 d |
10 | 2109581.20 | 6.324e+11 | 15 s | 4.16 hr | 15.1 d |
Using these Warp Factors Voyager would have gotten home much sooner. At my Warp 9 they would have gotten home in 120 days3.
Warp Variations
Warp Space
Warp Space combines Hyperspace, Jump, and Warp. In this variant ships at warp exit realspace entirely. Travel still isn’t instantaneous, although travel time is proportional only to the realspace distance between two points.
At higher speeds travel through this Warp Space requires the constant attention of an astrogator to navigate the eddies and currents of this medium. Thus travel time – and safety – depend upon the pilot’s skill. Also, since most beings can concentrate intensely for only a few hours, ships have to exit Warp Space periodically, almost like a Jump Drive.
Examples in fiction include “slipstream” in Star Trek and Andromeda, possibly the Guild Steersmen of Dune and its sequels, the hyperspace drive in Space Battleship Yamato (a.k.a. Star Blazers), the “Sords” of Crest of the Stars (minus the pilot checks), and the hyperspace gates of Cowboy Bebop and The Hitchhiker’s Guide to the Galaxy.
Next
We come to the end of this series.
Appendix C: Warp Table Generator
This Lua program creates the warp factor table above.
#!/usr/bin/env lua
--[[
Calculate speeds, distances, and travel times based on a fictional
but well defined "warp factor", similar to but legally distinct from
the ones in _Star Trek_.
]]
-- The "Xin Constant" in the Warp Factor calculation
local XIN <const> = 1.618
-- The speed at Warp `w` as a multiple of the speed of light
local function warp(w)
return math.exp(XIN * (w-1))
end
--[[
DISPLAY ROUTINES BEYOND THIS POINT
]]
-- Kilometers per light year
local KM_PER_LY <const> = 9.46e12
-- Width of Milky Way in LY
local MILKY_WAY <const> = 87400
-- Seconds in a year (average)
local S_IN_Y <const> = 60*60*24*365.25
-- The shortest interval possible in physics
local PLANCK_TIME = 5.39e-44
-- Seconds per time unit
local S_PER_UNIT <const> = {
{ S_IN_Y * 1000, "ky" }, -- seconds per kiloyear
{ S_IN_Y, "y" }, -- seconds per year
{ 60*60*24, "d" }, -- seconds per day
{ 60*60, "hr" }, -- seconds per hour
{ 60, "min" }, -- seconds per day
{ 1, "s" }, -- seconds per second (!)
{ 1e-3, "ms" }, -- milliseconds
{ 1e-9, "ns" }, -- nanoseconds
{ 1e-12, "ps" }, -- picoseconds
{ 1e-24, "ys" }, -- yottoseconds
{ 1e-30, "qs" }, -- quectoseconds
{ PLANCK_TIME, "t(P)" }
}
-- Convert `s` seconds into the largest sensible time unit
local function largest_unit(s)
local u, ut
for i, unit in ipairs(S_PER_UNIT) do
ut, u = unit[1], unit[2]
if ut <= s then
break;
end
end
return string.format("%4.3g %-3s", s/ut, u)
end
local function print_header()
print("| Warp | Speed (C) | Speed (km/s) | 1 LY | 1000 LY | Milky Way")
print("|:----:|----------:|-------------:|:----:|:-------:|:---------:")
end
local function print_row(w)
local vc = warp(w)
local tly = S_IN_Y / vc
print(string.format("| %4.3g | %10.2f | %5.3e | %s | %s | %s",
w,
vc,
vc * KM_PER_LY / S_IN_Y,
largest_unit(tly),
largest_unit(1000 * tly),
largest_unit(MILKY_WAY * tly)
))
end
print_header()
for w = 0, 9 do
print_row(w)
end
print_row(9.5)
print_row(9.75)
print_row(9.9)
print_row(9.95)
print_row(9.99)
print_row(10)