I’m Back, and Multibody Motion

Well, I certainly didn’t mean to take such a long hiatus. And still nothing to profound to contribute. But just to prove I’m not dead, I’ve posted some playful work on using Mathematica to integrate the motion of many bodies with mutual gravitational influence. Certainly nothing novel, but if you wanted to solve for interesting multi-body dynamics in the Mathematica environment, I’ve written a fairly easy-to-use set of functions. See “Motion of Many Bodies Under Gravitational Forces” on the page http://alnaspaceprogram.org/bibliography.html.

The notebook includes some examples of Lagrange points and a demonstration with 7 bodies over a long simulation time. I had hoped to try some really complicated planetary systems, but it turns out that one needs some way to handle collisions. When two bodies pass very close to each other, the integration must reduce the time step size dramatically to maintain the error limits. This can effectively bring the simulation to a halt. A better approach would be to allow for a collision, with bodies merging. Because the notebook was a little side-study, I didn’t feel like getting into that level of coding. Besides, it’s been done other places.

The rest of this post is directed toward Mathematica programming, not space flight.

The notebook actually started as an investigation of using my own adaptive Runge Kutta integration code versus the built-in Mathematica NDSolve function for the numerical solution of differential equations. I thought I could write something more efficient for systems of equations expressed in vector form (honestly, at the beginning I didn’t thing NDSolve could handle vector systems). I turns out that NDSolve was faster, and certainly has better error handling than anything I was willing to write, so in the end I dropped my own integration scheme and just wrote some functions around NDSolve.

An annoyance with the notebook is a persistent problem with the animations not working when you first open the notebook in a fresh kernel. The SaveDefinitions option should force Mathematica so save all the definitions needed to run the animation, but it doesn’t appear to work. I’ve had problems with Manipulate and Animate not properly saving, and it’s always time consuming to figure out why. Again, not worth the effort to track down the problem for this particular study. Just evaluate the notebook to get all the animations to function.

Hopefully, I’ll get back to more regular posting. There are many new ideas to pursue, and lot’s of things I’ve left dangling.

Dynamic Calculations on Tethers

Since I’ve written a nifty chain dynamic model, it was time to look at some dynamic problems associated with rotovators. Someone coined the term “rotovator” to describe a rotating tether designed to dock with an upcoming spacecraft, and then release the spacecraft after a half-turn (or less) with a higher velocity, illustrated below.

A classical solution attributed to Hans Moravec gives a cross-sectional area distribution that results in a constant material stress. For a very idealized situation, this is a minimum mass design. The dynamic question addressed in this study is what happens when the spacecraft (the tether payload) releases. At release, there is a sudden drop in stress which propagates as a stress wave. The stress wave must ultimately be reflected at the far tip, which results in a higher stress than the equilibrium value. There are fairly simple ways of looking at stress waves (at least for constant area rods), but I wanted to do the numerical simulation for a couple of reasons. One, it was an opportunity to run the model with a variable cross-section tether with variable tensile force (stress is constant, force is not). Second, I wanted to see if anything unexpected happened with the rotating problem. For example, did the longitudinal wave find a way to couple with transverse motion? (Answer: no). The analysis notebook is in the main website. I left in all the Mathematica input so anyone interested could see how I set up the model. The results are what you might expect. The reflection at a free end basically doubles the tensile stress. This means that the equilibrium stress needs to be at least a factor of two below the material strength, along with additional factors-of-safety. The figure below shows an animation of the stress for one of the cases examined.The time-span of the plot covers one-half of a revolution of the rotovator. The animations require the Wolfram CDF Player plugin to view.

Design Case:  Material Characteristic Velocity (Sqrt[Strength/Density]) = 1.3 km/sec, Rotor Mass/Tip Mass = 406, Tip Velocity = 4 km/sec, Operating Stress = 3 GPa, Length CM to tip = 50 km, Sqrt[modulus/density] = 15 km/sec

