Kangaroo Wind Simulation


I’m trying to create a script that will apply a wind force to a mesh in order to simulate a curtain flowing in the wind.

The problems:

  1. When I run the solver the mesh disappears unless I make the wind force extremely small such as 0.001 (is this normal?). Even with a minuscule wind force, the mesh flows completely horizontally. I would like it to hang vertically while lightly flowing as if there was only a breeze hitting it. How do I do this? I assume I need to give weight to the mesh but I don’t know how.

  2. When I remove the wind force and add the Floor goal, the mesh is deformed only in the x-axis, rather than both x and y axis as a curtain would in real life. How do I fix this?

Any help is appreciated, I’m on a bit of a time crunch…

MOE.gh (19.5 KB)


1 Like

I was able to figure out my question about the wind so thank you for that! Do you have any idea on the problem with the floor? That’s the only thing I have left.

The Floor goal prevents points going below 0 in the Z direction.
That is, it simulates a floor plane located at the XY plane through the origin.
If you want to apply a load to the curtain you can use VertexLoads

Here’s your file with these things added
MOE.gh (20.6 KB)

Hi Daniel,

Thank you for your response; but the thing I’m trying to figure out is how to make the curtain behave realistically with the presence of a floor.

When I add the floor parameter to the solver (without the wind), it simulates the behavior by reducing the vertical length of the “curtain” through a distortion along the axis of the mesh (in this case Y). In reality, the presence of a floor would make a textile distort/bend/fold in both X and Y axes in order to accommodate the reduced height. Does this make sense?

Bear in mind that if a simulation starts completely in one plane and only has forces acting in that plane, everything will stay in that plane.
This is unlike the real world where there is always some sort of imperfection and noise which will cause things to buckle one way or another. So you need to include some additional out of plane force (which can be small and/or temporary) to start this buckling. In your case you could use that wind goal, even if you turn it off once it has started the buckling.

1 Like

Got it, thank you.

1 Like

Hello everyone,

Apparently in my naive attempt of not making a thread too complicated and keeping things “clean”, I’ve made an unforgivable mistake of creating a new discussion. The experts have cordially informed me that forum etiquette indicates that one should always continue similar questions within the same thread. Unfortunately, it doesn’t seem like I can delete the other thread, but I am posting this here in case anyone is willing to help:

I have found a workaround for the following issue in order to continue my current project, but I am trying to become better at Kangaroo so if anyone can tell me what I’m doing wrong I would greatly appreciate it!

I am trying to simulate curtains lightly flowing in the wind. I’ve attached the files to show what I am talking about.

The things I’m trying to understand are:

  1. How to adjust the height of the floor component (it is way too high).

  2. If I remove the floor component, the vertex load makes the curtains stretch downwards and become extremely long. How do I avoid this? Increasing the strength of the mesh doesn’t seem to work.

  3. When I start the simulation, the presence of a floor makes the curtains aggressively bounce upwards. How do I avoid that bounce?

  4. Under certain settings, the anchor points let loose. I’ve tried increasing their strength to crazy values such as 10 million but it continues to happen in certain simulations.

Help! And thanks in advance…

Floor:Anchor.3dm (3.5 MB)
Floor:Anchor.gh (22.3 KB)