The rotating space station has become a staple of science fiction, most notably in Stanley Kubrik's 2001: A Space Odyssey, and in Elysium. It was first seriously proposed at Stanford University and has since become known as the Stanford Torus.
One thing I wondered is how big does a space station need to be to produce Earth-like gravity (9.8 m/s2)? It actually depends on how fast it is rotating.
I had a look online and found the equation I was looking for:
Acceleration = velocity2 / radius
So I came up with a Python program to help work it out. Given any two factors in that equation the program will calculate the third plus the period of rotation (how long it takes to make a complete rotation).
#!/usr/bin/python3
import mathprint ("Program for calculating stats of Stanford Torus")
rad = input("Please enter radius (m): ")
if rad == "": radGiven = False
elif int(rad) > 0:
radGiven = True
rad = float(rad)
circumf = 2 * math.pi * rad
else: print ("Invalid answer"); radGiven = Falseaccel = input("Please enter required centripetal acceleration (m/s2): ")
if accel == "": accelGiven = False
elif float(accel) > 0: accelGiven = True; accel = float(accel)
else: print ("Invalid answer"); accelGiven = Falseif accelGiven == True and radGiven == True:
veloc = math.sqrt(accel * rad)
period = circumf / veloc
print ("Velocity at edge is " + str(veloc) + "m/s")
print ("Period at edge is " + str(period) +"sec")
else:
period = input("Please enter period in sec: ")
if period == "": print("Not enough information for calculation")
elif float(period) > 0 and radGiven == True:
period = float(period)
veloc = circumf / period
print ("Velocity at edge is " +str(veloc) + "m/s")
accel = veloc * veloc / rad
print("Acceleration at edge is " + str(accel) + "m/s2")elif float(period) > 0 and accelGiven == True:
period = float(period)
veloc = period * accel
rad = veloc * veloc / accel
print ("Velocity at edge is " + str(veloc) + "m/s")
print ("Radius at edge is " + str(rad) + "m")
And here are some typical results.
======== RESTART: C:\Users\pc\Documents\Programming\StanfordTorus.py ========As you can see, entering a blank into the input for one of the factors will mean the program will try to calculate that missing factor.
Program for calculating stats of Stanford Torus
Please enter radius (m): 200
Please enter required centripetal acceleration (m/s2):
Please enter period in sec: 200
Velocity at edge is 6.283185307179586m/s
Acceleration at edge is 0.19739208802178715m/s2
>>>
======== RESTART: C:\Users\pc\Documents\Programming\StanfordTorus.py ========
Program for calculating stats of Stanford Torus
Please enter radius (m):
Please enter required centripetal acceleration (m/s2): 4.9
Please enter period in sec: 20
Velocity at edge is 98.0m/s
Radius at edge is 1959.9999999999998m
>>>
Importing the math module gives us a quick and accurate value of Pi, necessary for the velocity at the edge of the torus.
No comments:
Post a Comment