Un-hyphenated wrote:Very nice work, Mr. Eye. Awesome is an understatement.
Thank you very much.
One question: in your gravity-driven model, with the 2 stories falling (a page or so back), what is it in your engine that creates the off-centeredness (or flip-flopping) that occurs early on?
Very good question. Short answer, I don't know. I'd guess the usual suspects, in combinations: floating point error, order of evaluation, sensitivity to initial conditions and dealing with singularities like edges and vertices. The engine I have uses 32-bit floats so will be susceptible to even a small error accumulation at the beginning, when things are most sensitive. Moreover, floating point numbers leave 'holes' in the number line within their range, not all decimal numbers are represented. Most numerical simulations suffer from these things to one degree or another. Exact precision math mitigates some, not all, of the problems but is slow and not widely employed.
Consider the difference between this and writing a program to compute the values from Greening's ET paper then render them in graphic format in an animation. If that were the case, all of the slabs would always stay lined up, nothing would go off-axis or rotate. At the completion of the collapse, there would be a neat stack of motionless slabs, perfectly aligned. Most important, the collapse would proceed according to the assumptions dictated by the model and represent the solution over time - to within the floating point error of a single step (negligible).
In contrast to an animated visualization of solutions to specific equations, a general simulation will attempt to construct dynamic evolution according to a set of rules and formulae independent of any particular configuration, e.g, identical slabs stacked on one another.* These are configuration details that are provided as input. If the input matches some real physical system, if the simulator is accurate and simulation appropriate in scope, the results should resemble the behavior of the physical system. But it will only
resemble, not match. Whether the top falls off this way or that doesn't matter so much as whether or not it falls, which doesn't matter as much as total collapse time, etc.
Some random imperfection inserted as directed by you?
This is a way to average the differences in runs due to sensitivity. Since an object cannot be sized, massed, or placed with perfect precision, a little random variation about the target value can give solutions in a neighborhood, each equally valid. Haven't done it yet.
I can see this happening in reality, where no parts are truly identical and alignments cannot ever be perfect.
So now you see that, in a peculiar way, it is like reality because things are not perfect in this world, either. What's interesting are the non-repeatable runs. Simple stacks like the 20 story jobs are mostly repeatable, down to the distribution of pieces on the final pile. The more complex ones, like some 110 story structures, are not always repeatable. In one case, back to back runs, the first acquired a small early tilt and crushed up 7 of the 10 upper stories simultaneous with crush down. The second run maintained better alignment and only crushed up 2 stories. The displacements differed a fair bit, but the collapses (total) finished 1/10th second apart, out of a total duration of over 9 seconds. In one way, they were very similar; in another, radically different.
Hope that wasn't too much answer.
* [edit] another example: a tipping pencil would stand forever on its point in a perfect simulation. See
http://www.mathpages.com/home/kmath259/kmath259.htm, especially towards the bottom
On the other hand, if we imagine that the initial pencil position is just theta_0 = 10^-100 degrees, then the time to tip over is 27.469838205... seconds.
This idealized pencil would take 1 year = 31557600 seconds to tip over (theoretically) if its initial stationary position is theta_0 = 10^-117498396 degrees from vertical.
This explains why anything in my sims that will tip, does so within about 27 seconds!