How to consider Moment of Inertia as BendStrength in the Bend component

dear community.

I would like to simulate a single span beam with the bend component in Kangaroo.

I have followed Daniel Pikers wonderful tutorial examples to get a basic understanding the “bend” component. I have set up a gh network based on Daniels example “” adding the anchor points and uniformly distributed load.

How can I consider a bending stiffness (E-Modulus multiplied by I moment of inertia) to calculate the beding deflection of a beam?

Your help and input is much appreciated!

Best regards. René

Hi René,

The Angle goal is calculated using the approach described in:
With the ‘Strength’ input taken as the value of EI. For units you just have to be consistent across all the goals you use (such as when calculating EA/L for the strength of the Length goal). So generally I use metres, pascals, newtons.

You can read the code which runs inside the component here:
(Actually the code is slightly different to this in the latest release to improve stability and convergence, but the general approach remains the same, and it converges to the same result)

Thank you Daniel! And thanks for reminding me of the units issue. I will see how I can resolve the issue based on this.

Hello, I found that in the the plate bending, when the “strength” of “hinge” or “angle” component is set as the bending stiffness is EI, and the “strength” of “length” component is EA / L. When the thickness of the plate is in millimeter, the difference between these two “strength” is a multiple of 10e 9, which will directly lead to the fact that the bending simulation of the plate does not conform to the reality. How should this be explained. How can I understand the relationship between “strength” and material stiffness in the physical world. thank you


Yes - that is correct - when simulating a slender bending rod, the strength of the length goal will be much higher than that of the angle goal when using correct units. If you are consistent with the units this should give quantitatively correct deformations, and has been compared to commercial software. If you have a file where you think it is not, I can take a look.

However, the hinge goal for bending between triangles is currently only for qualitative behaviour - the shapes should give a decent match to real bending of sheets, but you can’t just plug in known material values and loads and get precise values for the displacements.
It is a bit more complicated to make a good shell bending element for large deformations than for rods and cables, because of the way the in plane stretching interacts with the meshing direction. Now the solver supports 6 degree of freedom nodes though, I think it opens up more possibilities for including accurate shell bending in the future.

Thank you very much for your prompt reply. Since you define bending stiffness EI and tension compression stiffness EA / L as strength input values respectively, I have made two Python scripts based on this setting to respectively solve the bending stiffness values corresponding to each hinge after subdivision and tension compression stiffness values corresponding to each spring under the condition of thin plate bending, and connect them to hinge and “hinge” and “ Line” is used to solve the bending and shape finding problem of rectangular plate.

However, when my current script unifies the unit into “m, Pa” standard unit, the shape finding process of kangaroo seems a little strange. When using the “mm” of GH directly, there is no unified conversion unit, and the shape finding process of kangaroo seems reasonable. I don’t know why.

I will attach two GIF pictures to you to show my confuse.I hope you can answer me. Thank you for your help. My documents can also be given to you, but this involves my graduation thesis, so I hope to send it to you alone. Can I send it to your email, or can you tell me some other ways to send it to you separately ?

I tried following the use of SI units and wanted to check the results for:

a) Springs … follows Hookes law perfectly
b) Beam (modeled as a rod) with a point load … does not result in the correct deformation (first order analytical solution)
c) Beam with line load (approximated with point loads) … does also not result in the expected deformation (31.2 KB)

Is there sth that I am missing here?

Hello Rudi,

The calculation of the bending behaviour may require a further subdivision of the beam. In your definition I see you the beam is subdivided into two elements (one intermediate node). Give it a try with more intermediate nodes (five or more)

1 Like

Thanks a lot, interestingly I already had the subdivision implemented - but somehow did not think of applying it.

Subdividing now gives pretty accurate results!

Thanks again, Rudi

(there was also a mistake in the script regarding the line load…)