> For the complete documentation index, see [llms.txt](https://docs.openbrim.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.openbrim.org/templates/openbrimfea/results-fea.md).

# Results \[FEA]

After the analysis runs, results become available for every **active** case. The Results branch of the FEA tree lists the result tables the current case produces, and the same values can be plotted on the 3D model.

Available results include nodal displacements and reactions, element forces (axial, shear, bending moment, torsion), shell stresses and forces, spring forces, and support reactions.

## What each result type means, and how to read it

**Nodal displacements** are the solver's primary unknowns; everything else is derived from them. They are reported in the node's **coordinate system**, so a node with a local system assigned reports movement along its local axes, not global ones — which is why a skewed support's displacement can look wrong against a global expectation and be correct.

**Reactions** appear only at restrained degrees of freedom. Their sum must equilibrate the applied load for any single static case, which makes them the fastest and most valuable check in the whole product: if reactions do not balance the load you think you applied, something is wrong upstream, and no other result is trustworthy until it is resolved.

**Element end forces** are reported in the element's **local** axes and follow a sign convention keyed to node order — Node 1 is the i end, Node 2 the j end. Members entered with reversed node order report opposite-signed moments, which looks like a discontinuity across an otherwise uniform run of members and is only a convention. Check local axes before interpreting signs.

**Shell forces and stresses** are reported in the element's local axes too, so a mesh with inconsistent local axes produces results whose signs alternate element to element. Shell stresses are also mesh-sensitive: they are exact nowhere and converge with refinement, and directly under a concentrated load or at a re-entrant corner they are a **singularity** whose magnitude depends on element size rather than on the structure.

**Spring forces** with the relative displacement across the spring give the effective stiffness — the quickest way to confirm a bearing or link is behaving as intended.

## Which results are equilibrium states, and which are not

This distinction governs how results may legitimately be used:

* **A single static case** is a genuine equilibrium state. Reactions balance loads; forces at a section balance across it. All the usual statics checks apply.
* **Envelopes, live-load results and RSA results are not.** Each reported value is a maximum taken over a different load position or combined statistically across modes, so the values do not occur simultaneously, reactions do not balance any single load, and a moment and shear reported at the same section generally belong to different instants.

Reading an envelope as though it were a load state — checking equilibrium, or pairing a maximum axial force with a maximum moment for an interaction check — is the most common misuse of results in the product. Where a genuinely simultaneous set of actions is needed, use [Concurrent Force/Displacement Requests](/templates/openbrimfea/result-combinations-fea/concurrent-forcedisplacement-requests.md).

## Extracting results for design

Raw element results are rarely what a design check needs directly:

* [FE Composites](/templates/openbrimfea/result-combinations-fea/fe-composites-fea.md) resolve the forces of several elements onto one section at its centre of gravity, which is what a section capacity check requires.
* [Concurrent Force/Displacement Requests](/templates/openbrimfea/result-combinations-fea/concurrent-forcedisplacement-requests.md) report one quantity at the instant another is at its extreme.
* [Combinations & Envelopes](/templates/openbrimfea/result-combinations-fea/combinations-envelopes-fea.md) factor and sum cases, or envelope alternatives, and filter staged results by load type.

## Verification

* **Check reactions first, always.** For any static case they must equal the applied load in each direction. This single check catches sign errors, missing load cases, wrong coordinate systems and unintended restraints.
* Inspect the deflected shape before reading numbers. Movement in an unexpected direction, or rigid-body motion, points to a restraint or load-direction problem that makes every number wrong.
* Confirm results exist for the case you are reading — an inactive case produces none.
* For shells and solids, refine the mesh and confirm results converge; treat stresses at concentrated loads and re-entrant corners as mesh-dependent.
* Cross-check a representative result against a hand calculation for a simplified version of the structure.
* Confirm you know whether you are reading an equilibrium state or an envelope before applying any statics check to it.

## Common mistakes

* **Checking equilibrium on an enveloped or RSA result**, and concluding the model is wrong when it is the interpretation that is.
* **Pairing enveloped maxima** for an interaction check, combining actions that never coexist.
* **Misreading element force signs** because node order is inconsistent across a run of members.
* **Reading shell stress at a singularity** and treating a mesh-dependent value as real.
* **Reading results in a local coordinate system** while comparing against a global hand-check.
* **Reading results from a stale analysis** after editing the model — re-run before trusting anything.
* **Reporting peak values from a coarse output step** in a time-history case, where the true peak falls between saved samples.


---

# 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.openbrim.org/templates/openbrimfea/results-fea.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.
