Pierre wrote:So if I understand correctly, this is just to avoid a singularity in the exact solver, i.e. give it some breathing room to let gravity push the planks down, towards configurations that don't make the solver explode?
Yes but it is more than just a direct solver will blow. A direct solve will blow because a direct solve from a solution in a finite number of steps.
An iterative solver In practice does not blow off because is just happen to have singular matrix is a matrix with infinite condition number, and since the converge rate of any iterative solver is a function of the inverse of the condition number , an iterative solver will take an infinite number of steps to solve a singular matrix.
In practice what happens is that the matrix is ill conditioned (a matrix with a very large condition number) so the iterative solver will take steps that randomly may diverge in one step and move to convergence in some ethers.
If you take the bridge and you rattle it you will see that behavior. this is not a limitation of Newton it is a basic principle of numerical analysis.
Pierre wrote:So that's the part I'm a bit unclear about. Isn't that just a limitation of the solver? I mean in real life you can create a bridge-like structure exactly like in the test (i.e. with an horizontal default configuration), and things don't "explode". So a simulator should be able to cope with the same setup, surely?
I see your point and why the system ends up with a singular matrix, but it looks like a limitation of the mathematical model rather than something "wrong" with the test itself.
In real life, I said those thing appear to work, but in really the reason they work is because real life material has a stress tensor matrix, rather than a constant inertia matrix.
basically in real like materials deform, but the lagragian formulation is not longer the same than you get from the assumption that the inertia is invariant.
Newton original solver was solving an idealization of a body with a rigid material as such it will have those limitations. There are numerical models that can formulate elastic tensor matrix when assuming small deformation alone of direction. One such method is Virtual Word Of Elastic Materials that are capable of solving that problem, but I do not think anyone is doing that. Maybe one day I move Newton there.
Pierre wrote:So this I don't understand. In real life you cannot add the "wiggle room" you added, or at least not in that form, since you are creating the planks in an initially overlapping state (which of course cannot be done in real life).
yes, but this is not real life, it is an simplified model of real life, and since almost each engine has a way to resolve interpenetration, and not way to resolve singularities. Pulling the objects together is a way quick to result the problem. But I also mention that there are even better ways. In is not that I was trying to get some advantage is that those are not my test.
Pierre wrote:But I'm still not sure why/if the old test is really so unfair. I mean if it exposes a limitation/singularity in some solvers, well, that's fair game isn't it? That's kind of what PEEL is exploring.
Anyway the bit I really don't get is that I still don't see any difference in practice. With or without your change, Newton's iterative solver looks fine to me. And with or without your change, Newton's exact solver seems to explode. So I'm missing something. I really don't mind changing the test to improve things but that particular change doesn't seem to help at all?
It is unfair, because Rigid bodies are a subset of real bodies.
It is like If I says this calculator A can calculate square roots, but infernally it uses Newton Rapson iterative solvers. and some other calculator B can also calculate square root but is use a close form solver. People can use those two calculator to calculate the square root of any number and never have a problem.
Then here if comes a dishonest critic (the would be Kenneth Bodin) and he is hired by the company making the cheap calculator A that uses Newton Rapson. The they tell the dishonest critic, if you feed a negative number to the other calculator, it will crash and the one way to get back is by tuning off and on. The iterative solver will terminate in a fix number of steps before it also crashes, but they do not disclose that the critic. The Critic go on to write his report trashing the calculation that in fact did the right thing and glorifying the calculator that gave the incorrect answer 100% of the time. That report is unfair because calculators are designed to work with real numbers, had them been designed for complex numbers, calculator B will will work while calculator A will still be wrong 100% of the time.
That's what Mr Kenneth Bodin did with his test, he made test that to be solved require considering elastic materials, and he applied that to a solver for rigid body material. He knew that the iterative solver will terminate without a solution before exploding while the direct solver will crash trying to invert the system matrix.
And like I said you do not see difference because Newton now set the iterative solver as the default solver, but if you increase the number of iterations very high or you with to the exact solve it will either blow up or go in to unstable state.
The exact solve will explode because like I said the matrix does not has to be single it just need to be ill conditioned. I tried to give the smallest amount of room so that the iterative solver barely works, but even the iterative solver will do the same if it do many iterations.
I believe even your solve will blow up if you do sufficient impulse iterations.
Also for the record bridges are not flat, engineers go to great efforts to make them follow an inverted Catenary path. People thinks is parabolic arch but it is not. is it a small Catenary path.
you can use a parabolic arch if you want, is much simpler and not much difference..