Another dynamic problem considered in the study was the situation of a spacecraft docking with the tether with a slight mismatch in speed. I assumed that 20 m/sec to be a reasonable error in speed. This sets up a transverse motion in the tether. The point of the model was to see of this motion grew in some unusual or unbounded manner. In order to see the additional motion, I created a plot of the deviation from the rigid-body motion. The following animation is a plot of the displacement perpendicular to a rigid-body rotation. The maximum time in the simulation is equivalent to two full rotations. The plot shows that the initial 20 m/sec docking error quickly grows into a 2 km swing in the tether motion. Some active mechanism would be required to eventually damp this motion. Note that for this case, we have a assumed a lower tip velocity, which allows for a smaller mass ratio.

Design Case: Material Characteristic Velocity (Sqrt[Strength/Density]) = 1.3 km/sec, Rotor Mass/Tip Mass = 5.4, Tip Velocity = 2 km/sec, Operating Stress = 3 GPa, Length CM to tip = 50 km, Sqrt[modulus/density] = 15 km/sec

The simulations in the study did not include any damping. Besides material damping, my intuition is that a simple spring/damper combination at the far-end mass connection could go a long way to mitigating the stress doubling effect at reflection. The simulation also did not include a gravity gradient. For the curious; I was running these simulations with 200 nodes. The docking-error problem ran to a simulation time of 314 seconds (two full revolutions). The simulation required about 10 minutes of computation time on my elderly PC. So even though Mathematica is basically an interpretive language, it seems reasonably efficient for this fairly massive computation.

I’m not sure where I’m going next. It’s summer in Maine, and maybe it’s time to step away from the computer for a while.


Update to whip problem

I caught a bad input value in my example analyses of a whip from the last post. I used 0.5 GPa as a working strength for a carbon fiber tether. That might be equivalent to the operating strength for a multidirectional composite laminate using current technology, including a lot of reduction factors normally considered. But for the theoretical strength of a pure tension tether under idealized conditions, it’s way too conservative. For some quick numbers, type “tensile strength carbon fiber” into Wolfram Alpha. It generates the following table for fiber products ranked by tensile strength.

Having spent a lot of time trying to gather together composite data into a handbook (MIL-HDBK-17), I’m pretty impressed that Alpha can now pull together this information.

I’ll assume these are mean values for the fiber strengths. There is typically a wide statistical variation in carbon fiber strength which makes the allowable strength much lower. And there should be a factor-of-safety. For the study, I’ll be ambitious and use a working stress of 3000 MPa.

The whip study was updated using the new strength. Obviously, the new value makes the release velocity of the projectile significantly higher, and thus improves the viability of the idea.

I’ve only been away from composites for three years and already it’s possible for me to write down a bogus material property. I’ll blame the metric system. American structural engineers (at least of my age) think in English units. There’s always the danger of not spotting a bad number when converting the units.

Whips and Chains

As a kid, I played around with launching paper clips or folded bits of paper by placing the projectile in the middle of a piece of string, then quickly pulling on the ends of the string. With some practice, you can get some respectable velocity. Inevitably, I started to fantasize about using the same principal at a large scale to launch spacecraft. The figure below shows one possible configuration. Imagine two subsonic transports each trailing a tether that is attached to a projectile vehicle. At the beginning of the sequence, the transports begin to turn in opposite directions. A wave propagates down the tether, resulting in a whipping action that accelerates the projectile to a speed that is much larger than the original transport speed. As the tether pulls taught, the projectile reaches a maximum velocity and releases. At the same time, the two tethers disconnect from each other so that the transports do not yank themselves out of the sky. Pretty wild, and probably impractical, but the whole point of this blog and website is to numerically examine the possibilities. If I can prove it doesn’t work, then I don’t have to waste any more brain time imagining whipping payloads into space.

I now have some tools for simulating the process. The chain model discussed in the last posting works beautifully for setting up the problem (and thus my overly clever post title).  I didn’t spend a lot of time trying to optimize all the parameters. There is a study on the main website that goes into the details. Briefly, I assumed the initial speed of the transports was 300 m/sec (high subsonic speed), and the transports make a 2g turn (4.6 km turning radius). The tethers are graphite fiber, 14 km long, and 3.5 cm in diameter. The mass of a tether is 25,000 kg, which should be manageable for a 747 class transport. For a 1000 kg projectile, the simulation gave a 2.2 km/sec launch velocity. Pretty respectable. Note that I have not included aerodynamic drag. Drag will go up dramatically at supersonic speeds and that could well kill the whole idea. An animation of the tether trajectory is shown at the bottom of the post (visible if you have the Wolfram CDF add-on installed on your browser). In the animation, the red dot represents the payload. A velocity function is applied to the opposite end of the chain to simulate the path of the transports. In the simulation, the projectile is not actually released. We run the model a bit past the point of maximum velocity.

