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 if you never intend to use OpenSeesSP. At the end of your scripts, after your analysis but before you call the
wipe command or whatever, add three extra commands to send/receive the model to/from a local
# # End of analysis # ops.database('File','ILoveSP') ops.save(32) ops.restore(32) # # Do more stuff, wipe, or whatever #
These commands invoke the same functions (the aforementioned sendSelf and recvSelf) to send model data between processors in an OpenSeesSP analysis. Only, you don’t need multiple processors or MPI to use the
database commands–one processor and a hard drive is all you need.
The database name,
'ILoveSP', can be whatever you want. The commit tag,
32, can also be whatever integer you want, just use the same tag for
If no errors appear as a result of these three commands, great! You can delete the commands from your script and try it on another model. You can also remove all the local
ILoveSP.*.*.32 files created by the
But if you see an error like below, or any other error involving sendSelf, recvSelf, or FEM_ObjectBroker such as those shown in this post, let me know (by e-mail or a GitHub issue) and I’ll fix it.
Provide a screenshot of the error messages and let me know as much information as possible about the element or material model that caused the problem. For example, in the screenshot above, yes, it’s a truss with element tag 8, but I would also need to know which material model element 8 uses.
Most of the time, it’s an easy fix.
One thought on “An OpenSeesSPecial Request”
This is a great iniciative!