Diaphragm and NL beam modelling
Moderators: silvia, selimgunay, Moderators
Diaphragm and NL beam modelling
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?
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?
Re: Diaphragm and NL beam modelling
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.
Re: Diaphragm and NL beam modelling
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?
(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?

 Posts: 882
 Joined: Mon Sep 09, 2013 8:50 pm
 Location: University of California, Berkeley
Re: Diaphragm and NL beam modelling
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.
Re: Diaphragm and NL beam modelling
Thanks for your kind response!
I am completely puzzled:
I have tried Newton, ModifiedNewton, ModifiedNewton initial, KrylovNewton, all with
test NormDispIncr 1.0E9 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.0E6 1000 0 1 ; algorithm ModifiedNewton initial
Then, the remaining time history gets solved with
test NormDispIncr 1.0E9 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.
I am completely puzzled:
I have tried Newton, ModifiedNewton, ModifiedNewton initial, KrylovNewton, all with
test NormDispIncr 1.0E9 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.0E6 1000 0 1 ; algorithm ModifiedNewton initial
Then, the remaining time history gets solved with
test NormDispIncr 1.0E9 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.

 Posts: 882
 Joined: Mon Sep 09, 2013 8:50 pm
 Location: University of California, Berkeley
Re: Diaphragm and NL beam modelling
You might be making some mistakes while applying the equaldof constraint. Could you post the part of your tcl file that applies the equaldof?
Re: Diaphragm and NL beam modelling
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 2209)
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 2209)
node 209 4.50 3.00
# shear and moment transfer from node 209 to node 2
equalDOF 9 209 2 3
# 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 2209)
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 2209)
node 209 4.50 3.00
# shear and moment transfer from node 209 to node 2
equalDOF 9 209 2 3

 Posts: 882
 Joined: Mon Sep 09, 2013 8:50 pm
 Location: University of California, Berkeley
Re: Diaphragm and NL beam modelling
Does the second solution (the one with the truss) work properly for your 3D model?
Re: Diaphragm and NL beam modelling
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.
However, I am interested in why the aforementioned behaviour of the equalDOF diaphragm model occurs.

 Posts: 882
 Joined: Mon Sep 09, 2013 8:50 pm
 Location: University of California, Berkeley
Re: Diaphragm and NL beam modelling
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?
To explore the issue with the equal dof solution, what is the constraints handler that you are using?
Re: Diaphragm and NL beam modelling
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.
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.
Re: Diaphragm and NL beam modelling
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.

 Posts: 2
 Joined: Tue Mar 16, 2021 11:28 pm
 Location: USA
 Contact:
Re: Diaphragm and NL beam modelling
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
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

 Posts: 1
 Joined: Thu Mar 25, 2021 5:06 am
Re: Diaphragm and NL beam modelling
gaaraujo wrote: ↑Tue Feb 23, 2021 3:00 pmThis 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.
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 # Beamcolumn 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 # Beamcolumn 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