I presented my first ever conference paper on utilizing Buckling Restrained Braces (BRBs) in concrete bridges. During the presentation, I explained my work using OpenSees and the very positive outcomes of the research. Fortunately, my Ph.D. advisor was also present in the audience. At the end of my presentation, he stood up, introduced himself and asked the audience members how many of them knew what BRBs were. To my surprise only a handful of listeners understood the concept of a BRB. I felt embarrassed since nowhere in my presentation I had shown or explained what a BRB was. A few of the listeners had background in Geotechnical engineering and some were students with no knowledge of how BRBs work. So even though I presented very positive outcomes of the research, only a few people could understand what I did or why it was important. I had lost the interest of my audience when I started to use the word "BRB".
The problem? I had assumed that my audience was already familiar with the concept of BRBs. I have observed a similar case with OpenSees documentation. A lot of experienced users have added some really good examples to OpenSeesPy documentation. However, I have been contacted by numerous new users that they have no idea what is going on in those examples. It is true! Look at the examples. It is assumed that the readers know everything about the commands that have been used. There are no annotated figures or images of what is being modeled in the examples. It really makes the learning more difficult. I am equally guilty since I have also submitted two examples to OpenSeesPy documentation. It is time the experienced OpenSees users also become responsible and fix the documentation so the budding users can feel more welcomed. Here is the GitHub repo of the OpenSeesPy documentation: https://github.com/zhuminjie/OpenSeesPyDoc When I started to learn OpenSees in 2013 it was challenging due to lack of a good documentation and any experienced user in our research group. It was really difficult for me with no coding background and being a user of Abaqus/SAP2000 for finite element analysis (with a great graphical user interface, GUI) to learn and appreciate a platform like OpenSees. I am sure a lot of new users double-click "OpenSees.exe" expecting to see something interesting but are greeted by a pitch dark window (Fig. 1). For a few months I kept trying my best to learn something that didn't look interesting to me. In 2014, I attended OpenSees Days (why this name?) in Berkeley that had workshops by Dr. Frank McKenna and many advanced users. That was the turning point. I was highly motivated by the work and examples they presented there. The most interesting parts were: parallel computing and visualization with GID+OpenSees. I remember after completion of my first OpenSees model, I felt like a programming ninja. Fig. 1 Welcome screen of Etabs and OpenSees. Think before you start There is a popular slide by Dr. Frank Mckenna in one of his tutorials that says "THINK before you type". It means that the user should have a clear idea of what they are trying to model. Probably the best way is to draw on a paper the schema of the numerical model you are trying to build with node and element tags on it. I am sure it is valid for everything you do in your life. However, it is important to REALLY think before you start in situations where you are navigating through dark or you can not see the repercussions of your computer program. I know you all think I am talking about space programs where you have to land on the Moon. But that also applies for modeling in OpenSees. Fig. 2 Think before you type. (McKenna , forever) Wait! Modeling in OpenSees should not be that difficult. I should not have to wait for my program to crash or produce some unrealistic results for me to realize I had some ill-connected nodes in my model. I always wanted a quick way to visualize the models I was creating for my research. Thanks to my old laptop, I was forced to switch to Linux and adopt Python as my primary plotting program. All opensource. This gave me a push to develop simple procedures that everyone can use to visualize their model. That was the start of OpenSeesPy visualization library Get_Rendering. Need to Visualize your OpenSees model Let me show you with an example how I found visualization of OpenSees model very helpful. Shown in Fig. 3, is a bridge model with all the parameters I thought were reasonable to apply in the model. The gravity analysis converged and the modal periods looked reasonable. Lift Off!!! (space shuttle launch.. anyone?). But then I started to check all the modeshapes and I realized something strange. Mode 1 looked like a good old lateral mode. However, mode 2 showed that my space shuttle launch had failed. I had to do a lot of digging in the model to figure out the bad actor and there you go. I get the correct 2nd Mode. Fig. 3 Mode shapes of the bridge model.
Had I gone with the first model without checking the mode shapes, I would have either crashed the landing on the Moon or come back without landing. OpenSeesPy has some added visualization commands for users. You can visualize OpenSees model, modeshapes and deformed model with just a few commands. See the link below to learn more. https://openseespydoc.readthedocs.io/en/latest/src/plotcmds.html |