SpelSim Description
Spelsim 1.0.0
December 28, 2007
Back to the simulator page.
Contents
SpelSim is a Space Elevator calculator and simulator.
You can select values for all of the key parameters of the system,
and the program will calculate and display the key values of the
space elevator cable under those conditions.
You can then simulate the rotation of the cable with the planet,
with a visual presentation of the cable plus additional
graphs displaying cable parameters such as stress.
You can simulate cable breakage events and see what happens to the pieces.
All numbers are expressed in the MKS system,
using meters (m), kilograms (kg), and seconds (s).
Units for a field are shown to the right of the value.
Fields which display no units to the right of the value are unitless.
The notation (m^2) means meters squared;
m/(s^2) means meters per second squared.
SpelSim presents four tabs:
Cable,
Elements,
Events and
Simulate.
Start with the Cable tab to set the parameters for the planet,
material, and cable to allow SpelSim to calculate the rest
of the cable values.
After setting up the cable, you can inspect the individual elements
of the cable using the Elements tab, or start the visual simulation
in the Simulate tab.
The Cable tab is divided into three panels, one each for
- Planet (around which the cable orbits)
- Material (of which the cable is composed)
- Cable (for the configuration of the cable)
Each panel is headed by the corresponding keyword in bold.
To the right of the bold label in each panel
is a preselected set of known items from which you can choose.
If you wish to set your own values for that panel, select the "custom" entry.
Editable fields in that panel will turn white.
Output-only fields will stay gray, and have italic labels.
These fields contain values which are calculated based on your inputs.
To change a value, select the "custom" entry for that panel,
edit the value in the desired field, or delete it and type in a new value,
and press Enter.
When you press Enter, all of the output-only values will be
recalculated and displayed.
If the values you select do not give a sensible answer,
you may see question marks in some fields.
For example, if you select a weak material on a planet with strong gravity
and slow rotation, the required values may exceed what can be represented
in a double variable (about 10^300), so you will get question marks for the
cable values.
You can select values for the following planet parameters:
- Mass - mass of the planet in kilograms.
- Radius - radius of the planet in meters.
This will affect the calculation of surface gravity and all of the
altitude numbers.
Note that in reality, planets are not perfectly spherical, so do not
have just one simple radius.
Real rotating planets bulge slightly at the equator due to the rotation,
and have other nonuniformities (such as a mountains or continental plates)
that lead to deviations from a perfect sphere.
This simulation ignores these details, but note that this can have an
effect on some of the numbers, especially the calculated altitudes,
which might thus be off a small amount from the values you expect.
- Period - period of rotation in seconds.
If you want to know the rate of rotation expression in radians per second,
divide 2*pi by the rotation period.
This is the sidereal rotation; note that the period of Earth is slightly
less than one full day because the Earth is moving around the Sun at the
same time as it rotates around its own axis.
The following values for the planet are calculated and displayed:
- Surface gravity - in meters per second squared (acceleration).
Calculated as G*M/(r^2), where
G is the universal gravitational constant (6.6e-11 kg*(m^3)/(s^2)),
M is the mass of the planet,
and r is the radius of the planet.
This value does not take into account the apparent centrifugal force
caused by the rotation of the planet.
- Density - in kilograms per cubic meter.
Calculated as M/V where M is the mass of the planet and V is its volume,
where V is (4/3)*PI*(r^3) where r is the radius of the planet.
This is an average density for the whole planet.
In reality, most planets are denser at their core and less dense at
their surface.
- Synchronous altitude - the height in meters above the surface of the planet
at which a satellite orbiting in the planet's equatorial plane
will appear from the planet to remain in a stationary point in the sky.
Calculated as G*M*(p^2)/4*(PI^2)-r where
G is the universal gravitational constant,
M is the mass of the planet,
r is the radius of the planet.
and p is the period of rotation of the planet.
Note that the calculated synchronous altitude for Earth is 35,793 km
rather than the standard 35,786 km.
This is due to inaccuracies in the model caused by assumptions such as
that the planet is a perfect sphere.
For comments about the values used for the known planets,
download the kit, unpack the source, and look in the file
src/net/jimmc/spelsim/Planet.java.
You can select values for the following material parameters:
- Strength - the tensile strength of the material in Pascals.
1 Pascal = 1 Newton per meter squared.
1 Newton = 1 kg*m/(s^2), so 1 Pascal = 1 kg/(m*s^2).
For real world materials, the strength can vary quite a bit depending
on which formulation of that material is used.
For example, there are different kinds of Nylon that range in strength
from 20 to 200 MPa (mega-Pascals).
- Density - in kilograms per meter cubed.
- Young's Modulus - the stiffness of the material in Pascals.
The following values for the material are calculated and displayed:
- Yield Strain - Yield Strength divided by Young's Modulus.
You can select values for the following cable parameters:
- Capacity - the amount of mass the cable is capable of lifting from
the surface of the planet, in kilograms.
Changing this number by a constant factor C will change the base area
and cable mass by that same factor C, but nothing else will change.
- Length - the total length of the cable in meters.
As the cable is made longer, the required counterweight at the other
end becomes smaller.
In real life, there comes a point where the cable tapers off to such
a small size that it can't practically be made any longer.
This simulation, however, merely continues to make the cable thickness
smaller and smaller as the cable goes out.
Note that with a large cable length, the counterweight mass (see CW/Mass)
can be extremely small.
For slowly rotating planets such as Luna or Mercury, you will need a
much longer cable.
- Safety Factor - the derating factor to use on the strength of the
material selected for the cable.
If you select a material with a strength of 100, you don't want to design
the cable to assume a strength of 100, since any small errors can put you
past the strength of the material and it will break.
The Safety Factor field allows you to select how much of a safety buffer
you want to have.
The maximum design stress used in the cable is the material strength
divided by the safety factor.
- Finite Elements - the number of elements the program should use when
performing its calculations and simulations.
A larger number gives more accurate results in this panel, but can cause
problems during simulation (see the discussion below).
A value of 10,000 will give you good results for the cable values,
but you will probably not be able to simulate that many segments.
Most of the below values for the cable
are calculated numerically rather than functionally.
The cable length is divided into a large number of separate elements
which are treated as point masses connected by a massless cable.
Today's computers are fast enough to do this calculation quickly
even when using many thousands of elements to model the cable.
The following values for the cable are calculated and displayed:
- Mass - total mass of the cable.
- CW/Mass - the ratio of the counterweight mass at the end of the cable
to the cable mass.
As the cable gets longer, this number gets smaller.
If the cable is exactly the same length as synchronous altitude,
then counterweight mass and thus the CW/Mass ratio is infinite.
If the cable is shorter than synchronous altitude, then the
counterweight mass would have to be negative in order to keep the
cable up. You will see this as a negative CW/Mass value; this tells
you that the cable will not stay in synchronous orbit because
it is too short.
- Base Area - the area of the cross section of the base of the cable in
square meters.
This is calculated as (C*g)/(S/F) where
C is the cable capacity,
g is the gravity at the base of the cable (the planet's surface gravity),
S is the material strength,
and F is the safety factor.
- Taper - the ratio of the area of the cross section at
the thickest part of the cable (at synchronous altitude)
to the base area.
Stronger and lighter materials give a smaller taper, which is crucial
to the feasibility of building a working cable, since a large taper
means a large mass.
Note also that a smaller safety factor gives a smaller taper.
- C of Gravity - the altitude in meters above the surface of the planet
of the center of gravity of the cable and counterweight.
Note that this value is below the center of mass.
- C of Mass - the altitude in meters above the surface of the planet
of the center of mass of the cable and counterweight.
- C of Centrifugal - the altitude in meters above the surface of the planet
of the "center of centrifugal force" of the cable and counterweight.
Note that this is above the synchronous altitude
and above the center of mass.
The fact that the center of centrifugal force is above the center of
gravitational force means there will be a torque on the cable any time
it strays from vertical, and that torque will tend to keep the cable
vertical.
The Elements tab allows you to inspect the individual elements of the table.
You can examine the static values for element mass and cross-section,
and the dynamic values (of the simulation) for stress (at the bottom
of the list), acceleration, velocity,
and position.
This panel also displays the "ideal" acceleration, velocity and position,
which are the values that this element "should" have if the element
calculations and simulations were "perfect".
These values are calculated by taking the initial values and rotating them
by the amount of rotation of the planet.
The difference between the ideal and actual values are listed as the
drift values.
By looking at these values, you can get an idea of how well behaved the
simulation is running.
All vector values are displayed in both rectangular and polar coordinates,
where the center of rotation of the planet is the origin of both
coordinate systems.
The Elements panel gets a list of elements and displays one of them.
You can change which one is displayed by entering an index number into
the Index field, or by using the + and - buttons to move to the next
or previous element in the list.
You can modify which elements appear in the list by changing the
values in the Filter Parameters panel on the left side of the tab.
The Events tab allows you to specify events that affect the simulation.
For each event, you can specify the time at which that event occurs,
the type of event, and the arguments for that type of event.
There is currently only one type of event: Break.
This event type takes a single integer argument, which is the index of
the cable element to be broken at the specified time point.
You can delete events by pressing the Delete button next to the event,
or add new events by pressing the Add Event button at the top of the tab.
Events are executed in time order, independent of the order they appear
in the list.
The Simulate tab allows you to simulate the rotation of the planet
and cable.
This tab is divided into four areas:
- Across the top of the tab are the control buttons:
Run, Stop, Step and Reset.
- Below the control buttons on the left side are the simulation control
parameters and output data.
Click on the Parameters button
to see and change the
simulation control parameters.
Click on the Status button
to see dynamic information about the simulation as it runs.
- In the lower left corner are the Line Charts.
Click on the Setup button
to control which data values are displayed in the chart.
Click on the Chart button to view the chart.
- On the right side is the visual simulation window.
The cable is color-coded according to stress:
when operating at the design load, the color is yellow.
As the stress drops from there to zero, the color goes from blue to green.
At zero stress (which probably means the cable is broken),
the color is black.
As the stress goes up from the design load,
the color goes from pink to red.
You can control the following parameters of the simulation:
- Sim Step Size - the size in seconds of each simulated step.
- Ticks per seconds - the number of simulation ticks to perform in each
second of real time.
This is of course limited by the speed of your computer.
- Damping factor - the cable is modeled as a set of connected springs
and masses.
The damping factor adds damping in parallel with the spring.
This can simulate real damping, but is also used to compensate
for physical inaccuracies caused by discrete simulation
(see Notes below).
A damping factor of 1.0 will damp out all movement in the direction of
the spring tension after each simulation step.
- CW Derating - the amount by which to reduce the effective mass of the
counterweight when simulating.
This is to compensate for physical inaccuracies cause by
the discrete simulation (see Notes below).
- Ground Drag - a drag factor that reduces the velocity of elements
that are grounded (have fallen to the planet surface due to cable
breakage).
This is implemented in a too-simple way, so large values will cause
distinctly non-physical behavior.
- Max Refresh Rate - the maximum number of times per second that the
simulator will attempt to update the screen display.
If this number is larger than Ticks Per Second (and your computer
is fast enough to keep up with that number), then the display will
be updated after every simulation tick.
By setting the refresh rate to a lower number, you can allow your
computer to spend more time simulating and less time updating the
screen at a rate too fast for you to see anyway.
- View Scale - how much of the universe you will see in the display window.
Fixed will show you all of the original cable orbit.
Planet will show you a close up of the planet, which can be
interesting if the cable is falling onto it.
Bounding will zoom out or in to ensure that you can see everything.
This is useful if you want to see what happens to the top of a
broken cable.
- Perspective - Sidereal will show you the planet rotating.
Planet will show you the universe rotating.
- Algorithm - the simulation algorithm to use.
Forward is the standard and simple Euler forward integration.
Trapezoidal is a slightly more complicated method that should
theoretically give better accuracy, at a cost of about twice as
many calculations.
Circular is an approach that assumes that motion in an interval
is circular, and calculates using that assumption and an approach
somewhat like Trapezoidal.
- Debug Output - controls whether some debug output is printed to
stdout. Mainly useful to the developer.
The Line Charts area lets you see various simulation parameters as a function
of the element number.
The small circle on the left end of the chart represents the planet.
The horizontal axis is the element number, with the right end of the
axis representing the last (topmost) element of the cable.
To select which data items to display in the chart,
click on the Setup button, then click on the checkboxes to toggle
them on for the items you want to display.
Click on the Chart button to view the selected data.
Each item is displayed in a different color and labeled at the top of
the Line Chart.
To bring a specific line to the top, click on the label for that line.
The number to the right of the label for each item is the value of the
top of the chart (on the Y axis) for that item.
For all angle data, the max Y value is always PI.
For all other data, the max Y value is auto-scaled so that the
maximum magnitude value of that data is at the top or bottom of the chart.
This simulation is done using discrete elements.
This introduces artificial high frequency components into the cable dynamics,
which in turn causes inaccuracies in the results.
There are two parameters which allow for some compensation:
the Damping Factor and the Counterweight Derating.
If you change any of cable parameters, the number of cable elements
or the simulation step size, you can play with these two values to
see if you can improve the accuracy of the simulation.
In any case, using larger step sizes and smaller element lengths
will result in less stability, so the simulation is likely to diverge
soon.
This typically results in spectacular mass breakage, which can be fun
to watch on the screen, but is probably not realistic.
(Try running with 1000 elements, step size 10, damping 0 and
CW derating 0.)
In general, you should view these simulations with a grain of salt.
Back to the simulator page.