Member Loads
Member loads are effects applied along structural members. They include distributed loads (spread along the member length), concentrated loads (point forces at specific locations), and thermal loads (uniform temperature change and/or temperature gradients across the cross-section).
Types of Member Loads
You can apply three main types of loads to members:
1. Distributed Loads
Loads laid out continuously along part or all of the member's length. Common examples:
- Uniform Distributed Load (UDL) - Constant magnitude, like a floor slab resting on a beam.
- Trapezoidal Load - Magnitude varies linearly from start to end (e.g., wind pressure varying with height).
- Partial Loads - Loads that only apply to a specific segment of the member.
2. Concentrated Loads
Point forces applied at a specific location along the member, such as a secondary beam framing into a main girder.
Note: Point moments on members are not currently supported in the UI.
3. Member Thermal Loads
Temperature effects applied to the entire member. Three independent components:
- Uniform temperature change (ΔT) - The whole cross-section heats or cools by a constant amount. In a fully restrained member this produces axial force
EAαΔT; in an unrestrained member it just elongates. - Gradient along local-y (∂T/∂y) - A linear temperature variation along the member's local-y axis (vertical for a horizontal beam). For a section in its default orientation this is the through-depth gradient — top fibre hotter than bottom — bending the member about its local-z axis. Common in solar exposure on roofs, bridge decks, and differential thermal between floors.
- Gradient along local-z (∂T/∂z) - The same effect along the member's local-z axis, the other transverse direction. For a default-orientation section this is the through-width gradient.
An optional α override column lets you apply a thermal expansion coefficient that differs from the member's material — useful for stainless or aluminium members embedded in a steel frame, or for matching a textbook example with a non-standard α.
Adding Member Loads
You can add loads via the Loads Dialog or the context menu.
Using the Loads Dialog
- Click the Loads button (↓ icon) in the ribbon.
- Select the Member Distributed, Member Concentrated, or Member Thermal tab.
- Enter data in the spreadsheet grid.
Using Context Menu
- Select specific members in the 3D view.
- Right-click and choose Member Distributed Loads, Member Concentrated Loads, or Member Thermal Loads.
- The dialog will open on the matching tab with the selected member IDs pre-filled.
Distributed Load Properties
When defining distributed loads, you specify:
- Case: The load case ID (e.g., "1" or "DL").
- Member: The ID(s) of the members to load. Supports ranges (e.g., "1-5, 8").
- Axis: The coordinate system for the load direction (Global or Local).
- Units: The unit used for position (% or Length unit like m).
- Start/Finish Position: Where the load begins and ends.
- For %: Use 0 to 100 (0 = start node, 100 = end node).
- For Length: Use distance from the start node (e.g., 2.5m).
- Start/Finish Force (X, Y, Z): The magnitude of force per unit length at the start and end positions.
Examples:
- Full Length UDL: Start Pos = 0, Finish Pos = 100 (%), Start Force = -5, Finish Force = -5.
- Triangular Load: Start Force = -10, Finish Force = 0.
Concentrated Load Properties
For point loads on members:
- Position: The location of the point load along the member.
- For %: 50 is the midpoint.
- For Length: Distance from start node.
- Force (X, Y, Z): The magnitude of the concentrated force (kN, kip, etc.).
Member Thermal Load Properties
Each row applies one combined thermal effect to one or more members:
- Case: The load case ID.
- Member: The ID(s) of the members to load. Supports ranges (e.g., "1-5, 8").
- ΔT (°C / °F): Uniform temperature change applied to the entire cross-section. Positive = heating, negative = cooling. In a free member this produces axial elongation
α·ΔT·L; in a restrained member it produces axial force. - ∂T/∂y (°C/m or °F/ft): Linear temperature gradient along the member's local-y axis — the through-depth gradient (local-y is vertical for a horizontal beam, top fibre hotter than bottom). Enter it in the section's geometric depth direction. On a sideways member it follows the 90° section roll (stays attached to the section as drawn); on an angle / Z-purlin section (non-zero Alpha) the solver automatically decomposes this geometric-frame gradient onto the principal axes (see the notes below). Positive value means the local +y face is hotter than the local −y face. Drives curvature about the local-z axis.
- ∂T/∂z (°C/m or °F/ft): Linear temperature gradient along the member's local-z axis, the other transverse direction — the through-width gradient in the geometric frame, likewise rolled by sideways and decomposed onto the principal axes for Alpha sections. Positive value means the local +z face is hotter. Drives curvature about the local-y axis.
- α override (1/°C or 1/°F): Optional. Replaces the material's thermal expansion coefficient for this row only. Type a number directly — for AISC steel use
1.17e-5in metric mode (1/°C) or6.5e-6in imperial mode (1/°F). Leave blank to use the material's α.
Worked Examples
Two step-by-step entries to make the first row easy. Both assume metric units (°C, m) and a load case named DL already created.
Example 1 — Whole-member heating of +30°C on members 5 and 6
A summer-load scenario: a steel roof beam fully restrained against axial elongation.
- Right-click the selected members → Member Thermal Loads (or open the Loads Dialog → Member Thermal tab).
- In row 1 type: Case =
DL, Member =5, 6, ΔT =30. - Leave ∂T/∂y, ∂T/∂z, and α override blank.
- Click OK.
If both ends of the member are fixed against translation, the analysis develops axial compression N = E·A·α·30. If one end is a roller in the axial direction, the member elongates freely and reports zero axial force.
Example 2 — Top-hot gradient of +40°C across a 400 mm-deep beam
A typical sun-on-roof scenario: the top flange is 40°C hotter than the bottom flange. Type the gradient as °C per metre of section depth (a per-length rate), not the raw 40°C — i.e. divide the through-depth temperature difference by the depth.
- Open the Member Thermal tab.
- In row 1 type: Case =
DL, Member =5, ΔT =0, ∂T/∂y =100(= 40 °C ÷ 0.4 m). - Leave ∂T/∂z and α override blank.
- Click OK.
A fixed-fixed beam under this gradient develops a constant restraint moment of M = E·I·α·100 along the length; a simply-supported beam camber-bows upward with no internal force.
Example 3 — Combined uniform + gradient
Same member with both effects active. Type both numbers in the same row — they superpose linearly:
- Case =
DL, Member =5, ΔT =30, ∂T/∂y =100.
If you want the two effects on different load cases (e.g. summer uniform on SUMMER, top-hot gradient on SUN) use two rows with different Case values.
Visual on the Canvas
Thermal loads display as a single coloured rail running alongside the member, plus a label showing the values you typed:
- Red rail: heating (positive ΔT).
- Blue rail: cooling (negative ΔT).
- Orange rail: pure gradient (no uniform ΔT).
- Position of the rail: offset on the side of the member that's hotter — the local +y face for positive ∂T/∂y, the local +z face for positive ∂T/∂z. Sign-flipped for negative gradients. Lets you read both axis and sign at a glance even with labels off.
Thermal rails are gated by both the master Show Loads toggle and the Show Distributed Loads sub-toggle (since thermal is a distributed-style effect along the member).
Notes and Conventions
- Storage: the gradient is stored exactly as you type it — a per-length rate (°C/m). The section depth is applied at analysis time, not baked in at input, so the gradient stays the value you entered even if you later swap the section or toggle sideways. The resulting curvature is
κ = α · ∂T/∂y(depth-independent), and the moment isE·I·κ— so changing the section changes the moment through its EI, while your °C/m input is preserved. - Angle / Z-purlin sections: for sections with non-zero principal-axis rotation, the gradient is automatically decomposed onto the principal axes before the solver applies the fixed-end forces. So a gradient typed in the geometric depth direction produces moments about both principal axes, matching benchmark FEA tools.
- Sideways members: the sideways flag rolls the section 90° about the member axis, and the thermal gradient follows the roll so it stays attached to the section as drawn — ∂T/∂y through the depth, ∂T/∂z through the width, both rotating 90° with the section (the response and the canvas rail roll to match). The per-length °C/m value you typed is preserved; only its direction rotates.
- Sign convention: positive ∂T/∂y means the local +y face is hotter; positive ∂T/∂z means the local +z face is hotter.
- Modal / Buckling / P-Delta: a uniform ΔT in a restrained member produces axial compression that correctly feeds into the geometric stiffness for buckling and P-Delta analyses. Modal frequencies are unaffected (thermal is a static load, not a stiffness or mass change).
Coordinate Systems
Global Axis
Directions align with the global X, Y, Z axes of the model. Directions do not change as the member rotates.
- Global Y (-): Gravity loads (downward).
- Global X/Z: Lateral loads like wind (if defined globally).
Local Axis
Directions align with the member's own orientation:
- Local x: Along the member axis (i → j).
- Local y: Perpendicular to the member; for a horizontal beam this is the vertical direction. Loads in this direction produce Vy shear and Mz (major-axis) bending.
- Local z: Perpendicular to the member and to local y; for a horizontal beam this is the lateral direction. Loads in this direction produce Vz shear and My (minor-axis) bending.
Useful for loads applied normal to inclined members, such as wind on a sloped roof rafter.
Asymmetric sections (single angles, Z-purlins): Local y/z are the geometric member axes (local y vertical for a horizontal beam, local z lateral), the same frame the on-canvas load arrow is drawn in. For a section with a non-zero principal-axis rotation (Alpha), the solver automatically decomposes this geometric-frame load onto the principal axes before solving, so a Local load typed in the geometric direction produces deflection about both principal axes and matches benchmark FEA tools. Because such a section bends about its tilted principal axes, a purely vertical Local Y load still deflects diagonally (the same response a Global Y load gives). See Sign Conventions for the full local-axis definition.
Sideways members: the sideways flag rolls the section 90° about the member axis, and a Local load follows the roll so it acts on the cross-section as drawn. Toggling sideways rotates both the applied load and its on-canvas arrow 90° to stay attached to the rolled section (end releases defined about local y/z follow the same roll). Global-axis loads are unaffected.
Sign Convention
- Global: Follows the global axes (Y is up, so -Y is down).
- Local y/z: Positive is in the positive local axis direction.
Area Load Generator
The Area Load Generator converts a pressure (kPa or psf) applied over a floor or roof area into distributed loads on the supporting beams. This automates the manual process of calculating tributary widths and applying loads to each beam individually.
Two Ways to Open
- Whole-model flow: Open the Loads Dialog and click Generate Area Loads. The wizard shows every detected floor level and you tick which ones to load.
- Selection-scoped flow: Select beams in the 3D canvas, right-click, and choose Add Area Load…. The wizard opens scoped to just those members — no level picker — and only the selected beams receive loads. Levels are inferred automatically from the selection.
The right-click item is disabled with a tooltip explanation when the selection cannot support an area load (e.g. a single beam, columns only, or beams with no closed panel for two-way).
How to Use
- Open the wizard via either entry point above.
- Select the load case, enter the pressure, and choose one-way or two-way distribution.
- (Whole-model flow only) Select which floor levels to load. In selection-scoped mode this section is replaced by a Selection Scope summary listing per-level feasibility.
- Click Apply Loads.
Distribution Types
- One-way: Loads are distributed based on tributary width to parallel beams. Results in uniform distributed loads (UDL) on each beam. The algorithm selects the beam direction with more parallel lines. Requires at least two parallel beams in the chosen direction so each has a parallel neighbour.
- Two-way: Uses a 45-degree yield-line method. Short-edge beams receive triangular loads, long-edge beams receive trapezoidal loads, and square panels produce triangular loads on all edges. Requires at least one closed rectangular panel — i.e. two X-running and two Z-running boundary beams meeting at the four corners.
In selection-scoped mode, the distribution buttons are gated by what the selection geometrically supports: if the selection has no closed panel, the Two-way button is greyed out with a tooltip naming the missing edge direction.
Options
- Load Direction: X, Y (gravity), or Z. Sign convention: positive pressure on Y produces a downward (−Y) force — the natural convention for a floor or roof. Positive pressure on X or Z is treated literally — it produces a force along the positive global axis. Enter a negative pressure to flip the lateral direction.
- Replace existing loads: When enabled (default), existing distributed loads on affected members in the same load case are replaced. When disabled, new loads are appended alongside existing ones.
- Excluded members (whole-model flow only): specific beams can be excluded from loading. Tributary widths are recalculated based on the remaining beam set. In selection-scoped mode this option is hidden because the selection itself defines the scope.
- Crossing member warning: If beams at the same level cross each other in plan, a warning is shown since load regions may overlap.
Floor Level Detection
Floor levels are auto-detected by grouping nodes within 50mm of each other in the Y (vertical) direction. Nodes at slightly different elevations (e.g., due to beam depth offsets or modeling imprecision) will be grouped into the same level as long as they are within this tolerance. Both end nodes of a beam must be within 50mm of the level to be included. Sloped beams (more than 30° from horizontal) and diagonal horizontal braces (more than 15° off the X or Z axis) are excluded automatically.
Specific Failure Messages
When loads can't be generated, the wizard surfaces the actual reason rather than a generic "no beams" message:
- "Two-way: not enough X grid lines — add Z-running boundary beams to enclose a panel." — your selection or level has parallel beams in only one direction.
- "Two-way: no closed rectangular panels found at this level." — beams exist in both directions but don't meet at the four corners of a bay.
- "N beams have no parallel neighbour — tributary width is indeterminate." — one-way mode encountered an isolated beam line.
Equilibrium Check
After generation, the total applied force is compared against the input pressure multiplied by the loaded area. A balanced result (within 1%) confirms that the load distribution is correct. The check runs only for two-way distribution where a meaningful reference area exists; one-way over irregular floor shapes intentionally skips the check to avoid false-positive warnings.
Tips
- You can copy/paste data to and from Excel directly into the loads grid.
- The fastest way to apply a partial-floor load (e.g. one bay, a mechanical equipment footprint, a corridor) is the selection-scoped right-click flow — pick the boundary beams you want loaded, right-click, choose Add Area Load….
- If Add Area Load… is disabled in the right-click menu, hover the item to see exactly what's missing (e.g. "Selection has parallel beam lines but no closed rectangular panel").