algorithmic modeling for Rhino

Hi all,


I'm pretty new to Kangaroo and I'm trying to work out how various objects and structures respond to differnernt forces, mainly unary force for gravity and some spring stuff within the structures.


I was wondering if there is a unit kangaroo uses for mass and for force (g and N?)  or a conversion ratio of some kind?  Or am I fundamentally misunderstanding how these work in Kangaroo?  (I've searched the forums...etc, and just can't seem to find an answer.)


Many thanks for your help and consideration!



Views: 3013

Replies to This Discussion

I am afraid that Kangaroo dont use any exact units system.

Not so! - See my answer below. I've just never gotten around to writing them up until now!

Let's see, it's just a question of being consistent...

Assuming your Rhino dimensions are in metres (m),

then your mass is in kilograms (kg),

and your force in newtons (N)

Then for your axial spring stiffness use EA/L 

where E is Young's modulus in pascals (Pa)

A is cross-sectional area in square metres (m2)

and L is the length of your spring in metres (m)

and timestep is in seconds (s)

a few things to bear in mind:

The speed at which your simulation runs at might not be 1 second per second, depending on the complexity of the simulation, the speed of your computer and the timer delay setting. Multiply the timestep by the iteration count to get the time which has elapsed in your simulation.

Using true values for E corresponding to stiff materials such as steel will often cause problems with simulation stability, unless you reduce the timestep and/or increase the mass of your particles (often necessarily by several orders of magnitude).

Remember that this inertial mass is separate from gravitational mass, and will not affect the final displacement of your system, only how long it takes to get there, so you can use a high fictitious mass to keep the simulation stable without changing things like the final displacement of your structure. This is a common technique in dynamic relaxation.

For loads due to gravity (in m/s2), multiply the true mass of your particle by 9.81 (or thereabouts, depending on where exactly you are!) and apply it as a Unary force to the particle (for a linear element, just apply half its weight to the particle at each end).





That's brilliant, thanks Daniel, really appreciate it, time to dig out my old tables of moduli!  As a more general side note, Kangaroo is ace, cheers for that also!

All the best!


When we are using meter for length, E is in Pa or GPa?

For example E for Steel= 200 GPa, if A=0.2 m2 and L=1 m, K= (200 x 10^9 x 0.2) / 1  Does it make sense?!!!

For those using non-metric, Alternate units seem to work as ft for length, force, kips, Area (ft^2). Or, use # instead of kips: Depend on E, G, etc. ;)

As long as you are consistant with the units throughout, it should all add up.

Also, increase of the particle mass does help the system converge when stiffness values get larger.

I though that additional mass particle meant more load in the model, but no, only inertial.

Very Cool Work DP!

Hello, Daniel,

Could you, please, add to what is said above how are the shell strength (or hinge strength) and bend strength calculated in Kangaroo 099, and Strength in "Angle" and "Rigid body" components in Kangaroo 2?




I have made a Layout file for using Kangaroo 0.099 and Kangaroo 2.1.4 with real units.

I get reliable solution for both of them. 

If is it correct, It´s free for sharing.


I got one question. If you want the geometry structurally consider like a shell, how you calculate the cross section for the A? For example: Thickness of Concrete shell is 4cm, can you use for your cross section 0,040m2 ? For Stiffness: 0,040*E/L ?

Thank you.


Dear Daniel,

Thank you for these precision.

Do you know what is expected for BendStrength in Bend component ?

I've put E*I but the result is not corresponding to the reality ?

Thanks in advance



Search Grasshopper


  • Add Photos
  • View All

© 2017   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service