Integraph

Materials

How the Section Analyzer assigns materials to regions, what 'family-agnostic' means for the picker, and how composite (multi-material) sections produce stiffness-weighted (transformed) properties via the modular-ratio method.

Why this matters

Section properties split into two layers:

  1. Geometric properties depend only on the shape and its regions: area, centroid, second moments, plastic modulus, etc. The Section Analyzer always reports these.
  2. Stiffness-weighted (transformed) properties depend on the material assigned to each region. They are reported only when more than one material is present — i.e., when the section is composite.

This page covers how the materials picker behaves in the Section Analyzer (which is intentionally different from LGS and ACS), how to build composite sections, and the modular-ratio method that produces the transformed property set.

The material picker is family-agnostic

In LGS the picker only returns steel grades; in ACS the picker only returns concrete and rebar grades. In the Section Analyzer the picker returns every material your project’s jurisdiction supports — steel, concrete, timber, masonry, any custom material your organisation has added.

This is deliberate. The Section Analyzer is the platform’s general-purpose property calculator — it does not know what kind of structural element you are analysing. You might be checking the section properties of a custom timber composite, a steel-and-concrete sandwich plate, or a built-up section that does not correspond to any single material family. The picker therefore does not filter by family — every material valid in the project’s jurisdiction is listed, and the picker also includes any project-tier untagged materials your team has added directly to this project.

(This behaviour landed in F19 / #1518. Before that the Section Analyzer accidentally filtered to a single family — which made composite sections awkward to assemble.)

Material assignment per region

Each drawn element has a Material dropdown on its row in the Geometry tab. The dropdown is required for outline and inclusion roles; it is ignored for void roles (a hole has no material).

The active material (the dropdown at the top of the Geometry tab) is the default material applied to new elements as they are drawn. Switching the active material does not retroactively change existing elements — that has to be done per row to avoid surprising bulk changes.

Inline material creation

If the right material does not yet exist in your project, the per-element picker has a Create project material action. This opens the standard material dialog with the family pre-selected based on the element’s current material (or steel as a safe default for new elements). The new material is added at project tier — it lives in this project only and is not visible to other projects in your organisation.

Single-material sections

When every region’s material is the same (or only outlines are present and they all carry the same material), the section is single-material. The analyser reports the full geometric property set and the transformed property in the response is null. There is nothing else to do — the geometric properties are the answer.

Composite (multi-material) sections

A composite section has more than one distinct material across its regions. The Section Analyzer supports one composite layout today; a second is planned:

  • Adjacent regions (supported today). Two outlines, or outline + inclusion, that share at most a boundary and never an interior area. The textbook composite-beam case — a concrete slab with a steel beam stacked on top of it — is this layout.
  • Embedded inclusion (planned — tracked at #1748). An inclusion polygon strictly contained inside an outline polygon. The host outline’s material would be displaced by the inclusion’s footprint, so net geometric area is unchanged but the transformed-section path would apply the inclusion’s modular ratio over its footprint. This is the rebar-in-concrete and plate-inside-host-shape case. It is not yet shipped — the region validator currently rejects any outline+inclusion overlap (including strict containment) with overlapping_regions. For embedded-reinforcement workflows today, use the Advanced Concrete Section instead.

The adjacent layout is computed through the modular-ratio method described below; when the embedded layout ships under #1748 it will use the same method. For reinforced-concrete design with proper strain compatibility (concrete cracking, rebar yielding, MMNN interaction), the Advanced Concrete Section is still the right tool — the modular-ratio method here is linear-elastic and only describes the stiffness-weighted geometry, not post-elastic capacity.

The modular ratio

For an axially loaded section made of two materials A and B with Young’s moduli EAE_A and EBE_B, an applied strain ε\varepsilon produces stresses σA=EAε\sigma_A = E_A \varepsilon and σB=EBε\sigma_B = E_B \varepsilon. For the section to behave as a single equivalent piece in bending, regions of material B can be “transformed” to material A by scaling their area by the modular ratio:

nB=EBEAn_B = \frac{E_B}{E_A}

After transformation, every region is treated as if it were made of the reference material A, but its geometric contribution is scaled by nin_i. The resulting section properties are the transformed (or stiffness-weighted) properties — they capture how the composite assembly resists bending under the assumption of plane sections remaining plane.

Reference material

The reference material is the material of the first outline in the region list. In the textbook concrete-slab-on-steel-beam case you would typically draw the concrete first — and the resulting transformed properties are referenced to concrete, which is the natural choice. If you draw steel first, the transformed properties are referenced to steel and the concrete is the region being scaled.

The response includes the reference material’s identity so the consumer never has to guess which axis the transformed properties are expressed in:

"transformed": {
  "referenceMaterial": {
    "id": 12,
    "name": "C32/40",
    "elasticModulus_MPa": 33000
  },
  "area": 38500,
  "momentOfInertia": { "Ix": 1.23e9, "Iy": 4.5e8, "Ixy": 0 },
  ...
}

Plastic modulus is null for composite sections

Three fields are deliberately null in the response when the section is composite:

  • plasticModulus
  • shapeFactor
  • transformed.plasticModulus (not even present in the type)

This is not a bug. Plastic capacity depends on per-material yield, not on modular ratio — squashing a composite section to a single equivalent material and computing ZZ via the boundary integral produces a number that looks like a plastic modulus but does not correspond to any physical plastic capacity. The plasticModulusReason field in the response carries a human-readable explanation.

Composite plastic capacity is therefore handled by the material-specific designers (ACS for concrete sections, LGS for cold-formed steel), each of which solves the appropriate plastic strain-compatibility problem with the right constitutive models.

The reasoning is the same as #874: returning a silently-substituted plastic modulus would be incorrect data, which is worse than no data. The null is the deliberate signal that this question does not have a meaningful answer here.

For the inverse — when you do want plastic capacity for a composite or reinforced section, see:

  • Reinforced concrete sections (rebar embedded in concrete): use ACS, which has the right reinforcement model and applies plane-sections + concrete cracking + rebar yielding correctly
  • Cold-formed steel sections: use LGS, which applies the Direct Strength Method

Material appearance

Each drawn region on the Section Analyzer canvas is filled with the colour of its assigned material. The colour picker now offers a WCAG-safe curated palette — every swatch clears a minimum 3:1 contrast ratio against both the light and dark canvas backgrounds (WCAG 2.1 SC 1.4.11) and stays perceptually distinct from the canvas’s semantic overlay colours. If an existing region carries a colour outside the palette, it is preserved without change (per the §874 principle — incorrect data is worse than no data).

Two non-colour cues accompany every filled region: a thin materialOutline stroke around the perimeter, and a materialLabelText name label drawn at the region centroid. Both resolve correctly under light and dark themes, so the section boundary and material identity are never reliant on fill colour alone.

Worked example

The next step is the composite-section worked example, which walks through a concrete-on-steel adjacent composite, showing both the geometric and transformed property output.