A Better Way to Find Memory Leaks in OpenSees

In a previous post, I explained how to find a memory leak in OpenSees. The basic idea was to put the analysis inside a loop, run the loop a million times, and monitor your operating system for increasing memory usage. A perfectly fine leak hunting approach--as long as you are willing to monitor your operating … Continue reading A Better Way to Find Memory Leaks in OpenSees

Runnin’ Down a Leak

Issue #1214 by zAlexliu-8895 on OpenSees GitHub demonstrated a memory leak with creating patches for fiber sections. The script posted with the GitHub issue is reproduced below. import openseespy.opensees as ops Counter = 0 while Counter < 100000000: Counter += 1 ops.wipe() ops.model('basic', '-ndm', 2, '-ndf', 3) ops.uniaxialMaterial("Concrete02", 1, -33, -0.0015, -20, -0.005, 0.1, 2.2, … Continue reading Runnin’ Down a Leak

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