The Island of Unfinished OpenSees Business grows every year. I own a few acres on that island and I'm sure you do too. Occasionally, items make their way off the island and get shipped to the mainland, i.e., the OpenSees GitHub repository. Take, for example, the warping frame elements developed at the University of Sydney … Continue reading Wind in Warped Sails

# Tag: OpenSees

# Wipe Out!

I am often reminded that what seems basic to me is not so obvious to others who use OpenSees. For example, the wipe command. What it does--and what it does not do--can be confusing. The wipe command clears out the entire OpenSees model domain (nodes, elements, materials, loads, etc.) and analysis options (algorithm, system, etc.). … Continue reading Wipe Out!

# Plastic Rotation

Plastic rotations are a common damage measure for frame members and frequently define limit states of structural performance under seismic loading. The calculation of plastic rotations for frame elements in OpenSees is based on a decomposition of deformations in to elastic and plastic components. The elastic deformations are obtained by elastic unloading of the basic … Continue reading Plastic Rotation

# Stability Challenge Results

I posted a modeling challenge for the famous, perhaps now infamous, three member truss example of OpenSees. The members are very slender, so I wanted to see how well we can account for geometric nonlinearity. First, the results. There were five entries--three reported a load factor of about 0.47 and two gave a load factor … Continue reading Stability Challenge Results

# Norms and Tolerance

Convergence tests in OpenSees measure how close the algorithm is to finding equilibrium at a time step. Several convergence tests are available, and they all operate on the linearized system of equations that is solved at every equilibrium iteration within a time step $latex {\bf K}_T \Delta {\bf U} = {\bf R}$ where $latex {\bf … Continue reading Norms and Tolerance

# Don’t Try This at Home

The central difference method is an explicit integrator that forms a linear combination of the mass and damping matrices to advance the solution to the next time step. So, if the mass matrix is lumped and there's no damping, or only mass-proportional damping, the left-hand side matrix is diagonal. Then, you can solve the system … Continue reading Don’t Try This at Home

# 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

# Fiber Section Centroids

If you define a fiber-discretized cross section in OpenSees using section coordinate systems A and B shown below, will you get the same response when you apply axial load and bending moments to the sections? The answer is yes. You will get the same response from sections A and B. The fiber sections compute the … Continue reading Fiber Section Centroids