Diaphragm and NL beam modelling

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
apapaso
Posts: 17
Joined: Sun Mar 19, 2017 1:19 am
Location: AUTh - Greece

Diaphragm and NL beam modelling

Post by apapaso » Sun Mar 26, 2017 5:16 am

Hello everybody!

I am new on Opensees, and I am a bit confused about modelling RC beams.

I noticed that forceBeamColumn elements with fiber sections simulate the interaction between axial load and bending moment.
When I use such an element to model an RC beam belonging to a diaphragm (defined by the equalDOF command), a parasitic axial load appears, and the bending resistance increases due to the joint constraint.
On the other hand, when I omit the equalDOF command, beams are subjected to significant elongation after plastic hinge formation.

Have you any suggestions on how to properly model RC beams?

fmk
Site Admin
Posts: 5866
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Diaphragm and NL beam modelling

Post by fmk » Mon Mar 27, 2017 9:42 pm

your only options are the dispBeamColumn or adding a truss element to model the slab effect .. the shift in neutral axis from center of g in a concrete section is what is causing the problem with the force beam column .. as a consequence of shift, there is an axial extension or contraction at section levels under bending .. the diaphragm constraint is trying to make that 0 and hence the large axial forces when using the force beam column element.

apapaso
Posts: 17
Joined: Sun Mar 19, 2017 1:19 am
Location: AUTh - Greece

Re: Diaphragm and NL beam modelling

Post by apapaso » Tue May 16, 2017 10:24 pm

Finally I chose to use rigid diaphragms (equalDOF) and release the axial DOF at one end of the beams.
(two different equalDOF commands, one for the horizontal DOFs of the main nodes, and one for the vert. + rot. of the secondary)

I use this model for running IDA with many different records, in total about 3000 time history analyses.

It works nicely, except one thing: At every single TH analysis, at time 0.01 (first TH step) I get an integrator error.
After trapping the error and solving this step with a different algorithm, the analysis goes on -almost always- without errors.

Is this behaviour normal?

selimgunay
Posts: 879
Joined: Mon Sep 09, 2013 8:50 pm
Location: University of California, Berkeley

Re: Diaphragm and NL beam modelling

Post by selimgunay » Thu May 18, 2017 11:49 am

Getting an integrator error at the first time history step does not seem to be normal. Your initial integration algorithm may not be an appropriate one, you may be using an explicit algorithm that does not satisfy the stability criterion. If the analysis continues all the way with the other algorithm that you mention, it should be good.

apapaso
Posts: 17
Joined: Sun Mar 19, 2017 1:19 am
Location: AUTh - Greece

Re: Diaphragm and NL beam modelling

Post by apapaso » Fri May 19, 2017 3:55 am

Thanks for your kind response!

I am completely puzzled:

I have tried Newton, ModifiedNewton, ModifiedNewton -initial, KrylovNewton, all with
test NormDispIncr 1.0E-9 20 0 2

In every analysis, the first step fails, and the error trapping routine takes over.
Always, this first step gets solved with the following settings:
test NormDispIncr 1.0E-6 1000 0 1 ; algorithm ModifiedNewton -initial

Then, the remaining time history gets solved with
test NormDispIncr 1.0E-9 20 0 2
regardless of the algorithm in use.

Moreover, before I release the axial DOF of the beams, there was no problem, and the most efficient algorithm for that particular model was proved to be KrylovNewton.

selimgunay
Posts: 879
Joined: Mon Sep 09, 2013 8:50 pm
Location: University of California, Berkeley

Re: Diaphragm and NL beam modelling

Post by selimgunay » Sat May 20, 2017 3:32 pm

You might be making some mistakes while applying the equaldof constraint. Could you post the part of your tcl file that applies the equaldof?

apapaso
Posts: 17
Joined: Sun Mar 19, 2017 1:19 am
Location: AUTh - Greece

Re: Diaphragm and NL beam modelling

Post by apapaso » Sat May 20, 2017 11:47 pm

