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.
First off, I’m back from an extended trip. Thus, my excuse for not doing any space work for about 4 weeks.
Previously, I had worked out solutions for the orbital mechanics of a gun assisted launch in which we simply took the initial condition as the projectile velocity vector at the top of the atmosphere. That way, aerodynamic losses did not have to included. Then in a separate study, I looked at the aerodynamic losses associated with a given desired velocity at the edge of the atmosphere. Doing the two bits separately might have been convenient because of the different solution methods, but it made seeing the whole picture difficult. Therefore, I blended the two solutions. Using numerical search methods, we can now find the gun exit velocity for a given desired orbit accounting for aerodynamic drag and lift. We still use the closed-form elliptical orbit solution beyond the atmosphere, and a numerical integration within the atmosphere. I also established that the numerical integration could be used by itself to give the same result, but the closed-form solutions have advantages when combined with the numerical search for the gun initial condition. The results are at http://alnaspaceprogram.org/gun.html#gunstudy5.
Honest, I’m going to get off the topic of guns for a while.
(Only Mathematica nerds need read further) I’m still experimenting with publication methods. Earlier, in order to create a summary document I had been using copy and paste to place results into a fresh notebook. Although that seems to be common practice in the Mathematica world, it felt redundant. For this study I simply added text to my full calculation notebook, then closed the Mathematica input cells to hide the details. The formatting is sometimes a little off, but it seems to be a more efficient approach. The only problem is that there is a lot of text in the way the next time I want to play with the calculations. Also, it made sense to include function definitions from previous studies as external packages. I’ve included these in a zip file. The packages are made by turning the function definitions into initialization cells and then saving in package format.
I’ve been spending a fair amount of time just getting the initial version of the website designed and organized. There’s a balance between making things interesting and accessible, and not going overboard. This is not meant to be a grand undertaking, just a record of a hobby that my be interesting or possibly even useful to other people.
On-deck are a couple of notebooks on tethers. One shows the derivation of minimum masses for various types of tethers (non-synchronous skyhook and rotovator). The other goes through the mechanics of using a rotovator (a spinning tether) to put mass into orbit. The slightly novel bit is to study releasing the mass at an arbitrary position as the tether spins in order to get a variety of orbits.
The Alna Space Program presents some of the results from my spaceflight engineering hobby. For many years, I’ve been interested in methods of reaching space that either do not involve rockets, or assist in rocket flight. Most of the concepts have already been described in some form, but my interest is in pursuing the detailed calculations and simulations needed to flesh out the engineering. As such, I’m only interested in concepts with some degree of near-term feasibility. Exotic propulsion schemes that involve poorly defined physics or unattainable materials are germane to this site.
The ultimate goal of non-rocket propulsion is to reduce the cost of transporting material into space. One reason that spaceflight is so expensive is that chemical rockets are at the edge of their performance capabilities when accelerating to orbital velocities. The result is that payloads are a tiny fraction of the initial rocket mass, and the whole rocket has to be extremely weight efficient. The non-rocket methods have the potential for dramatically increasing payload fraction. This should reduce the cost enough that serious space industry and large projects could be pursued.
The blog is a supplement to a website that I am slowly building. The website is meant to be a more stable reference location for results, organized by topics. The blog is meant to be chronological, and is intended to describe what projects are in progress, and less formal musings. If anyone is interested, I’d welcome comments and suggestions from other space nuts that would like to play along.
I’m also experimenting with different methods for publishing engineering work. As a serious amateur not relying on publication to further a career, I’m not very interested in the detailed preparation needed for traditional scientific papers. At the same time, I always found papers on engineering analysis frustrating because of the work needed to reproduce someone else’s mathematics. In response, the website features the notebooks written using Wolfram’s Mathematica. These notebooks allow anyone else with a Mathematica license to check, reproduce, or modify my work. I’m also using Wolfram’s CDF (computational document file) format that can be viewed using a free viewer available from Wolfram. As I said, this is all an experiment and may evolve over time.
Finally, the name “Alna Space Program” is firmly tongue-in-check. Alna is a tiny town in coastal Maine where I came to live after retirement. Once at a party I admitted to someone my interest in spaceflight. They remarked that it would be cool to have an Alna space program. So here it is.
About comments: I’d love to get feedback and discussion going on the blog. However, as a naive blogger, I’ve recently discovered blog spam. From now on, comments must give some clue that you’ve actually read the post in order to be approved.