I have been working for a while with the structural analysis domain models, with the intention to extract all the structural information from a structural ifc model into a json file and then to use Code_Aster, an open-source finite element solver, for the analysis; a study that is now part of the IfcOpenShell and the BlenderBIM project.
My question is on the point connection implementation between two or more elements. It looks like there is no way to explicitly define the connection of each of the elements to the structural node. I wonder if this interpretation is correct, though, thus my first post in the forum.
Let’s consider for example a corner in a frame building where two beams and two columns meet at the same geometric point. The associated IfcStructuralPointConnection will have an attribute called ConnectsStructuralMembers with a list of the associated structural members, while it may or may not have an AppliedCondition attribute with a list of specified boundary conditions. To my understanding this applied condition refers to an external support (ground support or an djacet structure) while all the members are rigidly connected (structurally we can consider a single shared node in the finite element model). But what if I want to consider that one of the elements is pinned-connected to the node, so that it does not transfer for example bending moments? One could say that there is the IfcStructuralCurveTypeEnum definition for the IfcStructuralCurveMember but (i) a value of PIN_JOINED_MEMBER would apply to both ends of the element, whereas this may not be the case, (ii) it still does not allow for any flexibility in choosing the degrees-of-freedom (DOFs) to constrain (maybe a moment release only in one direction is desired). There is a USERDEFINED value available but I do not understand what that means and how it can be used.
If my interpretation is correct I think it is really a pity because I believe it would suffice to have an AppliedCondition attribute assigned to each element connecting to the node to have a very general implementation where one could specify either which DOFs to consider and could even assign an elastic internal connection using a numerical value instead of a boolean. Honestly, when I started working on this aspect I thought that was the case and it was something that I implemented in the finite element implementation, where each element has its own node and I can then dictate the relationships between the coincident nodes of the elements.
Can somebody provide some help to verify or not my interpretation? And to share if there is a way to consider user-defined point connections between elements?