Bending active tent structure (beams and membrane)

Hi Kiwi Team,

I’m a bit lost modelling a tent with bending active beams when it comes to formfinding of the membrane. My design steps are

  1. Bending straight rods into an oval shape by contracting cables (the beams are not coupled)

  2. Clamping the ends to simulate a closed curve and adjoining prestressed cables to push the rods into the desired tent-shape

  3. Adding the initial shape of the membrane (using "Automatic Edge Surface“ from Pufferfish plug-in) and edge cables

  4. Formfinding membrane with the beams as elastic support: The three membrane patches are supposed to be connected and shall have a sliding connection with the beams (simulating the beam in a pocket)

I have difficulties applying all necessary coupling and sliding boundary conditions. So far I either get weird results or no results at all.

All in all the analysis is time consuming (many and slow iteration steps). Is there a possibility to improve that (I’m using Windows, Rhino 6, Kiwi 0.5.0)? And unfortunately I couldn’t find a documentation in the download Folder. As I’ve read in other posts here, there should be one.
Kiwi_bending active (129.3 KB)

I’m looking forward to your support!

Thanks, Laura

Hey Laura,

regarding the documentation, you can find it here: Self-weight - #8 by anna_kiwi3d We unfortunately forgot to add it…
You can speed up your analysis a little bit by adapting the load curve or prestress value. If you look at the shell window or the out.log-file, you can see that it has to bisect the applied load value in the first step several times until it can converge. If you directly do this by a load curve in the input, you can avoid many iterations.
For the coupling, I need to look into in more detail. What I can say now is that if you want to use the sliding coupling, you have to disable the automatic coupling of the structural element by the coupling features. You should also check if the automatic coupling works as desired (white spheres or cubes). If this is not continuously, you should check either the geometry (is it close enough) or adapt the absolute model tolerances of Rhino in order to find all intersections internally in Kiwi.
Furthermore, you should also block one point of each beam against torsion since if not it may rotate around its own axis.

Hi Anna,

thanks for your hints.
I was able to speed up the analysis by turning off the force bisectioning and adapting the load curve.

Regarding the coupling / sliding I am still struggling when I try to formfind the membrane:

  1. I replaced all automatic coupling with coupling features. When coupling the 3 membrane patches with each other and with the edge cables, there aren’t any spheres between cable 253 and membrane 302 although the cables agree with the membrane edges. Also, there are more than 6 spheres between patch 301 and 302. The Rhino options are: Millimeter, Absolute tolerance 0.00001. Not sure, if that’s a problem for the analysis - membrane and cables seem to be coupled in the result.

  2. In an first analysis attempt, I coupled each membrane patch with the neighbouring referenced beams without sliding. The analysis takes about 45 seconds per iteration (equilibrium accuracy 1e-05). I’m not sure, whether that’s the case because of the complexe structure or my anlaysis set-up.
    Kiwi_bending active tent_with (130.1 KB)

  3. When I try to add sliding, I do the following: First, I couple the membrane patches with each other. Second, I divide the membrane edges into 20 points to get the point input of sliding. Curve 1 is the membrane edge and curve 2 the beam. Because of the error output, I guess that curve 2 and 1 should have the same length and start/end points. So I’m wondering whether it’s possible at all to model the beam in a pocket when the pocket is only along parts of the beam.
    Kiwi_bending active tent_with (150.1 KB)

Hi Anna,

I’m still struggling with Kiwi!3D. Since my current “bending-active tent”-project is a master’s thesis, I do have some time pressure finding solutions. I have two main difficulties:

  1. My objective is to model the interaction between rod and membrane of that structure. For that, I would like to have a model in Kiwi that acts as if the rod is put into a pocket so that the membrane can (to some extend) slide along the rod. I thought that SlidingPoint could help me with that. Now, I hope that you can support me with how to use SlidingPoint in this case because my approaches aren’t successfull so far.

If it is not suitable, my second idea is to put springs between membrane and rod. But, as I understood, I can change the spring stiffness of all supports and coupling features only on a global level via penalty factor and not differently for certain supports? I do need a low stiffness for these springs but not for the support points - so this idea seems not suitable for Kiwi.

  1. There is somehow a bug in Kiwi I guess: I did bend my rods in two analysis steps and did formfinding. I then want to do an analysis with self-weight of the form-found structure. When assembling the model without automated coupling, there are non-sense coupling points in free space I do not get rid of.

Here’s my file: (213.6 KB) I would be very happy if you could have a look at my file.

Best, Laura


there is a bug with the sliding points. But there should be a way around. I’ll try to look at it on the weekend.

You can set different penalty factors for supports and coupling. However, not for different direction. So if you put a weak coupling between beam and membrane, it will rather detach than slide. But I can show you how to do that if needed.

I added the code for the sliding points. In the current file, both sides are fixed, so no sliding. If you remove the lines with DE-SUP xx 1 4/5 and the respective TYPE=BC-Dirichlet, you get sliding. However, before that you have to adjust the formfinding. You have to find a prestress in the cables that allow the form that you want because you have to do several formfinding steps(not just one) in order to continue with the structural analysis. (192.8 KB)