Verifying material nonlinear frame element formulations is pretty difficult. There are only a handful of analytical solutions that do not rely on bilinear uniaxial constitutive response. You're much better off verifying geometric nonlinearity. However, an example based on a relatively straightforward biaxial stress resultant plasticity model has intrigued me over the years. The example, described … Continue reading Stress Resultant Verification

# Author: Positive Definite

# Did You Pass Your Patch Test?

The patch test is one of the standard "sanity checks" of finite element implementations. To pass a patch test, an irregular mesh of elements must be able to reproduce a constant stress field. Interior nodes of the mesh should also displace according to a linear displacement field. OpenSees is not known so much for its … Continue reading Did You Pass Your Patch Test?

# Wind in Warped Sails

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

# 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