Pushes, pulls, and cyclic strain histories of increasing magnitude are solid approaches to testing the stress-strain response of material models. But I'm not convinced these tests will hit every code block of a material model implementation. I mean, have you seen all the nested if-statements and uninitialized local variables that went into Concrete23? Although I … Continue reading Material Testing with White Noise
OpenSees Command Line Arguments
While graphical user interfaces are good for general purpose use, the command line remains the most versatile way to run OpenSees and other computer programs. Passing command line arguments to an OpenSees Tcl or Python script is useful when creating standalone applications for building and analyzing specialized models. Both Tcl and Python have constructs similar … Continue reading OpenSees Command Line Arguments
It Hides in Plain Sight
It's no secret that engineers write technical documents in a style that no one would actually speak. Like, if I'm explaining plastic hinge integration to you in person, it would sound nothing like what's written in the journal article. It's difficult to measure the amount of nonsense in technical writing, but qualitatively, you know it … Continue reading It Hides in Plain Sight
Spreader Beam Analysis
Problems involving beams are few and far between in Hibbeler 14th edition Engineering Mechanics: Dynamics. The problems mostly deal with springs, friction, pulleys, and things that rotate. So, Problem 15-3 was a welcome sight. A six foot long beam weighing 5000 lb is lifted from rest to a velocity of 8 ft/sec in 1.5 sec … Continue reading Spreader Beam Analysis
Faux Contact Sport
In a similar take on sprung masses and friction, it turns out that ENT+InitStrain in a zero length element is also an easy way to fake one-dimensional contact and impact. Consider Problem 14-23 from Hibbeler 14th edition. An 8 kg block, 2 m from a spring of stiffness 200 N/m, is given an initial velocity … Continue reading Faux Contact Sport
Two Sprung Masses and Some Friction Force
In Problem 13-13 from Hibbeler 14th edition, blocks A and B, of weight 8 lb and 6 lb, respectively, rest on a flat surface. A spring of stiffness 20 lb/ft is placed between the blocks. The blocks are pushed together, compressing the spring 0.2 ft, then the blocks are released to slide along the surface. … Continue reading Two Sprung Masses and Some Friction Force
Centripetal Acceleration
How can you induce element forces without defining loads or straining effects due to thermal expansion, residual stress, initial strain, or differential support motion? Centripetal acceleration! Get a mass revolving in a plane about a fixed point and a force directed radially (toward the center of revolution) is required to keep the mass from flying … Continue reading Centripetal Acceleration
Minimal Thermal Example
For verification purposes, I needed to come up with the fixed-end axial force for a beam subjected to uniform thermal expansion. It's not rocket science, nowhere near an LPU, but a little pencil and paper and the free end axial deflection is $latex \alpha (\Delta T) L$. The fixed-end axial force, to push the free … Continue reading Minimal Thermal Example
Projectile OpenSeesing
Growing up in the Pine State, you were either a fan of NASCAR or college basketball, and in some cases both. I leaned heavily toward the latter. The hard dynamics underpins the physics of both sports--and most others. Centripetal forces act on race cars going around turns and projectile motion is a simplified description of … Continue reading Projectile OpenSeesing
How to Use with with OpenSeesPy
The with command offers a clean approach to manage Python resources, particularly file streams. Without going into detail, the with command is a shortcut for exception handling. The nice thing about reading and writing files using the with command is you don't have to worry about closing the file stream. Immediately after the with block … Continue reading How to Use with with OpenSeesPy