Loads/Displacements increments

Could it be possible to implement increments to Kangaroo?

There are many scenarios where this is necessary, for example applying large deformations/loads to meshes, where a single increment does not lead to a converging solution (visually explodes).

Yes, I can use the standard solver component and slowly drag the slider from 0 to 1, but this is cumbersome and not reproducible. Furthermore, this approach does not work with the ZombieSolver (my preferred approach, as it is much faster and more useful if one want to calculate an array of simulations), as it always starts with the initial geometry and does not take the previous result into account.

Here is an exemplary use case for increments. When starting with a large value, the simulation mesh is being wrinkled:
shearAngle.gh (20.8 KB)

Any ideas?

Thank you,

Hi Rudi,

I agree this could sometimes be useful.
Here’s a first go at it -
It’s a goal which takes another goal as input, and applies a multiplier which starts at 0 and increases by a user controlled amount at each iteration until it reaches one.

rampup.gh (15.0 KB)

1 Like

Daniel, the first try works like magic, thank you! It’s about time that I start learning C#…
Also seem to work fine with loads, btw! I guess it is meant to work with all kinds of goals?

It does however not with the ZombieSolver. Is that sth that can be easily fixed in the script? Also a integrated “increments” parameter with a standard values set to 1 would be great. With nonlinear FEA, the standard value is also usually set to 1 and one can change it to a higher value in the settings if needed.

Sorry, my mistake. The threshold was too large…

Speaking of threshold, what is it actually?
In one of your C# scripts, you commented //GetvSum returns the current kinetic energy

 PS.Step(GoalList, false, threshold); // The step will iterate until either reaching 15ms or the energy threshold
 }while(PS.GetvSum() > threshold && counter < 5000); //GetvSum returns the current kinetic energy

While in the GH component description, it is called “movement”.