How to Run an OpenSees Container in the Cloud

Now that OpenSees is just another Python module, you can do some pretty cool things in the cloud (and on the ground). One of those cool cloud things is running an OpenSees analysis in a container on Amazon Web Services (AWS) or Microsoft Azure. A KH-lenticular or Kelvin-Helmholtz wave cloud (from this tweet). With either … Continue reading How to Run an OpenSees Container in the Cloud

Incompetence, Not Malice

"Never attribute to malice that which can be explained by incompetence" is a form of Hanlan's razor, an aphorism that explains many actions in academia and elsewhere. For example, we often perceive omissions of important details in published work as intentional acts to prevent reproduction of the research. In some cases, this is true, while … Continue reading Incompetence, Not Malice

Unretiring the String Class

If you've compiled the OpenSees source code, you may have noticed the SRC/string directory, whose two files, G3string.h and G3string.cpp, implement character strings as first-class objects, complete with overloaded operators and deep copies. G3string is based on the String class, which I used for programming projects in my undergraduate computer science courses. In the G3string.h … Continue reading Unretiring the String Class

Just Another Python Module

When OpenSees got off the ground, many finite element analysis software packages relied on fixed format input. So, it was important to integrate OpenSees with a fully functional scripting language to give users flexibility in creating applications without requiring users to write and compile C++ main() functions. I don't remember all the factors that went … Continue reading Just Another Python Module