How Many Clicks Does It Take?

Coding single degree of freedom (SDF) response in order to generate earthquake response spectra is a rite of passage in earthquake engineering research and education. I wrote my first response spectrum in MATLAB. Nowadays, people are likely to use Python. To generate response spectra in OpenSees, you can create a simple one-dimensional model of SDF … Continue reading How Many Clicks Does It Take?

It’s Not Load Control

The static integrators in OpenSees, including displacement control, arc length, and minimum unbalanced displacement norm (MUDN), are based on an incremental-iterative framework. After an initial load increment, each integrator imposes a constraint on the change in load factor at subsequent equilibrium iterations within a pseudo-time step. Displacement control calculates the change in load factor necessary … Continue reading It’s Not Load Control

A Very Stable Challenge

With linear structural analysis, a number is a number. However, reality starts to creep in when physics dictates that you need to account for nonlinear effects. The three member structure shown below is a perfect example--Example1.1.tcl, one of the most OG OpenSees examples. Have you ever paid attention to the member sizes though? If so, … Continue reading A Very Stable Challenge

Nonlinear Elements, Elastic Sections

There's very little reason to use the elasticBeamColumn element in OpenSees. Using nonlinear elements, particularly the forceBeamColumn element, with elastic sections is just as good, if not better for many reasons. Not only do force-based elements with elastic sections make the transition to material nonlinearity easy, they also facilitate debugging your model. Another reason I … Continue reading Nonlinear Elements, Elastic Sections

Load Patterns and Time Series

In nonlinear structural analysis, loads add together, just not their effects. So, the total mechanical load applied to a structural model can be expressed as the sum of time-varying load vectors. $latex {\bf P}(t)={\displaystyle \sum_{i=1}^N} \lambda_i(t){\bf P}_{ref,i}$ Each load vector is the product of a time-varying scalar function, $latex \lambda(t)$, and a non-time-varying reference load … Continue reading Load Patterns and Time Series

Sensitivity Training

Sensitivity of structural response with respect to modeling parameters provides search directions for gradient-based algorithms in reliability analysis, optimization, and system identification. In addition to these applications, stand-alone sensitivity analysis gives useful information about the effect of parameters on the structural response. There are three methods to compute response sensitivity for nonlinear, path-dependent analysis of … Continue reading Sensitivity Training