Don’t Invert the Matrix

A common issue with linear algebra textbooks is the depiction of $latex {\bf x}={\bf A}^{-1}{\bf b}$ as the solution to the linear system of equations $latex {\bf A}{\bf x}={\bf b}$. Find the inverse of the matrix $latex {\bf A}$, then multiply that inverse with the right-hand side vector, $latex {\bf b}$. Theoretically correct? Yes. Practical? … Continue reading Don’t Invert the Matrix

Single Quotes or Double?

Python, like many other languages, uses single (') and double quotes (") for multi-character strings. This was a bit for me to digest coming from the C++ world where single and double quotes have distinct uses: single quotes for a character and double quotes for strings. Functionally, there's no difference between single and double quotes … Continue reading Single Quotes or Double?

Stop Hogging All the RAM

While writing a previous post on elastic shear beams available in OpenSees, I noticed that the ElasticTimoshenkoBeam3d class stores the element stiffness matrix, along with several other matrices, as private data. As a result, each instance of this class keeps its own copy of several 12x12 matrices for the element response instead of writing to … Continue reading Stop Hogging All the RAM

Geometric Transformation

OpenSees offers three types of transformations between the basic system and global system for frame (beam-column) elements: Linear - small displacement assumptions for compatibility and equilibrium PDelta - small displacement assumption for compatibility with the $latex P-\Delta$ term included in equilibrium Corotational - large displacement assumption for compatibility and equilibrium Use the geomTransf command to … Continue reading Geometric Transformation

Another Way to Get Bad Eigenvalues

With daily posts during NaBloPoMo, LBUs are highly coveted. And I'm not afraid to partake in incremental blogging. Heck, LPUs and incremental publishing seem to be de rigueur. Anyway, with zero shame, here's an insidious variation of a recent post on how to get bad eigenvalues from your OpenSees model. If negative mass can lead … Continue reading Another Way to Get Bad Eigenvalues