Skip to content

Variants & Construction Sequences

Two related features let you study a structure under parallel scenarios and under a staged construction sequence, both accessible from the same workspace and integrated into the normal analysis flow.

Variants

A variant is a what-if overlay on the working model: the same shared geometry, but with a chosen subset of active elements and an optional support set (a named collection of node restraints). The base model is never mutated — each variant is resolved into a derived structure only when it is solved.

Open Analysis → Variants Workspace… for a single window with four tabs:

  • Variants — create and edit variants (id, description, support set, active elements). A variant with All elements checked keeps the full geometry and follows any base changes automatically. Use the Sync with base button to pull in geometry changes and review what has changed.
  • Support sets — define reusable restraint sets (per-node UX/UY/TZ), for example a "provisional supports" set used by a variant or a construction phase.
  • Combine — combine the results of several variants with the same arithmetic as a load combination (a list of variant × case × factor terms and an operation). Use it to compare or superpose scenarios.
  • Sequences — define and run construction sequences (see below).

Once variants exist, a variant selector appears in the tool bar. Picking a variant shows its model and results in the normal editors and views. Variant models stay in sync with the base automatically: geometry and section properties propagate on every selection and Run; a full reconcile (including element removal) runs on explicit Save or Sync with base.

Construction sequences

A construction sequence is an ordered chain of phases. Each phase adds elements (and optionally removes provisional supports), then applies its own load cases as an increment. The analysis is incremental: locked-in internal forces from earlier phases are carried forward, so a member built later does not attract load that was already resisted before it existed.

Defining phases

Each phase is defined by a set of Operations — ordered steps that add or remove elements, supports, or load cases. Operations are composed in the Sequences tab of the Variants Workspace.

Two complementary ways to build the element sets:

  • Construction stages — assign each bar element a stage number (select elements, then use Assign to stage k in the Sequences tab). Phase k then activates all elements with stage ≤ k; growth is monotone by construction. A stage-slider in the toolbar lets you preview the geometry at each stage.
  • Scenes — use named canvas selections (Scene menu) as phase templates. From scenes… in the tab generates phases from an ordered list of scenes, either cumulative (each phase adds the next scene) or exact.

Running a sequence

Sequences appear in the analysis cases drop-down in the toolbar alongside normal linear and modal cases. Select a sequence case and press Run (F5) as usual. Each phase is solved incrementally and its results are stored. After solving, use the phase selector in the toolbar to navigate phase by phase and view displacements, internal forces and reactions for that increment.

The displacement method is a view setting, not a solver setting:

  • Increment — shows the Δu of the selected phase only.
  • Cumulative — shows the running total u₀ + Δu up to and including the selected phase.

Provisional supports and release

A phase can reference a support set (defined in the Support sets tab) to install provisional supports such as props or shores. When a subsequent phase drops that support set, the accumulated reaction is automatically converted into an equivalent release load applied to the remaining structure, so the redistribution is captured correctly. Set Release supports to off on a phase to suppress this (the reaction disappears without redistribution).

Sequences in the analysis flow

Each construction sequence appears as an Analysis Case of type Sequence in the Analysis Cases panel (shown as read-only). This means:

  • sequences appear in the view drop-down alongside normal cases and combinations (order: analysis cases → sequences → combinations);
  • the Analysis Cases panel shows a Status column (solved / pending) for all cases, including sequences;
  • sequences are included in the Python script export — re-running the exported script rebuilds the full model including all phases and operations.

Python script export

File → Export as Python script… (or File → Script editor…) exports the entire model — including variants, support sets, variant combinations, and construction sequences with all their phases and operations — as a runnable Python script. The script uses the public xdfem2d API, so it can be edited and re-run to rebuild a modified version of the model.

Variant models with their own loads and cases are exported as nested helper functions. Construction sequences export their Operation list verbatim and re-resolve the cached phase state (active_elements, applied_cases, case_factors) via resolve_phase_state so the round-trip is exact.

How variants and sequences relate

Both features share the staged construction concept — restricting the active geometry to a subset and applying loads incrementally. The key difference is time:

  • A variant is a parallel scenario, solved from scratch independently of the others. There is no inherited state between variants.
  • A construction sequence is time-ordered: each phase inherits the locked-in forces of all previous phases. Removing an element or support releases its accumulated force into the remaining structure.

Both can reference the same support sets, and sequences can be built from the same scenes used to define variant active-element sets.