# User-defined point connection between structural elements (structural-analysis-domain)

**URL:** <https://forums.buildingsmart.org/t/user-defined-point-connection-between-structural-elements-structural-analysis-domain/2633>\
**Category:** Developers\
**Tags:** ifc4\
**Created:** [April 21, 2020, 1:25am UTC](https://forums.buildingsmart.org/t/user-defined-point-connection-between-structural-elements-structural-analysis-domain/2633 "2020-04-21T01:25:49Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jesusbill](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.buildingsmart.org/jesusbill/32/1122_2.png) [@Jesusbill](https://forums.buildingsmart.org/u/Jesusbill)\
**Post date:** [April 21, 2020, 1:25am UTC](https://forums.buildingsmart.org/t/user-defined-point-connection-between-structural-elements-structural-analysis-domain/2633/1 "2020-04-21T01:25:50Z")

</div>

Hi all,

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?

---

<div class="post-metadata">

**Author:** ![Moult](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.buildingsmart.org/moult/32/196_2.png) [@Moult](https://forums.buildingsmart.org/u/Moult)\
**Post date:** [April 22, 2020, 11:02pm UTC](https://forums.buildingsmart.org/t/user-defined-point-connection-between-structural-elements-structural-analysis-domain/2633/2 "2020-04-22T23:02:59Z")

</div>

Ping @jonm - who has a structural background and is also an implementor, who might be able to answer this one.

---

<div class="post-metadata">

**Author:** ![jonm](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.buildingsmart.org/jonm/32/16_2.png) [@jonm](https://forums.buildingsmart.org/u/jonm)\
**Post date:** [April 22, 2020, 11:24pm UTC](https://forums.buildingsmart.org/t/user-defined-point-connection-between-structural-elements-structural-analysis-domain/2633/3 "2020-04-22T23:24:52Z")

</div>

Some more examples and improvements to the documentation might help, but here’s my understanding.  
If you refer to [https://standards.buildingsmart.org/IFC/RELEASE/IFC4\_1/FINAL/HTML/link/ifcrelconnectsstructuralmember.htm](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/link/ifcrelconnectsstructuralmember.htm)  
then the AppliedCondition attribute does indeed nominate the connection behaviour (ie release or hinge).  
The concept [IfcBoundaryCondition](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/schema/ifcstructuralloadresource/lexical/ifcboundarycondition.htm) is reused for restraints, but is used in different relationships.  
The predefinedtype [IfcStructuralCurveMemberTypeEnum](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/schema/ifcstructuralanalysisdomain/lexical/ifcstructuralcurvemembertypeenum.htm) can inform the behavior of the member, but doesn’t override explicit releases (if one end is hinged and not the other).

Hope this helps.

---

<div class="post-metadata">

**Author:** ![Jesusbill](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.buildingsmart.org/jesusbill/32/1122_2.png) [@Jesusbill](https://forums.buildingsmart.org/u/Jesusbill)\
**Post date:** [April 23, 2020, 5:02pm UTC](https://forums.buildingsmart.org/t/user-defined-point-connection-between-structural-elements-structural-analysis-domain/2633/4 "2020-04-23T17:02:08Z")

</div>

Thank you @jonm for your help, I had somehow overlooked the AppliedCondition attr. in IfcRelConnectsStructuralMember. I also did not see it implemented in any of the files I have.

This means that there is pretty much all the flexibility to define, rigid or elastic, internal and external constraints. It sounds great.

I have only found one portal frame structure regarding the structural analysis domain. It would be helpful to have some more examples. I would be willing to contribute on that aspect once I have sufficient knowledge and skills.
