Mathematica Packages

The study notebooks are often self-contained. However, it is sometimes useful to place commonly used functions or more complex collections of functions into the Mathematica package format. The study download pages will indicate whether there is a dependency on one of these packages. For Mathematica Version 8, packages are typically installed at C:\Users\username\AppData\Roaming\Mathematica\Applications\spaceLaunch. This path, except for the final folder "spaceLaunch" is created when Mathematica is installed. From inside Mathematica, you can find your default path using the command $UserBaseDirectory. The packages are of little use if you do not have a full Mathematica license. However, they are in text form so it is possible to review the equations and functions.

chainDynamicModel.m - Chain Dynamic Model Revision date: June 27, 2012 User notes: chain_dynamic_model_guide.nb
The Chain Dynamic Model was written in order to study long, flexible structures such as tethers, kinetic towers, and earth-circling cables. The model discretizes a continuous cable or ribbon into a series of connected point masses, and then performs a time integration to determine the trajectory of the masses. The method allows one to examine the dynamic response and stability of these structures. A modeling function is provided that will generate a discrete model from a parametric description of the initial cable path, along with functional descriptions of the stiffness and linear density distributions. A gravity field can be added to the model. Revised on 6/27/2012 to fix problem with animated outputs persisting after the kernal is closed. 7/17/12 revision changed Integrate to NIntegrate in pathSubdivide. Integrate was taking too long when a complex function for area was passed. Changed call to FilterRules in chainHistory. Previous version failed if there were no user options.

ttas.m - Tall Tower Analysis System Revision date: May 1, 2012 User notes: tttas_users_guide.nb
Truss Tower Analysis System (TTAS) is a finite element based system for examining tall towers. It provides basic tools for rapidly building a tower from a user defined repeating unit combined with a functional description of the tower taper. There is a first-order optimization function that sizes each of the truss tubes for minimum weight considering strength, euler buckling, and local buckling constraints. The finite element system provides the individual tube loads, and computes an overal buckling eigenvalue. The analysis includes a model for wind loads, including atmospheric density as a function of height.

rocketSizing.m Revision date: December 15, 2011 User notes: rocket_designer.nb
Provided several functions that can be used to estimate the total mass, and system mass breakdown of a conventional single- or mult-stage rocket. The functions use the traditional Tsiolkovsky rocket equation to determine the ratio of intial to final mass. In addition, the user my define mass ratios for the propellant tanks, recovery systems, and propulsion system. The function use an iterative solution to find a working combination of masses for a given payload and final velocity. For mult-stage rockets, the user may either specify the staging velocities, or there is an optimization function for determining ideal staging velocity.

atmosphereModel.m Revision date: October 2, 2011 User notes: AtmosphereModel_Guide.nb
Major revision of atmoshere.m. The package now includes a direct implementation of the U.S Standard Atmosphere Model, along with an extended model by Jacchia that may be used for higher altitudes. The standard model gives the density, pressure, and temperature of the earth's atmosphere for any altitude, according to "US Standard Atmosphere, 1976" developed jointly by NOAA, NASA, and the USAF. Package uses the format presented at The 1977 Jacchia gives temperature and density up to 2500km, along with the concentration of various atomic and molecular species. The implementation is a simple interpolation of the Fortran code J77sri output. Note that function names have been changed since earlier version of package.

ellipticalOrbit.m Revision date: December 15, 2011
Classical equations for special two-body orbits where one body is much more massive than the other. Includes a numerical function for determine the orbit parameters that match a specified velocity and position vector at some point on the orbit path.

Dec 2011 Revision: Addition of time-of-flight function. Full package name made compatible with suggested installation path.

Motion of Many Bodies Under Gravitational Forces Revision date: August 8, 2013
This notebook defines functions that will integrate the motion of an abritrary number of bodies under mutual gravitational forces. It sets up the equations for integration using the built-in NDSolve function (the Mathematica numerical differential equation solver). User functions are defined within the notebook - this is not a true package. The method is practical for systems on the order of tens of interacting bodies. Problems can be defined in either two or three dimensions.

Non-Rocket Propulsion Links

And along the way, some personal commentary

General Interest and Collections

Guns and Ground Accelerators


Space Elevator

The space elevator is a cable that goes from geosynchronous orbit to the earth's surface. This is currently the most popular non-rocket concept, and it certainly holds much appeal. Once built, you can simply ride the cable into space. I don't plan to do any work on this scheme because the conceptual design is already very mature. Also, after working in composites all my career, I believe that the required materials are many decades away. The distance from theoretical strength of carbon nanotubes to usable strength of a macroscopic engineering material is much greater than generally recognized.

Kinetic Structures

I'm using the phrase "kinetic structures" to refer to concepts that use changes in momentum of a mass stream to support a structure

Atmosphere Harvesting


Some Miscellaneous Space Sites, Blogs, and Forums