For the complete documentation index, see llms.txt. This page is also available as Markdown.

Cross Project - Soil Structure Interaction

This guide walks through performing a soil-structure interaction (SSI) analysis on an isolated substructure model that stays linked to your global bridge model.

Once your global model is ready, you can use the following workflow for two purposes:

  1. Nonlinear analysis of substructures — useful for analyzing slender columns independently.

  2. Soil-Structure Interaction analysis — incorporate nonlinear springs to evaluate the interaction between the soil and the structure.

The main benefit is that any change to the global model (or any modification that affects analysis results) can be pushed to the substructure model with a single sync. Change management stays simple.

Throughout this article, your existing model (superstructure + substructure) is the Parent Project, and the isolated substructure model is the Child Project.

1. Transfer Model

  1. In the Parent Project, navigate to Organization > Cross-Project Data > Shared Substructure. Select the support line above the substructure you want to model.

  2. Open a new project using the same workflow type as the Parent Project (Steel I-Girder is used in this example). This is the Child Project — it will hold the substructure, soil layers, soil set, etc.

  3. Import the External References workflow so the Child Project can reference the parent model. Switch to the External References workflow, select Project Objects, then:

    1. Open the three-dot menu and choose Add Projects…. In the dialog, select the Parent Project.

    2. Open the three-dot menu again and choose Select Shared Objects…. In the dialog, select the Shared Substructure object created in step 1.

  4. Create the Child Model.

    1. Open the three-dot menu and choose Sync Shared Object….

    2. Click Zoom Extent. The substructure beneath the selected support line should now be visible.

This method copies the project and also establishes a reference to the Parent Project. Any later change to the Parent Project's substructure is pulled into the Child Project by repeating step 4.

2. Transfer Results

Follow the steps below to transfer analysis results from the Parent Project to the Child Project.

  1. In the Parent Project, navigate to Organization > Cross-Project Data > Analysis Results > Bottom of Column Forces. (See Bottom of Column Forces for details.) Select the column(s) belonging to the substructure, open the three-dot menu, and choose Extract Results to extract the forces.

  2. In the Parent Project, navigate to Organization > Cross-Project Data > Shared Substructure and set Transfer Result Extractions to YES. Results are now ready to sync into the Child Project.

  3. In the Child Project, switch to the External References workflow and open Project Objects.

    1. Open the three-dot menu and choose Sync Project….

    2. The extracted results now appear under Project Analysis Results.

Results are referenced (not copied), so any change in the Parent Project's results can be pushed to the Child Project by repeating steps 1 and 3 — no manual copy/paste is needed.

The remaining sections describe the pre/post processes for SSI in OpenBrIM. All changes are made in the Child Project.

3. Introduce Soil-Structure Interaction Definitions

Follow the steps below to define SSI in the Child Project.

  1. In the Child Project, switch back to your bridge workflow (e.g. Steel I-Girder).

  2. Navigate to Substructure > Soil-Structure Interaction. Define the Soil Layer and Soil Set. (See Soil Structure Interaction for details.) The soil definitions are now ready to assign to the Pile / Pile Group.

  3. Navigate to Substructure > Pile > Single Pile / Pile Group. On the FEA tab, set Soil Spring Type to Nonlinear Spring from the Soil Set and choose the Soil Set you just created. Make sure the real pile length is assigned to Pile Length / Section. (See Single Pile and Pile Layout.)

  4. Disable sync on the Pile objects. Because soil definitions need to be assigned in the Pile / Pile Group, open the three-dot menu on each pile object and click Disable Sync. Otherwise, the next sync from the Parent Project would overwrite your local changes. Disabled-sync objects show a lock icon at the bottom-right of the name cell and a purple badge in the workflow tree.

  5. Create the Construction Stages and set the Nonlinear option to YES. In this example only the piles and footing need to be constructed, since the Bottom of Column force has already been extracted.

  6. Navigate to Loading > Loads > Water Load > Buoyancy. Buoyancy is applied through this library component. Create it and assign it to its own construction stage.

  7. Assign the Bottom of Column force. Using OpenBrIM's parametric features avoids manual copy/paste later when the model changes:

    1. Navigate to External References > Project Analysis Results, select all six forces, open the three-dot menu, and click Copy Parameter.

    2. Switch back to the original workflow: Loading > Loads > Element Loads > Footing Point Load. Select all six forces, open the three-dot menu, and click Paste. An f(x) icon appears in the bottom-left of each cell.

4. Load Factors and Depth of Fixity

The sub-sections below cover Result Combinations and Depth of Fixity in SSI analysis.

4.1 Load Factors

It is common practice to extract Bottom of Column Forces from a Load Combination Table. When that combined force is used in another model, the model's other loads (footing/pile dead load, water load, earth pressure on a buried footing, etc.) are still unfactored. Engineers must apply the appropriate factors when post-processing.

In practice, apply the self-weight factors and input the loads as factored values.

4.2 Depth of Fixity

In the Parent Model, when SSI is not the governing factor, pile foundations can be modeled with the simplified depth of fixity approach.

The pile is treated as a beam-column with no support along its length and a fully fixed support at the depth of fixity (the effective length). In OpenBrIM, set Soil Spring Type to Linear Spring in the Parent Model, then identify the node locations and free all of them except the bottom one.

To find the bottom node location, look at the Soil-Structure Interaction model and pick the second inflection point of the bending diagram (the second location where the bending moment changes sign along the pile, counted from the pile head). An example is shown below.

image-20250325-140931.png

Which pile should be used to read the results?

Bending diagrams are typically similar across all piles, so any single pile is sufficient for determining the depth of fixity.

How to find the bottom node location

Two of several possible methods are shown here. For more details on reading results in OpenBrIM, see FEA Results [QG-3].

Method 1 — Read the inflection point from the spreadsheet

  1. Open Composite Element Force > Stage > Composite Object, click the three-dot menu, and choose Filter. Filter to a single pile.

  2. Read the second inflection point from the table by interpolating between moment values and global Z values.

Method 2 — Read node coordinates from the FEA view

Hover over the nodes immediately above and below the second inflection point and read their global (X, Y, Z) locations. Interpolate between the Z values.

4.3 Determine TZ Stiffness for the Parent Model

Instead of a fully fixed support at the pile bottom, you can determine a TZ stiffness value from the Child Model and assign it to the bottom node of the piles in the Parent Model.

TZ stiffness is computed as TZ=forcedisplacementTZ = \frac{force}{displacement} at the depth of fixity. Determine the depth of fixity from §4.2, then identify the axial force and displacement at that elevation.

Read the displacement

  1. Open Node Displacements (Local) > Stage.

  2. To filter the spreadsheet to the relevant nodes, right-click the nodes above and below the second inflection point in the FEA view. Two rows should appear. (Alternatively, filter by node name from the three-dot menu.)

  3. Read the Z displacement values and interpolate to the depth of fixity elevation.

Read the axial force

  1. Open FELine Force (Internal) > Stage.

  2. To filter the spreadsheet to the relevant element, right-click the line element at the second inflection point in the FEA view. Two rows should appear. (Alternatively, filter by node name from the three-dot menu.)

  3. Read the Fx force values and interpolate to the depth of fixity elevation.

Compute TZ=forcedisplacementTZ = \frac{force}{displacement} from the values obtained above.

Last updated