Skip to main content

Interaction surface

· 3 min read
Isak Björhag
Marco Pellegrino


When using an API for parametric design, generative design, or optimization, one crucial aspect is the response speed. At StruSoft, we are dedicated to making the API fast and user-friendly. In line with this commitment, we are introducing a new component for interaction volumes. This component accepts arbitrary section shapes with arbitrarily placed reinforcement and generates the corresponding interaction surface. This is done without running any analysis inside the software which will speed up the process considerably.

What is an interaction surface?

An interaction volume is a graphical representation that depicts the capacity of a cross-section. It illustrates the permissible combinations of moments and axial force that a concrete section can withstand without failure. In this case, the interaction volume represents a combination of moment around the y-axis, moment around the z-axis, and normal force, essentially forming a volume. Any combination of these forces that falls within the interaction volume is considered acceptable, while those outside of it result in failure.

Please note that the interaction volume only considers the combined effect of moment and normal force and does not include a comprehensive check for shear, buckling, fire design, or other serviceability limit state (SLS) checks.

A compressive normal force in the concrete section generally enhances its moment capacity. By using an interaction volume, you can observe various situations to ensure that the moment capacity is not compromised if the normal force diminishes or decreases.

How could you use this?

To illustrate the loading, create a point where the x-coordinate corresponds to My, the y-coordinate corresponds to Mz, and the z-coordinate represents the normal force. Utilize the native Grasshopper component 'Mesh Inclusion (MInc)' to determine whether the point is inside the mesh or not.

There are numerous scenarios where this approach can be valuable. Here are a few examples to inspire your imagination:

  • Check all concrete members in the model with the normal force set to zero:

Typically, the lowest moment capacity occurs when the normal force is zero or in tension. Creating a representative load combination under such conditions can be challenging. Instead, you can read the results for all objects into Grasshopper, set all positive normal forces to zero, and use the 'Mesh Inclusion' component to perform the check.

  • Quick preliminary concrete sections:

The interaction volume provides rapid results without requiring any analysis. Hence, it is highly efficient for preliminary section design during the early stages of a project. Once the preliminary design is complete, you can construct the full model and load it into FEM-Design to conduct additional checks, consider serviceability limit states (SLS), and perform fire design.

  • Optimize reinforcement placement in complex section shapes:

Explore various reinforcement placements to optimize the shape of the interaction volume for your specific loading conditions. This approach allows for quick adjustments and fast evaluation of results.

  • Parametric section optimization

By parametrizing your section, you can optimize the cross-section shape to minimize material usage, reduce environmental footprint, or meet other desired criteria.


Grasshopper workflow

You can download the Grasshopper definition used in this tutorial from here 👉Grasshopper Definition

You can find our open-source Grasshopper toolbox on food4rhino or in the package manager for Rhino.

Please feel free to contact us if you have any questions or need support!

📝 Download FEM-Design API
📝 Download StruSoft Trial Version
📰 Newsletter
🙋 Help