Asymmetric Line Loading

Hi all,

I am creating a parametric model optimise hanger arrangements in a network arch. I need to apply loading to only half of the deck. This would be easy if i just divided the deck in two at midspan but the deck also needs to be shattered between each connection with the hangers to form the karamba model. If I try to do these things simultaneously, the hanger patterns get messed up and don’t work. I cant think of any way of applying this asymmetric load while still allowing the hanger locations to move. Any idea or solution would be much appreciated.

I have attached my model below
Network (90.2 KB)


Hi @mg922, you can define the Deck Beams with separate element IDs and then split the IDs in different lists to apply your loads. Please see the example script.

Network (89.3 KB)

Thanks Matthew, I had thought of this however because the deck elements are defined by their intersection with the hangers, when the hanger incline is changed, the loading also changes so it is not always loading half of the span. I need this loading to be constant for the optimization of the hanger patterns.

Reminds me of this problem, to which I never received a reply.

But I don’t have Karamba3D? Was surprised that calculations for a 3-point lift are so complicated.

With this setup, even if you change the number of deck elements, it should always split the list into two for the loading. This of course is based on a symmetric system.

Another method you can also use is to apply a constant mesh load that spans half the bridge to the deck elements and therefore no matter how many deck elements you have, the loading would be constant.

Yes unfortunately if there is an odd number of deck beams then the load won’t always be distributed over exactly 50% of the span. The constant mesh is a better solution as this always provides the same total load but as the hangers change so does the loaded area as you can see in the below images. Is this as good as it can get or is there a more accurate way to maintain loading over exactly 50% of the span?
Also how is the mesh load distributed over the beams? The images show that the equivalent uniform line loads increase for shorter beams, is it trying to apply the same total load to each member?

Network (109.5 KB)


The variation in the load distribution is because of the denisty of the mesh. The loads from the mesh load have to be distributed onto the beam elements, and these are based on the size of the mesh faces. Therefore you if increase the density of the mesh, then you can ensure that the load is consistent even on the small elements.

One note that I have is that if your geometry is always symmetric, then you should split this initial beam into half, then perform the shattering of the horizontal element, defining the first half with one ElemID and the second half with another ElemID and then simply use the LineLoad component to apply the load. This will ensure that your load is always divided into half along the bridge no matter how many divisions you have.

Unfortunately with the way the hangers are described in the model, if i split the beam in half first, the model gets confused when trying to find intersections between the hangers and two different polylines. And if i use the multiple curve intersection component i get intersections between crossing hangers which I don’t want.

Network (140.1 KB)


please see the example of how you can use the intersection to split the two halves and then define different Element IDs to apply the symmetric loading each time.

Network (144.6 KB)

1 Like