Plates (Shell Elements)
Plates let you model surface structures (slabs, walls, cores, diaphragms and shear panels) as a mesh of flat shell elements: four-node quadrilaterals and three-node triangles. Each element carries both in-plane (membrane) and out-of-plane (bending plus transverse shear) action.
A quad plate is drawn by clicking three corners on the canvas (the fourth is derived automatically); a triangle plate is drawn by clicking its three vertices. Either is then subdivided into a regular grid of shell elements. Each click snaps to existing nodes, member endpoints and the grid; empty-space clicks create new corner nodes on the active view plane. Plates do not need to be enclosed by beams, so flat slabs, shear walls, tilt-up panels and free roofs all work directly. When corners land on existing nodes, plate elements and the surrounding frame share those nodes and connect without manual constraints.
Element Formulation
The shell elements are flat Mindlin–Reissner shells that carry both membrane and bending plus transverse-shear action. Two are available and may be mixed freely in one mesh: a four-node quadrilateral (MITC4) and a three-node triangle (MITC3). Both expose the same six DOFs per node, the same local frame and sign conventions, and the same result quantities, so a mixed quad/triangle mesh is consistent. Each is built from three superimposed parts:
- Bending: Mindlin–Reissner plate theory, so transverse-shear deformation is included (valid across both thick and thin plates).
- Transverse shear: assumed-strain tying that removes the shear locking which otherwise over-stiffens thin plates. The quad uses Bathe–Dvorkin MITC4 tying; the triangle uses Lee–Bathe MITC3 tying.
- Membrane: on the quad, isoparametric four-node plane stress enhanced with Wilson–Taylor incompatible modes (statically condensed) so coarse in-plane bending of walls and panels isn’t over-stiff, with Hughes–Brezzi drilling stabilisation supplying the in-plane rotational (drilling) stiffness. The triangle uses an optimal drilling-membrane formulation (Allman / Felippa) that carries the in-plane rotation as genuine stiffness, so a single triangle is rank-sufficient without a drilling penalty. Either way the element couples cleanly to beam members at shared nodes.
Each node carries the full six DOFs [u, v, w, θx, θy, θz], matching the beam elements, so plates and frames share nodes directly without manual constraints.
Local Axes & Sign Conventions
Each plate has a local frame derived from its corner geometry. The plate normal (local z) is canonicalised the same way for both element types, so it does not depend on the order the corners were picked:
- Local z: the plate normal, canonicalised to point “up-ish” (towards global +Y; for vertical walls whose normal is horizontal, +X then +Z break the tie).
- Local x: the global X axis projected onto the plate surface (so a flat slab gets x aligned with global X, and a wall gets x horizontal and y vertical). If the plate faces along global X (its normal is X), local x falls back to the global Z projection. This is fixed entirely by the plate’s geometry, so it is the same for quads and triangles and never depends on the order the corners were picked or on whether the plate was mirrored or copied.
- Local y:
z × x, completing a right-handed frame.
Surface pressure is positive along local +z: it pushes the plate the way the red normal arrow points (toggle Show Plate Normals to see it). Because the normal is canonicalised upward, a flat roof’s +face is on top, so a positive pressure acts upward; enter a negative value for a downward (gravity) load. The cracked-section modifiers kx / ky act along local x and y respectively.
Result bending moments are reported sagging-positive. Mx and Myare the bending moments per unit width that produce normal stress in the local x and y directions respectively. A positive value means tension on the plate’s −z face (the bottom of an up-facing slab) and compression on the +z face, matching the usual reinforced-concrete convention: a simply-supported floor slab reads a positive sagging moment at midspan (the demand that sizes the bottom reinforcement) and a negative hogging moment over a support. The twisting moment Mxy and the principal moments M1 / M2 shown in the UI are also reported in this sagging-positive display convention; membrane direct stresses Sx, Sy are tension-positive.
This display convention matters when comparing against raw tensor-style plate moment output. For principal bending moments, AutoCalcs first converts the bending tensor to the sagging-positive display convention and then computes M1 / M2, preserving M1 ≥ M2 in the displayed values. Compared with a raw tensor convention, the displayed principal labels are therefore swapped and negated: M1(display) = -M2(raw) and M2(display) = -M1(raw). Use exported/tabulated comparison data rather than screenshot labels alone when validating sign conventions.
Creating a Plate
The Plates dialog offers Add Quad Plate and Add Triangle Plate. Both minimise the dialog, enter draw mode on the canvas, then re-open to the same shape-aware configure view. The steps below describe the quad; the triangle variant follows.
You can also create a plate directly from existing nodes: select exactly 4 valid corner nodes, right-click the selection, then choose Add Quad Plate. For a triangular plate, select exactly 3 valid corner nodes and choose Add Tri Plate. The same configure view opens, using the selected nodes as the plate corners. The context-menu option appears only when the selected nodes pass the plate geometry checks and no members are mixed into the selection.
- Open the Plates dialog and click Add Quad Plate. The dialog minimises and the canvas enters draw-plate mode.
- Click 1: place the first corner. The click snaps to existing nodes, member endpoints and the grid; an empty-space click creates a new corner node on the active view plane.
- Click 2: place the second corner. The edge from corner 1 to corner 2 fixes the orientation of one side of the rectangle.
- Click 3: place the third corner. The cursor is locked to the perpendicular axis from corner 2, so the rectangle is square-cornered by construction regardless of where the cursor sits. The fourth corner is derived automatically. Press Esc at any point to cancel; right-click rolls back the last clicked corner.
- The dialog re-opens to the configure view. Set the target tile size(mesh density per edge = edge length / target; leave blank for a single element, and the dialog shows the resulting
nx × nygrid and tile count live), thickness and material. - Click Generate Mesh (or Add Plate for a single element).
Add Triangle Plate works the same way but takes three clicks, one per vertex, with no fourth corner derived. The same configure view then subdivides the triangle into a grid of MITC3 sub-triangles. The mesh density is taken from the longest edge and snapped so a triangle edge welds node-for-node to an adjacent quad or triangle edge of the same length and division count; leave the tile size blank for a single triangle element.
Corner nodes already in the model are reused (so a wall plate snapped onto a floor plate’s top edge shares those two nodes automatically); empty-space corners get freshly-created nodes. Interior and mid-edge mesh nodes are then interpolated across the plate surface and tagged with the group’s mesh id so they can’t be edited by hand.
Cancelling at the configure view drops any corner nodes that were created just for that draw; nodes you snapped onto from existing geometry stay put. The plate itself commits to history only when you confirm; a single Ctrl+Z after confirmation removes the plate, its mesh-interior nodes and any freshly-created corners in one step.
Meshing Limits
The solver is pure-Python, so shell DOF count drives solve time hard. The dialog enforces:
- Maximum 100 subdivisions per edge.
- Hard cap of 2500 tiles per mesh group.
- A warning above 1000 tiles, since solves at that density can take tens of seconds.
Concrete Stiffness Modifiers (Cracked Section)
When the assigned material is concrete, each plate group exposes kx and kystiffness factors for the plate’s two local directions. For normal cracked concrete, keep the two values equal. Use different values only when you want the analysis model to be stiffer in one plate direction than the other, such as a one-way slab or ribbed deck represented as a plate.
Lower values make the plate more flexible and reduce the force it attracts in the analysis. For walls and diaphragms, this can change lateral force distribution as well as deflection. The factors do not change thickness, mass, density or self-weight.
AutoCalcs derives the related shear and twisting stiffness automatically from kx and ky. These fields are directional stiffness factors for this plate model, not a separate tested-material definition with its own shear property.
| Preset | Factor | Reference |
|---|---|---|
| Gross (uncracked) | 1.0 | — |
| Slab | 0.25 | ACI 318-19 Table 6.6.3.1.1(a) |
| Wall, cracked | 0.35 | ACI 318-19 / CSA A23.3 cl 10.14 |
| Wall, uncracked | 0.70 | ACI 318-19 / CSA A23.3 cl 10.14 |
Set kx and kyequal for normal cracked concrete. Set them different only when directional stiffness is intentional. Values are clamped to 0.05–1.0.
Visual Style by Material
Plates are tinted on the canvas according to their material’s family (blue-grey for steel, warm grey for concrete, tan for timber, blue for anything else), so a mixed-material model reads at a glance. Edges always render; the fill changes per view mode:
- Wireframe: faint translucent tinted fill + edges, so plates identify their footprint without blocking lines behind them.
- Outlined: edges only, no fill; useful when you need to see geometry behind a plate.
- Rendered: opaque lit surfaces in the material’s tone + edges. Nodes stay always-visible on top so they don’t disappear into a slab.
Editing & Re-meshing
- Thickness and material are editable per group directly in the list.
- Re-mesh (pencil icon) regenerates the grid from the original corners (4 for a quad, 3 for a triangle) with a new tile size; this restores any sub-elements you had deleted from the group.
- Delete removes the whole group and its interior nodes.
- Groups with differing thickness / material / modifier values across tiles show as mixed until you set a uniform value.
Coupling Plates to Beams
Plates and beams share the same six-DOF nodes, so a mesh connects to a frame wherever their geometry coincides, with no manual links required. Two situations get special handling so the shell’s artificial drillingrotation (the penalty-stabilised DOF about the plate normal) can never corrupt the beam’s bending:
- Corner on a beam axis: when a plate corner sits exactly on a beam, the corner’s rotational DOFs are split off onto a “shadow” node. The plate keeps its drilling rotation locally, the beam keeps clean bending slopes, and the three translations stay fully shared so load and deflection still transfer. Member-only models are completely unaffected.
- Edge meeting a beam mid-span: when a plate node lands partway along a beam (or at a small offset), the solver auto-generates a multi-point constraint (MPC) that ties that node to the beam’s end DOFs using the beam’s own Hermite (bending) + linear (axial) shape functions evaluated at the contact point.
The MPC ties the three translations plus the two genuine plate-bending rotations (those perpendicular to the plate normal), so a slab or deck bends continuously with its supporting beam instead of hinging at the joint. The drilling rotation is left free on purpose, because tying it would feed the shell’s artificial drilling noise back into the beam. (Full composite T-section action additionally requires the beam’s member eccentricity to be set; see Limitations.)
A beam offset above or below a plate with member eccentricity is treated as a rigid kinematic connection, not as a bearing-only contact support. Under gravity load this can reduce plate deflection, but the connection also transfers uplift, tension and reverse load because no gap, lift-off, slip or friction contact is modelled.
Loads on Plates
A surface load is a magnitude (in your current pressure unit: kPa, MPa, psf, ksf, …) plus a direction. It can be applied to a whole mesh group (it fans out to every tile) or to specific elements.
- Normal (the default): a pressure acting perpendicular to the plate, along local +z. Positive pushes the way the red normal arrow points, so on an up-facing slab a positive value acts upward; enter a negative value for a downward (gravity) load. Within each tile the pressure is distributed to the nodes by 2×2 Gauss integration.
- Global X / Y / Z: a uniform area load (per unit plate area) acting along the fixed model axis, signed by the magnitude. Each plate resolves it automatically into the part perpendicular to the plate (applied as a surface pressure, which drives bending) and the part in the plane of the plate (applied as nodal forces, which drives membrane action). So a downward global load on a sloped roof produces both bending and in-plane force in the correct proportions, and a horizontal (for example wind) load on a wall acts in-plane as expected. The total applied force equals the magnitude times the plate area, regardless of how the plate is oriented.
- Self-weight: resolved per plate the same way as a downward global load: the perpendicular component becomes a surface pressure (slabs get the full load) and the in-plane component becomes nodal forces (walls carry their weight in-plane).
Each surface load is uniform over the plate(s) it is applied to. To represent a load that varies across a surface today, apply different values to subsets of the tiles. Like any applied load, a plate surface load can also contribute mass to modal analysis through its component along the gravity direction.
Analysis Support
Plates participate in:
- Linear static: the main plate solve path. Plate-only models are supported; plates do not need surrounding beams to carry load.
- P-Delta: linearised second-order geometric-stiffness analysis for membrane-stressed plate stability cases, such as wall/panel behaviour under axial load plus lateral load. Plate-only wall-style models are supported in the validated cases. This is not a large-displacement nonlinear shell solver.
- Buckling: use the Classic (linearised LBA) method. Plate-only panels are supported when the load case creates in-plane membrane compression or shear stress. The result is an elastic critical load factor and mode shape, not nonlinear post-buckling capacity. The Wittrick–Williams exact method does not include plate stiffness in its assembly, so it is disabled when the model contains plates.
- Modal: plate stiffness and plate mass participate in the eigenvalue solve, including plate-only models. Provide real material density or mass input when periods matter.
Results
Each analysed plate group can be contoured across the mesh. The legend includes a compact Smooth / Bands toggle: Smooth renders a continuous colour gradient, while Bands quantises the same contour field into finite colour levels so transitions are easier to read. This toggle changes the visual presentation only; it does not switch to raw per-element result values.
Plate contours are intended to show the distribution of results across the model. The analysis backend recovers plate moments, shear and membrane stress using SPR/Z2 patch smoothing before those values are sent to the contour renderer. This gives a more readable field across adjacent plate elements, but it can soften sharp local changes near supports, load introduction points, beam or column tie-ins, mesh boundaries, and opening edges where a user has removed tiles from a plate mesh. Refine the mesh where local plate results matter, and use the Summary dialog or Excel export when you need tabulated per-element numerical values.
Available quantities:
- Deflection: resultant magnitude and vertical component.
- Bending:
Mx,My, the twisting momentMxyand the principal momentsM1/M2(all sagging-positive, per the sign convention above). - Transverse shear:
Qx,Qy(recovered transverse shear in the plate local x and y directions; see Limitations). - Membrane: direct stresses
Sx,Sy, shearTxy, principal stressesσ1/σ2and von Mises. - Reinforcement design moments (concrete plates): Wood–Armer bottom- and top-layer demand moments
Mx*,My*, which fold the twistMxyinto the orthogonal-bar demand for sizing top and bottom steel. - Toggle Show Plate Normals in the left sidebar to display each tile’s local +z, the direction a positive surface pressure pushes.
The Summary dialog and Excel reports tabulate per-element plate results and per-group envelopes of these quantities. PDF reports keep the output compact by tabulating per-group envelopes only; use Excel when you need the per-element rows. Group envelopes give the peak sagging (max) and hogging (min) moments, the Wood–Armer reinforcement demands and, in envelope mode, the governing load combination.
Limitations
Worth knowing before you lean on plate results:
- Flat, planar element groups. The current quad drawing tool creates rectangular, square-cornered plate groups and meshes them into flat quadrilaterals; a triangle group meshes a planar triangle into flat sub-triangles. Curved or irregular surfaces are approximated by flat facets. Warped (non-coplanar) quads are rejected at creation and blocked by the model health check; a triangle is always planar by construction. Higher-order (curved-edge) shell elements are not provided.
- Composite action is full (rigid) interaction. A slab or deck acts compositely with a beam only when the beam’s member eccentricity is set to the real offset, and the tie is then rigid (100% shear interaction, no stud slip), which can be un-conservative relative to a partial-composite design. A beam below a plate is not treated as a one-way bearing support; it remains rigidly connected to the plate mesh.
- Members crossing plate interiors need mesh lines. A member drawn through the middle of a plate element is not automatically embedded into the shell. The plate mesh must be split so the member lies on shared plate mesh nodes or plate edges; otherwise the solver cannot transfer force along that member line.
- Transverse shear (Qx, Qy) is mesh-sensitive. The displayed values are recovered/smoothed transverse-shear components in the plate local x and y directions, using the same corner-recovery field as the plate contours. The vector resultant is usually more stable than either signed local component, while individual
Qx/Qycomponents can show large local differences near supports, corners, beam tie-ins and component zero crossings. Refine the mesh where transverse shear governs, and for punching or one-way shear prefer an integrated check (shear taken across a control perimeter or a section cut from the support reactions) rather than designing from a single recoveredQx/Qypeak. - Peak values at concentrations are mesh-dependent. Recovered forces and stresses can spike at point restraints, concentrated load introduction, beam/column tie-ins, sharp mesh corners and opening edges. Those local peaks are mesh-dependent and can keep changing as you refine. Design from section-averaged or integrated values there, not a single contour peak.
- Buckling is linearised only. With plates in the model use the Classic eigenvalue method; the Wittrick–Williams exact method excludes plate stiffness and is disabled. Buckling reports elastic load factors and shapes, not post-buckling strength. P-Delta is linearised second-order geometric stiffness, not large-displacement, cracking, yielding, contact or post-buckling analysis.
Model Health Checks
Plate-specific issues surface in the Model Health dialog alongside the general structural checks:
- Plate overlap (error): two distinct plate groups that are coplanar and share positive area would silently double-count stiffness and mass in the solver, so the analysis is blocked until one is deleted or rebuilt. Side-by-side plates sharing only an edge are fine; the check only fires on actual area overlap.
- Plate warping (error): a tile’s four corner nodes are no longer coplanar (usually because a shared corner was moved after the plate was meshed). Move the node back into plane or delete and re-create the plate from valid corners.
- Plate corner drift (error): the group’s interior / mid-edge nodes are out of position relative to the stored corners (the user moved a corner after meshing and the bilinear-interpolated interior is now stale). Analysis is blocked until you open the Plates dialog and use the per-row Re-mesh icon to regenerate.
- Beam-plate mesh incompatibility (error): plate edges attached to the same supporting member use an incompatible mesh pattern. Re-mesh the adjoining plate edge(s) to compatible subdivisions before running the analysis; nested meshes such as 4 and 8 divisions are supported.
- Unconnected member on a plate face (info): a beam lands on a plate face without sharing an edge or corner. It may be intentional (a column drop) or a missing connection.
- Member crossing plate interior (error): a member passes through a plate element interior without the plate mesh being split or tied along that member line. Re-mesh or split the plate so the member lies on shared plate mesh nodes or edges before running analysis.