It is a 2d 3dof RC FBE frame model. The following is a 3 node example of what I am doing:

# main nodes. columns are connected to them.
node 2 0.00 3.00
node 9 4.50 3.00
#d iaphragm
equalDOF 2 9 1

# floating node, same position as node 9, for the free beam end (beam connects between 2-209)
node 209 4.50 3.00
# shear and moment transfer from node 209 to node 2
equalDOF 9 209 2 3

The above model runs, but returns an error at every first transient analysis step (but no error for the Static analysis).

------------------------------------------------------------------------------------

I found that the following model doesn't have this problem:

# main nodes. columns are connected to them.
node 2 0.00 3.00
node 9 4.50 3.00
# truss for diaphragm <------------------------------------------------ here is the difference
element truss 225 2 9 1.5 1

# floating node, same position as node 9, for the free beam end (beam connects between 2-209)
node 209 4.50 3.00
# shear and moment transfer from node 209 to node 2
equalDOF 9 209 2 3

selimgunay
Posts: 879
Joined: Mon Sep 09, 2013 8:50 pm
Location: University of California, Berkeley

Re: Diaphragm and NL beam modelling

Post by selimgunay » Sun May 21, 2017 11:08 pm

Does the second solution (the one with the truss) work properly for your 3D model?

apapaso
Posts: 17
Joined: Sun Mar 19, 2017 1:19 am
Location: AUTh - Greece

Re: Diaphragm and NL beam modelling

Post by apapaso » Mon May 22, 2017 11:53 am

I haven't tried to built a 3d model, I am still dealing with 2d models only, but I have no doubt that the truss method will work in 3d models.
However, I am interested in why the aforementioned behaviour of the equalDOF diaphragm model occurs.

selimgunay
Posts: 879
Joined: Mon Sep 09, 2013 8:50 pm
Location: University of California, Berkeley

Re: Diaphragm and NL beam modelling

Post by selimgunay » Tue May 23, 2017 11:13 pm

If the truss method works for your case and your results are good, you should proceed with that. You don't need to necessarily use the equal dof constrain in the axial direction.

To explore the issue with the equal dof solution, what is the constraints handler that you are using?

apapaso
Posts: 17
Joined: Sun Mar 19, 2017 1:19 am
Location: AUTh - Greece

Re: Diaphragm and NL beam modelling

Post by apapaso » Wed May 24, 2017 1:20 am

Now that you mention it, I used "constraints Plain" for the static analysis, and "constraints Transformation" for the transient one.
If I use "constraints Plain" in both analyses, there is no problem at all.
And if I use "constraints Transformation" in both cases, the analysis gets clearly erroneous, and the equalDOF command does not apply at all.

So, suppose I have to use "constraints Plain" in both analyses?

Thank you very much, you really helped me.

gaaraujo
Posts: 2
Joined: Sun Aug 14, 2016 5:55 pm
Location: Universidad del Norte

Re: Diaphragm and NL beam modelling

Post by gaaraujo » 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.

ElvaLJones
Posts: 2
Joined: Tue Mar 16, 2021 11:28 pm
Location: USA
Contact:

Re: Diaphragm and NL beam modelling

Post by ElvaLJones » Tue Mar 23, 2021 8:33 pm

Hello,
It doesn't seem normal to get an integrator error on the first step of history. Your initial integration algorithm may not be a reasonable one, you are probably using an explicit algorithm that does not meet the stability criteria. If the analysis continues all the way to the other algorithm you are referring to, it should be good.

Thank You
Elva L Jones

bolsavalorescl
Posts: 1
Joined: Thu Mar 25, 2021 5:06 am

Re: Diaphragm and NL beam modelling

Post by bolsavalorescl » Thu Mar 25, 2021 5:10 am

The problem is that node 9 is a constrained

kavian
Posts: 5
Joined: Tue Aug 13, 2013 6:11 pm
Location: Universidad de Chile

Re: Diaphragm and NL beam modelling

Post by kavian » Wed Mar 31, 2021 8:49 am

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)
Nestor

Post Reply