The trouble with the 2.2 km/sec launch is that just before the peak velocity, the stress in the tether is well above the possible strength of current materials. One trick is to release everything a bit before the peak. Releasing 2 seconds before the peak reduces the launch velocity to 1.1 km/sec, while keeping the tensile stress down to the range of possible. Thus, the whipping action can be used to magnify the transport speed by about a factor of three. Just before release, the acceleration of the projectile is around 15g’s; too high for people and delicate payloads. For the same tether and stress level, you can accelerate a 10,000 kg projectile to 870 m/sec.

In the end I failed to disprove the idea would work and thus exorcise the fantasy. At this level of simulation, it sort-of works, but there are lots of problems. As I mentioned, aerodynamic drag would be significant. Also, the simulation is two-dimensional. Even with aerodynamic lift, the tethers will drop below the altitude of the transports. And in the end, it is not clear whether flying multiple transports and dealing with long cables could be justified to gain a 800 m/sec kick-start on the way to orbit.

I did find one reference to a vaguely similar concept posted by Dmytry Lavrovon the web. He mentions a student competition paper, but I was not able to find the original paper. His study involved propagating waves on a tether as an accelerator, but in a space vacuum. Another distant relative is called the Kinetics Interchange TEther (KITE) Launcher which has a patent application by Dana Johansen. As the Kite name implies, it uses a combination of aerodynamic forces and a tether connected to a large transport to build up a projectile velocity larger than the transport initial velocity.


A New Chain Model and Earth-Circling Rings

Once again, instead of a logical progression on any of the topics that I’ve already started, I got interested in the dynamic analysis of flexible structures using a chain model. A “chain model”, is a discretization into a series of point masses connected by elastic bars. Using numerical integration, the trajectory of each of the masses can be tracked in time. The model is useful for a more detailed look at various tether problems, and for the whole class of dynamic structures. I wrote a Mathematica software package to perform this type of analysis in a fairly general way.  The package is called chainDynamicModel.m, and it is available for download on the website Resources page.

I’ve been meaning to address the whole world of dynamic structures; sometimes called kinetic structures. These concepts use changes in the direction of a momentum stream to generate forces that can be used to support a structure. For example. consider a stream of high-speed projectiles that move vertically through an evacuated tube, using some form of levitation to avoid touching the walls. At the top, we somehow reverse the direction of the stream and pass the projectiles downward through another tube. The reversal in direction must be balanced by a force that in turn keeps the tubes in tension. A neat way to make a tall tower. Besides towers, it is easy to envision giant loops that are partially on the ground and partially high in the atmosphere. The largest loop would encircle the entire earth. I give a bibliography of some papers and other sources on a new website page devoted to dynamic structures.

An earth-circling ring has been proposed by a several authors, starting with Tesla. Tesla (and Larry Niven in Ringworld) conceived of a rigid ring. More realistically, consider a cable spinning at, or just above, the orbital speed at the cable altitude. At the orbital speed, the cable would be tension-free. So far, so good. But now consider a small perturbation in velocity, applied to a small portion of the cable. The numerical simulations show that without a restoring force, the cable trajectory grows increasing distorted. A 10 m/sec radial velocity applied to one node of the model results in the cable crashing in less than a revolution. The new page includes a brief study of these stability issues using the new chain model. The animation below (visible if you have the Wolfram CDF player installed) shows the evolution of the cable distortion over time. In this particular simulation, the cable is assumed to have the properties of graphite fiber. It is spinning at 1% above orbital velocity, which corresponds to a tensile force near the working limit for graphite. A 10 m/sec radial velocity perturbation is applied to the red node at the beginning of the simulation. Because of strobe effects, it may look like the black nodes are not moving, but the whole ring has a uniform tangential velocity.

