> 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/geometry-fea/fe-groups-fea.md).

# FE Groups \[FEA]

An FE Group is a named collection of model objects — nodes, lines, surfaces, volumes, springs. Groups are how you refer to a set of things repeatedly without listing them: activating part of the structure in a construction stage, nominating the slave joints of a rigid diaphragm, filtering which elements a load applies to, and selecting what to extract results for.

Groups are **selection** objects. They add no stiffness, no mass and no load, and a group by itself changes no analysis result. What they change is which objects other parameters act on — which makes them indirectly one of the most consequential objects in the model, because a wrong group silently redirects a load, a constraint, or a whole construction stage.

Groups can be nested, so a hierarchy such as *Superstructure → Girder 1 → Girder 1 Web* can be addressed at whatever level a given operation needs.

## Data

**Parent Group:** The group this one belongs to, establishing the hierarchy.

*Engineering influence.* Selecting a parent group includes the contents of all its descendants. This is what makes staging manageable — activating "Superstructure" activates every girder beneath it — but it also means a change deep in the tree propagates upward into every operation that referenced an ancestor. Before adding a group under a parent, check what already references that parent: adding "Temporary Falsework" under "Superstructure" will silently include the falsework in every stage, load and constraint that named the superstructure.

A group with no parent is a root group. Circular parent relationships are meaningless and should be avoided; the hierarchy is intended to be a tree.

**Alignment:** Associates the group with a roadway alignment, so its members can be addressed by station and offset and so alignment-based computations apply to them. Leave empty for a group with no alignment relationship.

**# of Objects (readonly):** The count of objects currently in the group.

*Engineering influence.* This is **output**, not input — a derived value that reports what the group actually resolved to. It is the single most useful field on the object for verification: a group you believe contains 48 girder elements but which reports 0, or 3, or 4800, tells you immediately that a membership rule or a filter is not doing what you assumed. Check it after any change to the model or to the group's filter, and check it before trusting any result that depends on the group.

A count of 0 is the classic silent failure: every operation that references the group — stage activation, diaphragm slaves, load filters — then applies to nothing at all, without raising an error.

{% hint style="warning" %}
This column is derived and cannot be edited, but it is not flagged read-only in the sheet, so typing into it appears to work and the value is discarded on redraw.
{% endhint %}

## Verification

* Read **# of Objects** and compare it against the number you expect. This catches most group problems in one step.
* Select the group in the 3D view and confirm the highlighted set is what you intended — particularly its extent at the boundaries, where an off-by-one member is easy to miss in a count.
* For a nested hierarchy, check the count at each level and confirm parent counts include children.
* After a staged analysis, step through the stages and confirm the structure activating at each one matches the group you assigned.
* Where a group drives a rigid diaphragm, confirm the deformed shape shows every intended joint moving as part of the rigid body — a joint left out of the group will visibly deviate.
* Where a group filters a load, compare the total applied load against a hand calculation of the intended area or length.

## Common mistakes

* **An empty group.** Every operation referencing it silently does nothing. Nothing in the product flags this; only the object count reveals it.
* **Adding a group under a parent without checking what references that parent**, quietly changing the scope of stages, loads and constraints that named the ancestor.
* **Confusing a node's Group with the slave group of a rigid diaphragm**, or with the activation Group on a constraint — these are separate fields with different meanings, and swapping them produces a constraint that either constrains nothing or never activates.
* **Assuming a group updates itself** after model changes without re-checking the object count.
* **Building groups that overlap in staged construction**, so an element is activated twice or deactivated by one stage while another expects it present.
* **Naming groups ambiguously** — several groups whose names differ only in a suffix are easy to select wrongly in a long dropdown, and the mistake is invisible afterwards.


---

# 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/geometry-fea/fe-groups-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.
