in order to find the optimized cross section for two connected shells, a catenary and a slab on top (I want to build a bunk bed), Ive got two sets of inputs connected to the optimize cross section component, and would like to add a list of possible load cases. However, the height output of the disassemble cross section component seems to just be the first item of the series of heights for the cross section or the one plugged into the assemble model component.
It seems to work fine when I connect just the gravity load component to the assembly or limit the iterations of the optimization.
I spent a lot of time playing with the different settings of the karmba components and different data structures of the inputs but could not find the issue,
It would be amazing if someone could help me and identify the issue.
Attached you can find the grasshopper file.
Thank you very much for your time and help,
Aero. Hochbett Grasshopper.gh (76.8 KB)
Hi, you have plugged both ids into the groups input of OptimiseCrosSec. This means that the entire surface is optimised with one single cross section. If you remove this, then you will have varying thicknesses and a list of heights for each shell.
Hi Matthew. Thank you for the fast reply. Intuitively I wold have chosen the biggest item on the list of cross section heights. However, it seems the result from extracting the biggest cross section from the list of heights than when I group the Elements. Instead of extracting the tallest height, what is the best way to calculate a uniform heights for the two elements?
The algorithm will not necessarily take the largest cross section. This depends on your load setup and the utilisation of the elements. Please also note that the optimisation process is written according to EC3 - steel design.
sorry for the late response. How would you calculate 2 uniform cross sections for the two shells? Would it maybe be better to set it up as two beams rectangular to each other?
Thank you again for your patience and help.
I disconnected the Shell IDs from the grouping component and think I got the result. However, the cross sections are much bigger than I expected.
The Arch and the plate are connected in the middle. Is it enough to include the points where they meet in both meshes to signal to karma that they are connected?
I read somewhere about spring cross sections. Do I need to use one in this case to connect them?
Hi Matthew, thank you for how much you’ve helped me already.
How does data matching work in the assemble model component?
In case I connect a list of load cases from the variable mesh load component to assemble model, do the elements need to be on separate branches / grafted, so that the whole list of load cases is applied to each of the input elements?
Data management is only important if you want to create multiple models. The assemble model works the same way as typical grasshopper. In most cases, I would advise you to flatten all inputs.
Hm, yes, when I graft the input I get multiple models, I think.
When I connect a single load case instead of a list of load cases, the output of optimize cross seems to be correct.
When I do not plug the 2 element IDs into the optimize cross section component, I get two lists of cross sections, as expected.
However, when I plug in the list of load cases, and the ElementIDs into the grouping input, the cross section for the first element is simply the cross section plugged into assemble model.
Thats why I guess it is a matter of data matching. I don’t know where the mistake is.
How do I need to plug the components into the assemble model and optimize cross section component so that two uniform shells are calculated? Can you maybe plug it in correctly and re upload the file?
Im sorry for the trouble and thanks again for your patience.
Hi, please share your script so that we can take a look at it. make sure to share the rhino file or internalise elements. Also make sure to remove any third party plugins