Karamba Rigid Body Stability Simulation


I am working with irregular meshes to build a genetic algorithm to determine the stability of potential assembled structures. The idea being that I can choose different slection of support points and test the stability of each configuration.

I am wondering if this is possible to simulate in Karamba? Eventually I plan to use multiple meshes in the same system, adding one as each before it has achieved maximum stability.

I have uploaded a basic example of the problem and any help just creating a basic Karamba setup would be appreciated.


Canvas%20at%2010%3B42%3B13RigidBodyQuestion180319.gh (37.9 KB)

Dear Matthew,
you could use Karamba3d’s ‘Eigenmodes’-component to determine the first eigenvalue of the stiffness matrix of your system. Eigenvalues close to zero indicate instability. See the manual for details.

Hi Clemens, I am still having issue achieving the correct results for this, I have uploaded an example where I am orienting the mesh according to the direction of a Polyline between two vertices selected by a GA (Octopus).

I wish to determine a fitness value which represents the ‘stability’ or 'balance of the mesh at that specific orientation and supporting area. I have achieved something with Kangaroo however I feel like Karamba may be able to achieve better and more scale-able results, (if it is even possible?!)

I have tried using the Eigen Modes however the issue I seem to face is that the model itself is not treated as a stiff rigid body.

Eventually I would like to incorporate meshes stacked on top of each other and check the balance of the whole system.

If you have a chance to look at my file and point me in the right direction i’d be really grateful!

KarambaRidgidBodyQuestion.gh (144.0 KB)


Hi Matt, using Galapagos and Karamba3D 1.3.2 I can not reproduce the problem (see attached file: KarambaRidgidBodyQuestion_cp.gh (122.9 KB) ).
It is probably better to use the maximum horizontal displacement instead of the maximum resultant displacement as the objective to minimize.

Hi Clemens, thanks for replying - you’ll have to forgive me for a possibly silly question. I’m not very experienced with Karamba yet! But in the image bellow, the example diagram on the left would in theory produce a higher displacement value than the one on the right?

If true then my question is whether it is possible to set up so that the object is treated as rigid and the only thing that matters is the amount of mass each side of the pivot points, thus each object should have an identical ‘displacement/balancing’ value. Hope this makes sense?

Hi MMO, instead of the displacements you could try to minimize the resultant bending moment at the support.