Modeling Lap Joints in a Reciprocal Wooden Structure in Karamba3D

Dear All,
@cp1 et al.

I’m currently working on a reciprocal wooden structure and preparing for production. As part of the design process, we are conducting preliminary structural analysis using Karamba3D.

RF-Karamba.gh (85.7 KB)

The structure consists of intersecting wooden beams with a uniform cross-section. These beams will be connected using a lap joint technique [see image below], where, in most cases, the resulting connection will resemble a quarter-lap joint. The joints will be secured with screws.

My main question concerns the best way to model these joints or this type of structure in Karamba3D. Since the centerlines of the beams do not intersect due to the curvature of the overall structure, i’ve searched the forums for how to approach this. I’ve come across two potential modeling approaches:

  • Felting Method: This approach seems resemble most closely what i’m trying to do and produces a plausible result, but I wonder what it does precisely and what it implies for the internal behavior of the model. Does it essentially introduce small beam elements embedded within the original beams? If so, how does this affect the structural analysis? What Material Choice or crosssection for this “connection” would be recommended? It seems to affect the overall performance of the structure.

  • Splitting Beams at Intersection Points: Another recommendation suggests splitting the beams at their intersections. How does this approach compare to felting in terms of accuracy and structural representation? How would i implement this approach? I struggle to understand how i would have to define all joints in this case, and my results don’t seem very plausible to me.

I based my approach on the felting Method, and i get a plausible result, but I still would appreciate a professional opinion.

Additionally, given that the lap joints are screwed together, and due to their interlocking geometry. I assume that the connection should be modeled as fully rigid, with no degrees of freedom. Is this assumption correct, or should I account for any specific stiffness properties at the joint?

I’m generally unsure if i have defined the joints correctly, as no changes in degrees of freedom seem to have an effect on the structural performance. Does the felting component make the joint definition redundant?

I would appreciate any insights or best practices.

Thank you in advance for your help!

Best regards,
Lorin

Dear @Lorin_Wiedemeier,

Both methods you describe should yield correct results:

  • Felting Method: When provided with a “Beam Id” input, this method introduces a connecting beam element if the minimum distance between two elements is below “LimDist” (see here for details). These connection elements can have arbitrary cross-sections, materials, and joint conditions (refer to the ElementFelting.gh example in the manual). In your case, it’s likely best to use a rigid connection on one side and a fully rotational joint on the other. Keep in mind that very short beam elements can become excessively stiff, potentially degrading the stiffness matrix. To mitigate this, you can define a spring cross-section for the connection element (see here).
  • Splitting Beams at Intersections: If you choose to directly connect and intersect the elements, I recommend defining rotational joints at the connection points. However, if you apply full joints (Rx, Ry, Rz) without stiffness, the nodes connected only through joints will have three rigid body modes, and the small beam remnants at the ends will rotate freely. To prevent this, introduce a small rotational stiffness at the joints. Additionally, ensure that the small beam pieces at the ends are not loaded, as this could lead to excessive displacements.

The felting method requires more computational effort than the splitting option but eliminates concerns about joint stiffness and model loads.

– Clemens

1 Like

@cp1
Dear Clemens,

Thanks for your reply and the detailed explanations—really appreciate it!

I’ve taken some time to go through your suggestions and implement them, but I wanted to clarify a couple of things to make sure I fully understand the setup.

From your response, I gather that the cross-section and material of the connection elements in the Felting method are essentially irrelevant in this case? Meaning their role is mainly to establish connectivity, while their structural behaviour is defined through the joint conditions? Does the relevance of crosssection and material change once rotation is allowed on either end of the beam?

Further, I also have a fundamental question about the UI approach to DOFs for supports vs. joints:

  • For supports, activating a DOF means that movement or rotation in that direction is restrained.
  • For joints, activating a DOF means that movement or rotation in that direction is released.

So in essence, pressing a button means “fix it” for supports and “free it” for joints—do I have that right?

Lastly, based on your suggestion, I’ve set up the connecting elements with a low rotational stiffness on one end and a comparatively higher stiffness on the other to simulate partial rigidity. Does this reflect what you were trying to tell me?

Thanks again for your time!

Best,
Lorin

Dear @Lorin_Wiedemeier,

the cross-section and the material of the connection elements are not completely irrelevant. They should guarantee a sufficiently stiff connection so that the connected elements do not glide through each other. Set the cross section and material of the connection element to e.g. that of the connected elements.

Regarding joints and supports: your above description is correct.

I would use a rigid connection on one end of the connection element and a rotational joint with small stiffnesses on the other.

– Clemens

1 Like

A typical approach relating to the stiffness of the link elements is to start with something similar to the original member material and sizes.

What is also useful is to then study the effect of that stiffness on global results (e.g. deformations, buckling load) and local results (e.g. member forces). So increase stiffness 2-3 steps and decrease stiffness 2-3 steps in magnitude and you get a lower bound and a higher bound level of performance. You also understand how sensitive your structure is to that particular stiffness.

Something I have looked at in the case of elastic timber gridshells back in the day:
https://www.researchgate.net/publication/261860250_Geometry_and_Performance_of_Timber_Gridshells_MPhil_Thesis

Final thought, I guess you can also explicitly generate the link elements so that you can better control their position/orientation, if that makes sense in your case (e.g. have a specific link be perpendicular and aligned to one beam).