I ran into problems with this simulation, where I lost confidence that I understood the physics involved, or how to correctly create a model more sophisticated than an spreadsheet.
I've signed up for Northwestern University's Modelling Engineered Systems course, hoping to learn how to correctly transform the physical into a functioning simulation.
Monday, March 10, 2014
Friday, July 11, 2008
Eradicating Bugs Since 1978
Spent some time this evening debugging the climber logic. The climbers are represented by an array of class objects, and I hard coded access to the first and only item in the array. Since it was late at night, I coded indexed position one instead of position zero, so was throwing an exception. It took about five minutes to track down. I now have the model running with a climber for the first time. The model is running significantly slower now, partially because I restructured some of the larger methods into smaller, crispier pieces. I need to look into some performance improvements (besides just re-writing the model in another language.).
I have a class tomorrow afternoon, but will work on the model in the evening or a few hours on Sunday.
I have a class tomorrow afternoon, but will work on the model in the evening or a few hours on Sunday.
Wednesday, July 9, 2008
Thowing Exceptions
I had a hard time sleeping last night, and have had a rough day, and am wrapping things up for the evening.
On my daily walk around the tech campus where I work, I puzzled through the last of the complex climber dynamics routine. I convinced myself that what I was working on was valid physics (which doesn't mean that it is correct, only that I am currently convinced that it is correct). The forces on the climber are based on point dynamics (which handles gravity, centripetal force, and centrifugal force) and those that come from being spliced into the ribbon. The complex ribbon dynamics routine changes the amount of tension 'above' and 'below' the climber over time, which is what causes the ribbon to move the climber.
I finished my first cut at the climber algorithms. The initial coding is for a single climber, and the climber can only ascend right now (mainly due to how I handled edge conditions when transitioning between segments). I'm also concerned about how the climber brakes when past GEO, that what I have won't be up to snuff for that.
The first few tests are throwing exceptions right now, so I need to pull up the debugger and determine what I've missed tomorrow evening.
On my daily walk around the tech campus where I work, I puzzled through the last of the complex climber dynamics routine. I convinced myself that what I was working on was valid physics (which doesn't mean that it is correct, only that I am currently convinced that it is correct). The forces on the climber are based on point dynamics (which handles gravity, centripetal force, and centrifugal force) and those that come from being spliced into the ribbon. The complex ribbon dynamics routine changes the amount of tension 'above' and 'below' the climber over time, which is what causes the ribbon to move the climber.
I finished my first cut at the climber algorithms. The initial coding is for a single climber, and the climber can only ascend right now (mainly due to how I handled edge conditions when transitioning between segments). I'm also concerned about how the climber brakes when past GEO, that what I have won't be up to snuff for that.
The first few tests are throwing exceptions right now, so I need to pull up the debugger and determine what I've missed tomorrow evening.
Tuesday, July 8, 2008
Climber Work
Worked on the climber algorithms tonight.
For a ribbon segment without a climber or other ribbon furniture, the forces on the ribbon follow Hook's law, where the distance between the start point of two ribbon segments is compared against the initial segment length to compute the forces exhibited by the two segments on each other.
For a segment with a climber, I break the ribbon segment into two pieces, one 'below' the climber and the other 'above' the climber. If I can accurately state what the initial length of each of the pieces of the resulting ribbon is, then I can compute the forces on the ribbon segments and climber by calling the simple ribbon segment dynamics. I've already developed the method that checks when a climber has transitioned from one segment to the next. The missing pieces are computing the force that the climber applies to the ribbon, computing the amount of 'initial length' of the ribbon that the climber will cross in a simulation time increment, and to modify the old climber dynamics routine to the use the new methods.
For a ribbon segment without a climber or other ribbon furniture, the forces on the ribbon follow Hook's law, where the distance between the start point of two ribbon segments is compared against the initial segment length to compute the forces exhibited by the two segments on each other.
For a segment with a climber, I break the ribbon segment into two pieces, one 'below' the climber and the other 'above' the climber. If I can accurately state what the initial length of each of the pieces of the resulting ribbon is, then I can compute the forces on the ribbon segments and climber by calling the simple ribbon segment dynamics. I've already developed the method that checks when a climber has transitioned from one segment to the next. The missing pieces are computing the force that the climber applies to the ribbon, computing the amount of 'initial length' of the ribbon that the climber will cross in a simulation time increment, and to modify the old climber dynamics routine to the use the new methods.
Labels:
Java,
ribbon furniture,
simulation,
space elevator,
task list
Sunday, July 6, 2008
Climber Progress
Working on the complexRibbonDynamics, the method that I am having the ribbon and climbers come together. While working on it, I decided that I didn't understand the ribbon dynamics velocity dampening equations well enough, so I detoured back into my college undergraduate physics book and Googling to track down explanations of the equations, as well as looking at the space elevator simulation written by Jim McBeath from CalTech.
Saturday, July 5, 2008
Climbers and Other Furniture
Today I plan to work on the climbers. This is the one month anniversary of this blog and my space elevator simulation project.
I started to restructure the model to make this easier. The ribbonDynamics method computed the influence of one ribbon segment on the next, checked if the load on the segment caused it to break, and cleaned up the forces on the ribbon segment in preparation for the next iteration.
ribbonDynamics is being broken into several methods. The first is simpleSegDynamics, which can compute the influence of one ribbon segment on the next, presuming that nothing is attached to that ribbon segment. The logic to determine whether the segment has broken has also become a new method, and needs to be moved from the ribbon class to the ribbon segment class. A new method will be created to handle the case where there is a climber or something else attached to the ribbon. "Something else" can include things like a mass in geosynchronous orbit representing a station.
In the cell phone infrastructure business, the hardware out in the field, like the base stations associated with each tower, the base site controllers that coordinate multiple towers, and everything else required to connect with the publically switched telephone networks are referred to as "furniture". For the space elevator simulation, I will call anything hooked to the ribbon furniture as well.
I started to restructure the model to make this easier. The ribbonDynamics method computed the influence of one ribbon segment on the next, checked if the load on the segment caused it to break, and cleaned up the forces on the ribbon segment in preparation for the next iteration.
ribbonDynamics is being broken into several methods. The first is simpleSegDynamics, which can compute the influence of one ribbon segment on the next, presuming that nothing is attached to that ribbon segment. The logic to determine whether the segment has broken has also become a new method, and needs to be moved from the ribbon class to the ribbon segment class. A new method will be created to handle the case where there is a climber or something else attached to the ribbon. "Something else" can include things like a mass in geosynchronous orbit representing a station.
In the cell phone infrastructure business, the hardware out in the field, like the base stations associated with each tower, the base site controllers that coordinate multiple towers, and everything else required to connect with the publically switched telephone networks are referred to as "furniture". For the space elevator simulation, I will call anything hooked to the ribbon furniture as well.
Labels:
redesign,
ribbon furniture,
simulation,
space elevator
Subscribe to:
Posts (Atom)