I’m having fun with the chain model at the model. Expect to see several studies addressing the dynamic response of tethers and other long, flexible structures.

Guy cables for extreme towers

In my previous post, I described calculations for free-standing truss towers that could be on the order of 40 km tall. When I did the study, I stated that I was dubious about the use of guys (or guy wires, guy cables) for extreme towers. The problem I was thinking about was the degree of sag in guys that went up to 20 or 40 km. The sag would make the cable ineffective for resisting wind loads and for aiding in the buckling performance of the tower.

When I was working as a structural engineer, I used to be paid well for my engineering intuition. What I learned over the years is that intuition is not worth much once you leave the realm of the familiar. One always must do calculations to inform intuition. So, off we go doing calculations on guys for extreme towers. The basic solution for a catenary is well known and part of many introductory calculus courses. However, starting from the classical solution, you can examine many aspects of a guy system, including combining elastic elongation with the geometric effects of the hanging catenary. The study document in the main web site goes into great detail. It’s a bit rough, but all the derivations and code development are included.

The conclusion is that for synthetic high-strength materials such as Kevlar, it appears that using guys with attachment points 6 km above the ground looks practical. If one can use half of the available strength for tightening the cable and supporting its own weight, then 12 km is possible. This is well short of the 40 km towers we were designing, but still may be useful because most of the wind load occurs at low altitude. I have not yet looked at how including guys affects the tower design. These calculations assume that the ground anchor point distance from the tower is equal to the height. In other words, a 45 degree line. The functions available in the document can be used for other variations.

For a bit of fun, I’ve included a Mathematica widget that shows the shape of a cable given the horizontal component of tension force, and the position of the endpoint on the tower (horizontal distance from the anchor point and altitude). The widget will be visible and functional if you have the Wolfram CDF player installed on your browser. Not particularly useful, but a nice demonstration of installing a widget into a WordPress post.

I have a couple of more things I want to do with tall towers before I leave the subject for a while. The calculations are complicated enough that if I leave the topic, it will take a lot of energy to get back into the flow.

Mass of Extremely Tall Truss Towers

Well, that took an embarrassingly long time. For background, I started off trying to determine the limits for building compression towers high into the atmosphere. The ground rules were that the tower had to be stable with only passive structure, withstand realistic wind loads, and be built using conventional, current materials. With this goal in mind, I developed a Mathematica package called ttas.m (Truss Tower Analysis System) that would automatically generate a finite element model, run an analysis, and iteratively size the truss elements to satisfy local failure criteria (Euler buckling of the element, local wall buckling, and strength).

I wanted to actually use ttas package to do parametric studies of towers up to about 50 km in height. I quickly discovered a lot of inadequacies in the approach. One big problem was that in my first few examples global buckling was easily satisfied, so I assumed that with minor tweaks to the geometry a user could set a reasonable slenderness ratio and buckling would not be an issue. Not true. I eventually designed a system that simultaneously satisfies the global buckling criterion, and local strength criteria.  My initial set of parametric studies is up on the web site now. Pretty satisfying that I got this far, and the results are definitely interesting. In the process, the analysis package got a major upgrade, and the new version has been posted, along with new user notes.See the main web site page on tall towers for links.

The results can pretty much be summarized with the log-log plot of mass versus height for various materials, shown below. We have assumed a 70 m/sec wind over the entire height of the tower, where air density is a function of height. We also assumed a 10^5 kg mass at the top of the tower (although another result is that total mass is a weak function of the top mass). The tower mass forms a straight line in log-log space, and the curves for different materials are nearly parallel. A typical model is also shown with the truss tubes drawn to scale.

I don’t know where I’m going next. In the tower study, it became obvious that I need to look at multi-level trusses (truss elements are made from additional trusses), but the amount of work required may not be justified. I feel like I left sub-orbital refueling incomplete, and would like to get back to that subject. I’ll take a few days off and see what moves me. The joys of hobby engineering.

Tower Mass versus Height. 6-leg truss, 70 m/sec wind

