We’re trying to model a hypar (hyperbolic paraboloid), modelled as 4 rigid beams with 2 springs between them.
The behaviour we encounter by adding a force is similar to the behaviour of a real life model.
The units are filled in as measured from the real life model we have.
We would like to make a force displacement plot where the displacement is the displacement of 2 points and the force exerted by 2 points.
Calculating the force in the springs is just F=k*x, that’s no issue.
But the main thing is, is it possible to input a displacement instead of a force.
Since a hypar is bistable (two or more stable states) we need to use the displacement instead of the force.
Is this possible?
Thanks!single hypar.gh (18.2 KB)
First, one thing I noticed - because the model is small, and the movement starts slowly, the solver was stopping too early, as the movement was below the convergence threshold. So I changed the ‘Threshold’ value to 1e-20 (instead of the default 1e-15).
I’m not sure I follow your question though - is it that you want to find out what load to apply to get a specified displacement? For this you’d probably need some sort of simple iteration.
An easy but slow way would be to use the ‘Zombie’ solver component and have a slider for the applied load magnitude, and from the output measure the difference between resulting and desired displacement, and hook these up to Galapagos. Because this is such a simple system that would probably work fine, but if you needed something faster you could also script it.
displacement_galapagos.gh (17.7 KB)
Here’s what I meant about using Galapagos. It actually finds the solution in just a couple of seconds.
Wow thanks, yes this is quite what we’re looking for!
Since the material is bistable it will exert a negative force when the hypar goes through it’s bistable points.
When playing with the force slider you see it has two stable positions (rest position and mirrored) and 1 unstable position.
Only when using the zombie solver it loses this bistability