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!