Search found 7 matches

by kavian
Tue May 25, 2021 7:29 am
Forum: OpenSeesPy
Topic: equalDOF issue
Replies: 0
Views: 6782

equalDOF issue

Hi,

I modeled a OCBF with many nodes at each beam-column intersection in order to pin the beams (release their end rotations since they are force-based BCE). I wanted to constraint all these nodes horizontally to a floor master, while also constrain them vertically at each beam-column intersection master node.

I though that was possible since I am constraining differents DOF's of the sames nodes, but I get errors when checking dynamics. The first modes get a NaN period value.

This is my code, any ideas?

Code: Select all

     for iStory in range(2,NStory+1):
         for pier in range(1,NBay+2):
             master_hor = iStory*100+1      # first pier intersection node set as the floor master.
             master_ver = iStory*100+pier  # each beam-column intersection node set as the vertical master at each joint. 
             if pier < NBay+1:
                 auxnode = master_ver+20                  # Beam-column auxiliary nodeTAG to the left (beam end node).
                 ops.equalDOF(master_hor, auxnode, 1)  # constraint this auxnode horizontally to the floor master.
                 ops.equalDOF(master_ver, auxnode, 2)  # constraint this auxnode vertically to the joint vertical master.
            if pier > 1:
                auxnode = master_ver + 40                # Beam-column auxiliary nodeTAG to the right (opposite beam start node).
                 ops.equalDOF(master_hor, auxnode, 1)  # constraint this auxnode horizontally to the floor master.
                 ops.equalDOF(master_ver, auxnode, 2)  # constraint this auxnode vertically to the join vertical master.
                 ops.equalDOF(master_hor, master_ver, 1)  # finally constraint each vertical joint master horizontally to the floor master.

Thank you for any advice!
by kavian
Tue May 25, 2021 5:08 am
Forum: OpenSeesPy
Topic: In the Recorder command, elements Force and deformations have no output
Replies: 1
Views: 2901

Re: In the Recorder command, elements Force and deformations have no output

Hi,

Try "basicDeformation" for the BCE elements.

Also, did you wipe() the domain after the analysis? recorders need the wipe() command at the end of the analysis.
by kavian
Mon Apr 19, 2021 8:20 am
Forum: OpenSeesPy
Topic: getLoadFactor signs
Replies: 3
Views: 4543

Re: getLoadFactor signs

Haha, got the solution.

Updated OpenseesPy from 3.2.2.9 to 3.2.2.10 and everything goes fine again :-)
by kavian
Mon Apr 19, 2021 7:11 am
Forum: OpenSeesPy
Topic: getLoadFactor signs
Replies: 3
Views: 4543

Re: getLoadFactor signs

mhscott wrote: Sun Apr 18, 2021 8:41 pm Can you provide a minimum working example showing the issue? Thanks!
Good Morning Prof.

Attached is a simplified example, everything works fine in tension (where the loads have the same sign of the displacement) but when the loads should became negative, the load factor goes to "0".

I was able to show the compressive portion of the curve when I use a negative load for the negative displacement, but in that case, like a mirror of the previous case, the positive values of the loads give me a loadfactor of "0".

This is an older version of what I do now but none of them works now :(

edit: maybe my problem is not about the loadfactor command itself. I replaced it with nodal reactions to see the actual loads and for some reason the same happens. I tested with elastic beam-column as well. The same.
Thank you in advance!

ps. I realized files cannot be attached. Files are stored at this Link .
by kavian
Sun Apr 18, 2021 7:41 pm
Forum: OpenSeesPy
Topic: getLoadFactor signs
Replies: 3
Views: 4543

getLoadFactor signs

Hey,

Some months ago (before last update) I was able to get negative outputs from this command, but now it just prints positive values and no negatives... All negatives values are now "0".

This happened when applying a cyclic loading to elements (truss, fbc, etc) to calibrate buckling. Now I cant plot pushover curves the way I did :-)

Any idea what could have change?

Thank you!
by kavian
Wed Mar 31, 2021 8:49 am
Forum: OpenSees.exe Users
Topic: Diaphragm and NL beam modelling
Replies: 14
Views: 12544

Re: Diaphragm and NL beam modelling

gaaraujo wrote: Tue Feb 23, 2021 3:00 pm This is a late response to this post, but I think that maybe the problem is that node 9 is a constrained node in the diaphragm and then it is defined later as a retained node for the shear + moment transfer. Retained nodes cannot be used as constrained nodes in other constraint definitions. That is one of the necessary conditions for the Transformation constraint method.
bolsavalorescl wrote: Thu Mar 25, 2021 5:10 am The problem is that node 9 is a constrained
This problem you both mentioned, refers specifically to the NODE or to the DOF's of that node? I ask because I am having issues trying to constrain the dof=1 in a node, while retaining the dof=2 of the same node. So, in that case my node is at the same time master and slave, but in different DOF's. is it possible?

My script is written in openseespy and the model has stability issues I cant find. Maybe the answer is what you just mentioned.

I am working on a 2D braced frame model with FBC beams connected to FBC columns and truss braces. Hence, I need 3 nodes at each intersection: one to connect column and braces, and two for the two pinned FBC beams, one each side.

Thank you in advance for any insight.

for iStory in range(2,NStory+1):
master_hor = iStory*100+NBay+2
for pier in range(1,NBay+2):
master_ver = iStory*100+pier

ops.equalDOF(master_hor, master_ver, 1)
print("conectado horizontalmente el slave", master_ver, "al master", master_hor)
if pier < NBay+1:
auxnode = master_ver + 50 # Beam-column node to the left.
ops.equalDOF(master_hor, auxnode, 1)
print("conectado horizontalmente el slave", auxnode, "al master", master_hor)
ops.equalDOF(master_ver, auxnode, 2)
print("conectado verticalmente el slave", auxnode, "al master", master_ver)
if pier > 1:
auxnode = master_ver + 70 # Beam-column node to the right.
ops.equalDOF(master_hor, auxnode, 1)
print("conectado horizontalmente el slave", auxnode, "al master", master_hor)
ops.equalDOF(master_ver, auxnode, 2)
print("conectado verticalmente el slave", auxnode, "al master", master_ver)
by kavian
Wed Jul 29, 2020 8:12 pm
Forum: OpenSeesPy
Topic: Get_Rendering modules not working?
Replies: 1
Views: 3733

Get_Rendering modules not working?

Hello everyone,

I'm testing OpenSeesPy (new to Python btw, but I have time), and I was checking the plotting features and there are two that didn't work, I hope its just me.

I installed Anaconda, and under Spyder I installed Openseespy and updated it to the version 3.2.2. Then on my -simple model script I start with

Code: Select all

from openseespy.opensees import *
from openseespy.postprocessing.Get_Rendering import *
But then, when I try to use "createODB()" or "ani =animate_deformedshape()" functions I just get the following error:

NameError: name 'createODB' is not defined

I reviewed the Get_Rendering script installed in my disk and it doesn't include the functions createODB() or animate_deformedshape(). But they are included in the code of GitHub ( Check here).

How can I properly install the latest version of Get_Rendering to have these functions working, without modifying it locally "by hand"?

Thank you and great work!!