Extract column bar end forces

Hi @MarcoPelle
I’m looking fto extract forces for column bar end. I was wondering whether it’s possible to extract these forces storey by storey (That specific storey columns only). I’d appreciate your thoughts, or if there’s a best or more correct way to approach this.

ehi @Ravi

Which list tables would you use in FEM-Design ?

This one?

In that case, you can extract the results using the following method.

var units = new UnitResults
{
    Force = Force.N,
    Length = Length.m
};
var barendForces = femDesign.GetResults<Results.BarEndForce>(units);

Using the ElementId, you will then find a way to see if the column belongs to a certain storey.

You should be able to find information about the ElementId inspecting the content of the Model.

Try to give it a go :slight_smile:
If you fail, let me know that we can try together.

1 Like

Hi @MarcoPelle
I’m not very familiar with C#, but I have a strong understanding of FEM design. What I’m trying to do is extract bar end forces for each load case from all columns above Storey 1 (3 m), for example Column C2, and then apply those forces to Column C1 as equivalent loads. In other words, I want to convert the forces from each load case for the column above storey 1 into corresponding point loads and point moments acting on Column C1.

So, the forces from the Column C2 in model 1 will act as the Loads on Column 4 in model 2.

For reference FEM model is attached

Edge force transfer.str (790.2 KB)

Hey @Ravi

I have created a quick script as an example for you, take a look at it and see how it works :slight_smile:

Depending on how many bars and levels, there is different ways of processing the data in order to get what you want for. But the example is a simplified way (in my opinion :D) of doing what you want.

MainModel.struxml (29.1 KB)

EdgeForceTransfer.gh (30.1 KB)

1 Like

Hi @AndreiM

Thanks for providing the solution. It worked very well and match with result I’m looking for.

I tried to modify the same file you shared such that forces from multiple columns (top level) would transfer to the columns below (as a load). However, the process resulted in an infinite loop.

Would it be possible, instead of transferring the load to another column (lower columns), to generate the FEM file with the converted forces (Bar end forces) applied directly as loads only?

For reference, the image is attached. (Multiple columns level above)

Hey @Ravi

I’m not entirely sure I understand your question correctly, but if you have one model that includes columns on the upper level and another model that contains only the structure on the lower level, you can transfer the resulting internal forces from the bottom of the upper columns and apply them at the top of the corresponding columns in the lower-level model (see the simplified attached example).

That said, this ultimately comes down to how you handle the data. What you choose to transfer, how you apply it, and where you apply it will always depend on the specific situation.

For that reason, I would suggest becoming a bit more familiar with how the main components in the script work and how the results are structured. Once you understand that, you’ll be in a much better position to adjust and “play” with the data according to your needs :smiley:

MainModel2.1.struxml (171.1 KB)

MainModel2.2.struxml (93.5 KB)

EdgeForceTransfer2.gh (36.1 KB)

1 Like

A post was split to a new topic: Read results from file

Hi @AndreiM
Sorry to jump into this topic, but I find it interesting to explore new workflows with FEM-Design, so I’m checking this out as it may help with future work :slightly_smiling_face:

I tried the Grasshopper script (EdgeForceTransfer.gh) attached in the link, but it doesn’t seem to work as intended when I use multiple vertical members (columns) and attempt to transfer forces to multiple column IDs with varying heights.

Please see the screenshot showing the discrepancies.
Attached the .str model as well.

Edge force transfer.str (780.7 KB)