OpenSees Cloud
OpenSees AMI
An OpenSeesSPecial Request
Original Post - 21 Aug 2022 - Michael H. Scott
Visit Structural Analysis Is Simple on Substack.
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 File
database.
#
# 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
save
and restore
.
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 save
command.
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.