Typical Truss Model. Six-Leg configuration



Tall Towers

I’ve had a major side diversion into the idea of extreme compression towers. A couple of years ago I wrote some basic Mathematica tools for looking at truss towers using the finite element method combined with some slick automatic modeling functions. For space applications, it is always assumed that compression towers were impractical and the focus has been on tensile structures such as the space elevator. While compression structures are certainly challenging because of stability issues, I had never seen a complete treatment that covered all the major structural requirements. So before creeping old age made me loss the earlier work I spent some time working on the analysis tools. It turned out to be a significant slug of work, at least for a retired guy, and thus the two months since my last post.The main website page for extreme tower work is here.

Of course, a tower can only get you above the atmosphere. Climbing to the top provides only a tiny portion of the total energy needed to travel in space. Still, there could be some useful applications. Getting above the bulk of the atmosphere does reduce the total velocity change needed to reach orbit by reducing or eliminating atmospheric drag (see, for example Landis, 2003). As discussed elsewhere one the website, vertical accelerators can be used for deep space applications (geosynchronous or beyond). One novel proposal combines a rotating tether with a tall tower to launch payloads (www.fisherspacesystems.com). A tower into the jet-stream might be a great place to put a windmill. And then there’s all the conventional uses of towers such as transmitting and observation.

We’ll start by acknowledging that in all likelihood, extreme towers are not going to be cost effective for any application. But I think it will be a fascinating project to see if one can be designed that meets the most basic criteria for strength and stability with a reasonable total mass.

There are a number of speculative papers that start to address the physical possibility of extreme tall towers. For our purposes, “extreme” means getting above a major part of the atmosphere, say starting at 10 km. Alexander Bolonkin has written about conventional compression towers, gas-filled towers, and structures based on electrostatic repulsion. These papers focus on the compression strength aspect and gloss over global stability and wind issues. Finally, there are a whole host of what I call kinematic structures. These use the momentum of a moving mass stream to keep a structure in tension. I’d like to study kinematic structures elsewhere on the site in the future.

I’m wary of assuming an active control system can be used to manage structural buckling. In tower discussions, one sometimes hears buckling dismissed by saying there will be some active system that keeps the tower perfectly aligned. While an active system can certainly balance a broomstick or a structure with a finite number of degrees-of-freedom, it is hard to imagine how it would work in a continuously flexible tower. In addition, the restoration forces involved for a structure with a mass of a few million kilograms would be huge. Therefore, we will demand that our tower have natural stability. I’m sure that active controls will be necessary to damp vibrations, and possibly improve alignment, but a control system should not be required to simply stand up.

We will also start the studies with free-standing towers only. Intuitively, it may be hard to scale guy-wire supported structures to heights of 10-100 km. This is also a limitation in what can be done easily with analysis. I’d like to keep the analysis linear, but extremely long guy-wires will have a great deal of sag and therefore a nonlinear force-deflection response. Guy-wires to help resist wind loads are more promising than wires to provide stability. Finally, we’ll limit the studies to conventional structures and materials. I don’t dismiss pneumatic structures, but let’s try to obvious first.

So far, only the analysis package and a user’s guide have been written. The guide walks through the design of a 10 km tall tower using a conventional, intermediate strength composite material. The examples are meant to demonstrate the system and show a preliminary feasibility of an extremely tall tower. Using a material with specific strength of 2.25E5 (m/sec)^2, and supporting a 10,000 kg mass at the top, the total tower mass was 6.4E8 kg. For comparison, that’s about 1.4 times the mass of one of the World Trade Center Towers. The design withstands a hurricane force wind (90 m/sec) over applied to the entire height. More complete studies and tradeoffs using the system are planned. I need to complete the tools to allow for breaking down the structure into finer level trusses. For now, there is a basic truss structure in which the truss elements are assumed to be cylindrical tubes. The tubes are weight optimized with strength, wall stability, and Euler buckling stability constraints. However, for a structure of this scale, the elements of the main truss structure should also be trusses. And so on as in a fractal geometry. I’m currently working on automatically breaking down the structure to finer level trusses. One motivation is to reduce the area presented to a wind load.

