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

The PFEM in OpenSees

The Particle Finite Element Method (PFEM), developed by researchers at CIMNE in Barcelona, is an effective approach for simulating fluid-structure interaction (FSI). Because it is Lagrangian, as opposed to Eulerian, the PFEM is a natural choice for coupling with the structural finite elements in OpenSees. And the coupling is monolithic, i.e., in one system of … Continue reading The PFEM in OpenSees

Do It Your Self-Weight

Most solid elements in OpenSees don't do body forces very well, if at all. Among elements that have body forces, the implementation and execution are inconsistent. With surface loads, the story is even more convoluted. However, OpenSees is pretty good at dynamics, so all solid elements handle mass density. Yes, the implementations are inconsistent because … Continue reading Do It Your Self-Weight

Something Like a Double Negative

Double negatives are frowned upon in English, but are acceptable in other languages such as Spanish. For example, "No hay nada" is perfectly fine but may sound odd to native English speakers. Along similar lines, I recently came across some OpenSees code that looked something like this: const int N = 20; double Fx[N]; // … Continue reading Something Like a Double Negative

How to Apply a Pulse Ground Motion

In an OpenSees analysis, not all earthquake excitations have to come from recorded ground motions. In some cases, you just want to apply a full or half sine pulse. Sure, you can use Matlab or Python to create a ground motion file with discrete values that match your desired sine pulse. But that's kinda cumbersome. … Continue reading How to Apply a Pulse Ground Motion