# Category : Science and Education

Archive : SATFLY11.ZIP

Filename : SATFLY11.DOC

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

to reentry.

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

^z

Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/