It will also be fun to look at some of the geometric systems that have been devised by civil engineers of earlier times. One promising concept is to use hyperboloid arrangements.

Hyperboloid Pylon Structures. Shukhov Oka Towers. photo by Igor Kazus




Mass of conventional multi-stage rocket

I wanted to complete my thoughts on suborbital refueling, but found that I needed a robust way of calculating the mass of conventional rockets in order to show potential savings. I got carried away and turned what could have been some simple one-off calculations into a whole package for optimizing conventional rockets. (see rocket_sizing.m).

One can estimate the mass of rocket components based on historic data. For example, the tank mass ratio (empty mass over full mass) can be calculated from an existing rocket, and applied to rockets with similar levels of technology and propellant density. The problem is that you don’t know the mass of propellant needed until you know the total empty mass of the rocket, which depends on the mass of the propellant. Thus, an iterative solution must be performed. This is a nice classroom problem because the iteration converges rapidly. The Mathematica FixedPoint function handles the problem nicely. The new package also makes a simple calculation for the optimal staging velocity that gives the lowest lift-off mass. When trying this approach against real rocket data, I found that it didn’t match well. I believe this is because I’m not taking aerodynamic and gravity losses into account. Typically most of these losses take place during the first-stage burn; requiring a larger first stage than my function suggests. Overall, I think the package will serve my purpose of giving a baseline lift-off mass for different sets of assumptions.

The CDF version of the study and users guide includes a really cool widget that calculates the mass distribution for rockets with a selector for the number of stages. The widget will work if you have the Mathematica CDF player installed. I tried to embed the widget into a web page, also part of the new Wolfram technology. However, after a couple of hours of frustration I figured out that the CDF browser add-on prevents the widget from working because of possible security problems – my code uses functions (such as ToString) that could also be used in malicious code. So for now, download the CDF document. When the document is opened, it will explicitly ask for permission to run the dynamic content. You can look at the code that builds the widget if you download the notebook version and open the cell directly above the widget.

Suborbital Refueling

Till now I’ve been writing about concepts that have been proposed elsewhere. My contributions have been in doing some detailed calculations and making the calculation methods available. And perhaps thinking on a larger scale. This time, we’re off on some new territory. I’ve seem one figure on a website that looks similar, but now I cannot find that reference.

Suborbital refuel is a concept that combines a conventional rocket launch, with a gun-launch system. The idea is to place a “delicate” payload on top of a conventional rocket. The rocket boosts to about 1/2 of orbital velocity and then follows a ballistic, suborbital trajectory. For mass efficiency, the vehicle may drop the empty propellant tanks. Meanwhile, an earth-based accelerator (or “gun”) launches a projectile that contains more propellant and a docking mechanism. The gun launch is also for 1/2 of orbital velocity and along the identical trajectory. The two vehicles quickly dock while well above the atmosphere. The docking mechanism includes fuel lines, so the combined modules can reignite the rocket engine and continue to orbit. The advantage of refueling is that the mass fraction (final mass to initial mass) of the rocket is about four times better than a single-stage-to-orbit rocket. There are many other combinations possible. For example, the gun launched module could include a rocket engine so that hooking up propellant lines can be avoided.

It is important to realize that the vehicles are above the atmosphere during docking, and they are following what is really an orbit. It’s just that the orbit eventually intersects the earth. The docking is therefore similar to a conventional orbit docking, except that everything has to be accomplished in a few minutes.

There is an alternative version of this system that uses oxygen coming down from orbit instead of propellants being launched from a gun. The idea is to use the atmospheric harvesting idea to gather oxygen in orbit. A propellant laden vehicle then partially reenters the atmosphere, bleeds velocity, and skips back up to match trajectory with the rocket from earth.

Schematics of the concept and an initial study are available on the main website. The only study to-date is a calculation of the time available for docking for various initial trajectory assumptions. We also look at the required gun launch angle. I had held off publishing this information because I had meant to do a study of the vehicle masses to demonstrate the potential cost savings. But it’s been so long since I posted I thought it best to put up what I’ve got and work incrementally. Too many fall projects on the old house.