An OpenSeesSPecial Request

Due to sendSelf and recvSelf implementation neglect, OpenSeesSP is broken. I want it to work. Not for OpenSees Cloud, we'll do fine without OpenSeesSP. Instead, it's for everyone out there who wants to run a large model locally without encountering stubborn errors or jumping through hoops to use OpenSeesMP. So, I have a small request--even … Continue reading An OpenSeesSPecial Request

Main Street, OpenSees

Every C++ executable has a main() function and OpenSees.exe, the standalone Tcl executable, is no exception. You can find the main() function in SRC/tcl/tclAppInit.cpp, where nothing much happens besides calling g3TclMain(), which is defined in SRC/tcl/tclMain.cpp, home of more familiar content like the banner and copyright statement. Prior to the conveniences provided by scripting languages--running … Continue reading Main Street, OpenSees

How to Find a Memory Leak in OpenSees

Memory leaks plague virtually all software written in C++ or any other language that requires programmers to manage memory. OpenSees is no exception. With code written by many people with varying knowledge of C++ and very little overall QA/QC, it's fair to say OpenSees has more than its fair share of memory leaks. It's a … Continue reading How to Find a Memory Leak in OpenSees

Parameter Updates in the Loop

Besides visualization and writing output to files, there's some pretty useful things you can do during an OpenSees analysis. One of those things is updating model parameters. Before getting into parameter updating, it is worth showing that OpenSees analyses can be run one step at a time. Many examples online show a dynamic analysis, e.g., … Continue reading Parameter Updates in the Loop

How to Record Fiber Response

Recording the response of a single fiber in a fiber section is a common ask. You will need to use an Element recorder, but what you can record in each fiber is defined in the UniaxialMaterial::setResponse() method. The most common option is 'stressStrain', which gives the fiber stress-strain response history. After setResponse() drills down to … Continue reading How to Record Fiber Response