Daisy Chains and Gaffes

When analyzing rigid bodies with multi-point constraints, one potential problem with the Transformation constraint handler is the sequencing of primary and secondary, or retained and constrained, nodes across multiple constraints. Using OpenSees to solve Problem 9.39 from J.C. Smith’s Structural Analysis is a perfect opportunity to show how defining constraints in series, i.e., daisy chaining the constraints, can knock … Continue reading Daisy Chains and Gaffes

What Is a Good Penalty Number?

I often see the penalty constraint handler used with seemingly high penalty numbers like the following: ops.constraints('Penalty',1e18,1e18) I'm not sure why these specific numbers are used so often in scripts, but I suspect these values were used in an old example and have been passed down. And while the 1e18 values might have worked for … Continue reading What Is a Good Penalty Number?

Handling a Doubt

After a post on the "constraint matrix not identity" warning message, a couple people followed up (one by post comment and the other by direct communication) that they didn't realize the Plain constraint handler works with equalDOF constraints. The Plain constraint handler has not always been able to handle equalDOF constraints--I vaguely recall Frank modifying … Continue reading Handling a Doubt

A Rigid Bar Walks Into a Bar

OpenSees has two rigidLink commands that enforce constraints between a primary node (pNode) and a secondary node (sNode). ops.rigidLink('-beam',pNode,sNode) ops.rigidLink('-bar',pNode,sNode) The beam option works well, enforcing linear kinematic constraints as if the two nodes were connected by a beam of infinite axial and flexural stiffness. The bar option should give constraints assuming only infinite axial … Continue reading A Rigid Bar Walks Into a Bar

Rigid Diaphragm for 2D Models

The rigidDiaphragm command allows you to constrain the motion of multiple secondary nodes to the motion of a primary node, e.g., when simulating rigid floor diaphragms in 3D structural models. But what if you want to enforce rigid diaphragm constraints for a 2D model, e.g., as shown below? Prior to PR #764, you would have … Continue reading Rigid Diaphragm for 2D Models

Closing the Loop on Direct Assembly

All structural engineering students learn the direct assembly method, where you fix all degrees of freedom (DOFs) in a structural model, then impose a unit value of displacement at and in the direction of the $latex j^{th}$ DOF in order to get the $latex j^{th}$ column of the stiffness matrix from the fixed-end forces of … Continue reading Closing the Loop on Direct Assembly

Not Just a Modeling Term

Master/slave is common terminology to describe relationships in many technical fields, e.g., between tables in databases or between devices in control systems. The terminology also appears in finite element analysis where the response of one node controls the response of another node through constraints. However, this terminology is based on archaic relationships within our society. … Continue reading Not Just a Modeling Term

Handle Your Constraints with Care

Manipulating the nodal equilibrium equations is necessary to enforce constraints between degrees of freedom (DOFs) at two or more nodes in a structural model. These multi-point constraints arise from assumptions of axial and flexural rigidity of frame elements, e.g., rigid diaphragms, and also between two nodes at the same location where some of the DOFs … Continue reading Handle Your Constraints with Care