SATFLY11.DOC for SATFLY11.BAS April 15, 1989
This program calculates 1st order drag effects on a satellite. This version
has display and control features to make it an educational tool.
Curiousity over changing numbers leads to exploratory behavior, hopefully.
To run the program, put it in the same directory or on the same disk
with BASICA.EXE, and type "basica satfly11"
(Don't use the quotes.)
If you don't have BASICA.EXE, you may use GWBASIC. Perhaps other basic
interpreters will work as well.
This program does not appear to run easily under QUICK BASIC. QUICK BASIC
doesn't respond well to the double precison calculations. Each calculation
within a "print using" statement in this program causes an error,
so I'm told by Dave Dilley, Chandler, Arizona.
A toggle allows increasing or decreasing the increment of time used in each
iteration of the force-energy-radius cycle of calculation. Use the toggle to
get to the reentry region quickly, then slow time down to see large drag
forces build up until they seem like a brick wall at the very end.
Five, 10, or 24 increments of time (depending on whether your machine is
XT, AT, or 386 class) are calculated before each screen update. This variation
reduces user boredom or overload.
Comparison with SKYLAB experience suggests the calculation is pretty good.
SKYLAB data: 1972 to 1979, 270nm initial altitude, 90,000 Kg, cross-section
250 meters squared (60 m2 nose on), standard atmosphere except near 1979 when
the sun was in its active period, and more active than nominal.
The displayed estimate for lifetime drifts some. However, the predicted life
compared to the time accumulated as the satellite descends to reentry is within
about 20% in most cases. Try some cases. The life prediction model uses a
simple projection of the slope of the orbital decay rate, adjusted by a factor
determined by running cases. The factors are quite similar over the altitude
range (50-1000 km). It's interesting such a simple approach works so well;
the atmosphere density behaves in an appealing way.
Three atmospheres are modelled: standard, high solar activity, and low solar
activity. The models use semilog fits between densities at selected altitudes.
The densities assumed in these models are:
Altitude(km) Density (Kg/m3) (with ratio to low solar activity case)
low solar activity standard high solar activity
0 1.22 1.22 1.22
100 5.6e-7 5.6e-7 x1 9.0e-7 x1.6
150 2.1e-9 2.1e-9 x1 3.2e-9 x1.5
200 1.5e-10 2.5e-10 x1.7 4.5e-10 x3
300 9.0e-12 1.9e-11 x2.1 5.0e-11 x5.5
400 3.0e-13 2.8e-12 x9.3 2.0e-11 x67
500 3.0e-14 5.2e-13 x17 5.2e-12 x170
600 5.0e-15 1.14e-13 x23 1.4e-12 x280
700 1.0e-15 3.1e-14 x31 6.0e-13 x600
800 1.5e-16 1.14e-14 x76 3.0e-13 x2000
900 8.0e-17 5.8e-15 x72 1.0e-13 x1200
1000 5.0e-17 3.6e-15 x72 5.0e-14 x1000
The high and low solar activity values were roughly read from a graph
by Joe Carroll of Energy Science Labs (1986). The values for low solar
activity over 500 km were my extrapolation off the limits of his graph.
The high and low solar activity densities are roughly consistent
with data in a 1985 vintage Brittanica. The standard values are
from the NASA Standard Atmosphere, 1976.
The straight-line nature of the semilog fit to the above points
which I used to make a model for this program causes an overestimation
of density between the altitudes shown above. However, the resulting
deviation probably doesn't exceed 15% for 150 km up.
The momentum exchange between the satellite and the atmosphere's mass
is presumed to leave the atmosphere mass at rest relative to the satellite.
Burnup is declared when the calculated altitude is 20 km. Most real satellites
burnup much higher, around 80 km. But the difference in time is small.
The calculation of drag does not take into account the rotation of
the earth, the sun-side heating of the atmosphere, or the 11 year cycle
of solar activity.
A good reference for a much more sophisticated drag model is
NASA JSC-22512, "The Programs TRAJ1 and TRAJ2," April 1987, by William Lear,
for T J Blucker, Navigation Analysis Section.
Bill, Michael, Daniel, and Brian Cuneo provided tough testing and creative
display refinements for this program. Thanks.
PROBLEMS OF POSSIBLE INTEREST TO THE STUDENT:
1) Start spherical rocks at the same altitude and see what their life is.
Use sizes ranging from a grain of sand to house size. You need to
figure out the cross section and mass for each case you select.
2) Start spherical balloons (low mass objects) at different altitudes
and note what their life is.
3) Figure out how big a rocky sphere needs to be to last a billion years
starting at 1000 nautical miles. Density of rock is about 2.5 grams/cm3,
which is 2,500 kilograms/meter cubed. Cross-section of a sphere is
pi times radius squared. Volume is 4/3 times pi times radius cubed.
Mass is density times volume. (In all three problems above you need
to find the mass and corresponding cross-section of a sphere.)
4) Find a smoother density description of the upper atmosphere. I think
the one used here is "lumpy" because of my coarseness in selecting values.
A better model will give better life prediction, I believe.
5) Toggle time until your computer would have to run 1000 years to get
The "D" or "E" which appears in some numbers means "ten to the".
3.24D+03 means 3.24 times ten to the +3 power (10 cubed, or 1000),
so 3.24D+03 is 3,240. What is 3.24D+05 ? (324,000). 3.24D+01 ? (32.4)
3.24D-04 means 3.24 times 10 to the -4 power,
so 3.24D-04 is 3.24 ten thousandths (.000324)
What is 5.234D-02 ? (0.05234) 6.8D-01 ? (0.68) 6.8D+00 ? (6.8)
I'll be pleased to answer any questions, if I can.
Bill Cuneo (301) 977-5778 21010 Delta Drive, Gaithersburg, MD 20882