Rigid diaphragm: row i ties every node listed against it in
constrained to retained[i] — in 2D the ux dof (core::Domain:: rigid_diaphragm's doc comment); in 3D the two in-plane translational dofs
(perpendicular to normal[i]) plus the lever-arm rotation term
(core::Domain3::rigid_diaphragm_about). constrained is sparse per row —
(row, node index) pairs — since a diaphragm's node count varies.
normal is 3D only: omitted or empty means every row's normal is Y; a
2D model must leave it empty.
Rigid diaphragm: row
ities every node listed against it inconstrainedtoretained[i]— in 2D theuxdof (core::Domain:: rigid_diaphragm's doc comment); in 3D the two in-plane translational dofs (perpendicular tonormal[i]) plus the lever-arm rotation term (core::Domain3::rigid_diaphragm_about).constrainedis sparse per row —(row, node index)pairs — since a diaphragm's node count varies.normalis 3D only: omitted or empty means every row's normal is Y; a 2D model must leave it empty.