Skip to content

Rigid Diaphragm โ€‹

A rigid diaphragm makes a group of nodes move as if connected by an infinitely stiff in-plane plate. It is how you model a floor or roof slab that is far stiffer in its own plane than the columns and walls around it.

๐Ÿ”ง Grasshopper component โ€‹

Rigid DiaphragmAlpaca4d โ–ธ 03_Constraint
Rigid Diaphragm component
Inputs
SlavePointsPointlistThe nodes tied into the diaphragm.
MasterPointPointcentroid of the slave pointsThe node whose motion drives the rigid body.
DirectionInteger3Global axis perpendicular to the rigid plane: 1 โ†’ yz plane, 2 โ†’ xz plane, 3 โ†’ xy plane.
Outputs
ConstraintConstraintConstraint object, to be connected to Assemble.

๐Ÿ“ˆ When to use it โ€‹

Use it when

  • You are modelling a reinforced-concrete slab or a composite deck as a stiff floor plate, one diaphragm per storey.
  • You want the lateral response of a building governed by the vertical elements, without meshing every floor as shells.

Do not use it when

  • The floor is genuinely flexible in plane โ€” a timber deck, a slab with a large opening. Model it with Shell elements instead.
  • You only need two nodes tied together โ†’ use Rigid Link or Equal DOF.

๐Ÿ’ก Notes โ€‹

  • The slave points must be roughly coplanar. The component warns you if they are not.
  • The Direction must match the plane the points actually lie in โ€” a floor slab in plan is 3.
  • Diaphragms dominate the global lateral behaviour. Check the direction before reading any storey drift.

Every floor of a tall building is one. The towers of a hundred storeys and more shaken by El Centro - the Bundled Tube, Braced Tube, Buttressed Core, Outriggers and a Damper and Diagrid examples - give SlavePoints a tree, each floor's nodes on a branch of its own, and MasterPoint one of each floor's nodes on the same branches: one Rigid Diaphragm makes a diaphragm a floor. Their floors' mass is given as Mass Points at the floors' nodes, which the diaphragms then carry together.

๐Ÿ”— Relation to OpenSees
tcl
rigidDiaphragm $dir $masterNodeTag $slaveNodeTag1 $slaveNodeTag2 ...

Node tags are resolved from the point coordinates by the Assemble tolerance.