> For the complete documentation index, see [llms.txt](https://docs.enercalc.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.enercalc.com/sel-faq/using-the-software/calculation-modules/analysis/enercalc-3d/diagnosing-instabilities.md).

# Diagnosing Instabilities

How to find and fix model instabilities in ENERCALC 3D from unrestrained nodes and unconnected members.

Diagnosing instabilities can be a tricky process as it is highly dependent on your model configuration, fixity assignments, joint releases, etc. There are numerous causes of an unstable model, but the most common causes are briefly mentioned below:

## Unrestrained Nodes

The predominant cause of model instability is the inappropriate application of member end releases and boundary conditions leading to nodes that are unrestrained with respect to ***rotation*** (sometimes referred to as "spinning nodes"). All nodes require at least one member or boundary condition associated with it. Sometimes, it may be necessary to eliminate a member end moment release (via *Modify > Misc > Member Properties > Moment Releases*) or add more restraint to the joint boundary conditions (via *Create > Boundary Conditions > Support*) to ensure the node is adequately restrained with respect to ***rotation***.

For example: A member with a pinned end framing into a pinned support can result in a rotationally unrestrained node. A possible solution in this scenario would be to eliminate the member end moment release and leave the pinned support. The pinned support will still lead to the same result of zero moment-transfer at the end of the member.

![](https://1076748670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtBL2fEQRwrlKSM2irFL0%2Fuploads%2Fgit-blob-c613e289aa7a2e16cc561ce6b2e2e5d66f1898f3%2FDiagnosing%20Instabilities%20-%20Unrestrained%20Nodes.jpg?alt=media)

## Unconnected Elements

When one member frames into another and its end node aligns with the axis of the joining member (such as a beam framing into a girder), it does not necessarily mean that the two members are connected. Remember, members are only connected at their end nodes. For load transfer to occur between the two members, each member must be connected to a common intersecting node.

ENERCALC 3D does not automatically split members when intermediate nodes occur along the length of a member. If a node occurs along the length of a member but is not connected to that member, you'll see the following warning: "Mergeable nodes are found on members. Do you want to continue solution process?"

![](https://1076748670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtBL2fEQRwrlKSM2irFL0%2Fuploads%2Fgit-blob-bbfa1b0291eb774ea5c003c3f517ba668a43180c%2FDiagnosing%20Instabilities%20-%20Mergeable%20Node%20Warning.jpg?alt=media)

This warning message can be a sign that members are not connected as expected, and further investigation may be required. However, it does not necessarily mean that this is the cause of a model instability. In fact, there may be situations where you specifically ***do not*** want intersecting members to be connected (for example, a tension rod X-braced frame where the tension rods bypass one another at the intersection. In this instance, two members may cross without a common node, and it is still a valid configuration, but it will not trigger the message about “mergeable nodes found”.)

ENERCALC 3D simplifies connecting intersecting members. To connect two or more crossing members when there isn’t a common node at the intersection yet:

1. Create a Common Node: Select the intersecting members to be connected and automatically insert a node at the intersection via *Modify > Misc > Split > Insert Nodes at Intersections of Selected Members*.
2. Split the Members at the Common Node: Select the member(s) to be split as well as the common node and click *Modify > Misc > Split > Split Selected Members at Nodes*.

![](https://1076748670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtBL2fEQRwrlKSM2irFL0%2Fuploads%2Fgit-blob-d93257c3cacb14de29061790c39c3b4c0010be0a%2FDiagnosing%20Instabilities%20-%20Split%20Crossing%20Members.jpg?alt=media)

To connect two or more crossing or intersecting members when there is already a node at the desired connection location:

1. Select the member to be split as well as the common node and click *Modify > Misc > Split > Split Selected Members at Nodes*.

![](https://1076748670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtBL2fEQRwrlKSM2irFL0%2Fuploads%2Fgit-blob-91b71f922008f91cd9fbd90568578bc976a7d88a%2FDiagnosing%20Instabilities%20-%20Split%20Intersecting%20Members.jpg?alt=media)

## What help is available in diagnosing instabilities in ENERCALC 3D?

The analysis Log File is one of the greatest resources when diagnosing instabilities in ENERCALC 3D as it often identifies which nodes are unstable and which rotational axes are unrestrained. After running the analysis, the Log File can be viewed by clicking *Analysis > View Log File*.

![](https://1076748670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtBL2fEQRwrlKSM2irFL0%2Fuploads%2Fgit-blob-814ee2cedbd8649699961ab7ffe2069e0ceaee9f%2FDiagnosing%20Instabilities%20-%20Log%20File.jpg?alt=media)

Please see the following video: [3D - Defining and Assigning Moment Releases](https://www.youtube.com/watch?v=zdzSnlNHzpk\&ab_channel=ENERCALCSoftware)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.enercalc.com/sel-faq/using-the-software/calculation-modules/analysis/enercalc-3d/diagnosing-instabilities.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
