Hi,
I am trying to model a cantilever using zero-length section elements at its both ends while the middle element is elasticBeamColum element.
I would like to capture the response of cantilever based on the fiber section defined for the ZeroLengthSection element at both ends.
The nodes arrangement is as follows ( in 2D):
[Node 1] ----- ZeroLengthSection element ----- [Node 2] ----- elasticBeamColum element ----- [Node 3] ----- ZeroLengthSection element ----- [Node 4]
Node 1 is fixed (fix 1 1 1 1)
Node 4 is fixed at the rotation only (fix 4 0 0 1)
I have added Vy to the fibre section of the ZeroLengthSection element, using section Aggregator command.
However, the pushover results show linear elastic behaviour. It tried to replace the elastic Beam Column element with a nonlinear forceBased element, and the results changed to nonlinear.
This means that the model results are based on the middle element not on the ZeroLengthSection elements.
Can anyone please help me with this?
ZeroLengthSection Element for cantilever
Moderators: silvia, selimgunay, Moderators
-
- Posts: 115
- Joined: Mon Feb 20, 2017 1:19 am
- Location: RMIT University, Melbourne, Australia
-
- Posts: 108
- Joined: Mon Sep 16, 2013 1:14 pm
- Location: University of Auckland
Re: ZeroLengthSection Element for cantilever
It would be good to have more details about the elastic element and the fibre sections you are using for your ZLS elements, like materials, section discretisation, orientation vector of the ZLS element, etc.
With the information you provided I may dare to say that the displacement or the load imposed is not making the elements go beyond their linear elastic response; or the ZLS element is way stronger than the elastic section.
Also be aware that zero length elements have unitary length. So given a specific couple N*, M* you will have a unique curvature regardless of the model units, but when transforming that curvature into rotation the result will be affected by the model units. For instance, lets say curv = 20 rad/m = 0.508 rad/in, then if the model is in meters rot = curv · 1m = 20 rad, but if the model is in inches then rot = curv · 1in = 0.508 rad. Here you can see that your ZLS element will rotate either 20rad or 0.508rad depending on the units you are working on.
With the information you provided I may dare to say that the displacement or the load imposed is not making the elements go beyond their linear elastic response; or the ZLS element is way stronger than the elastic section.
Also be aware that zero length elements have unitary length. So given a specific couple N*, M* you will have a unique curvature regardless of the model units, but when transforming that curvature into rotation the result will be affected by the model units. For instance, lets say curv = 20 rad/m = 0.508 rad/in, then if the model is in meters rot = curv · 1m = 20 rad, but if the model is in inches then rot = curv · 1in = 0.508 rad. Here you can see that your ZLS element will rotate either 20rad or 0.508rad depending on the units you are working on.
-
- Posts: 115
- Joined: Mon Feb 20, 2017 1:19 am
- Location: RMIT University, Melbourne, Australia
Re: ZeroLengthSection Element for cantilever
Thanks Ericson for your reply and sorry for the delay in getting back to you.
The elastic section is given the normal properties of a column. I also increased the elastic section stiffness, but it still does not change the results. My model is actually in mm, tonne, sec and N.
To make it easy for me to explain my model, I am copying below a similar code of what I am trying to do:
node 1 0.0 0.0 0.0
node 3 0.0 2000.0 0.0
# -----------------------------------------
# Boundary Conditions
fix 1 1 1 1 1 1 1
fix 2 1 0 1 0 1 0
# -----------------------------------------
# Geometrical transformation
geomTransf PDelta 1 1 0 0
geomTransf Linear 2 1 0 0
# -----------------------------------------
# -----------------------------------------
# UNIAXIAL MATERIAL PROPERTIES
# 1. Concrete
uniaxialMaterial Concrete04 1 [expr -1.2*31.0] -0.005 -0.051 28000.0 2.37 0.0021
# -----------------------------------------
# 2. Steel
uniaxialMaterial Steel02 2 414 206842.7 -0.01 18 0.925 0.15 0.0 1.0 0.0 1.0
# -----------------------------------------
# -----------------------------------------
# CIRCULAR FIBER SECTION
# Section fiber
section Fiber 3 {
set u 100.0
set ro 500.5
set rc [expr $ro-$u]
set numbar 14
set arbar 3000.0
patch circ 1 32 30 0 0 0 $ro 0.0 360.0
# Steel reinforcement
layer circ 2 $numbar $arbar 0 0 $rc
}
# -----------------------------------------
# -----------------------------------------
# ELEMENTS
# Number of integration points
set np 5
# 1. Zero-length springs section
element zeroLengthSection 1 1 2 3 0 1 0 0 0 -1
# 2. Intermediate rigid element between zero-lenth springs
set A 190000.604
set E 26000.0
set G [expr $E1/(2+0.4)]
set Iz 3.7E+13
set Iy 3.71E+13
set J [expr $Iz1+$Iy1]
element elasticBeamColumn 3 2 3 $A $E $G $J $Iy $Iz 2
The elastic section is given the normal properties of a column. I also increased the elastic section stiffness, but it still does not change the results. My model is actually in mm, tonne, sec and N.
To make it easy for me to explain my model, I am copying below a similar code of what I am trying to do:
node 1 0.0 0.0 0.0
node 3 0.0 2000.0 0.0
# -----------------------------------------
# Boundary Conditions
fix 1 1 1 1 1 1 1
fix 2 1 0 1 0 1 0
# -----------------------------------------
# Geometrical transformation
geomTransf PDelta 1 1 0 0
geomTransf Linear 2 1 0 0
# -----------------------------------------
# -----------------------------------------
# UNIAXIAL MATERIAL PROPERTIES
# 1. Concrete
uniaxialMaterial Concrete04 1 [expr -1.2*31.0] -0.005 -0.051 28000.0 2.37 0.0021
# -----------------------------------------
# 2. Steel
uniaxialMaterial Steel02 2 414 206842.7 -0.01 18 0.925 0.15 0.0 1.0 0.0 1.0
# -----------------------------------------
# -----------------------------------------
# CIRCULAR FIBER SECTION
# Section fiber
section Fiber 3 {
set u 100.0
set ro 500.5
set rc [expr $ro-$u]
set numbar 14
set arbar 3000.0
patch circ 1 32 30 0 0 0 $ro 0.0 360.0
# Steel reinforcement
layer circ 2 $numbar $arbar 0 0 $rc
}
# -----------------------------------------
# -----------------------------------------
# ELEMENTS
# Number of integration points
set np 5
# 1. Zero-length springs section
element zeroLengthSection 1 1 2 3 0 1 0 0 0 -1
# 2. Intermediate rigid element between zero-lenth springs
set A 190000.604
set E 26000.0
set G [expr $E1/(2+0.4)]
set Iz 3.7E+13
set Iy 3.71E+13
set J [expr $Iz1+$Iy1]
element elasticBeamColumn 3 2 3 $A $E $G $J $Iy $Iz 2
-
- Posts: 108
- Joined: Mon Sep 16, 2013 1:14 pm
- Location: University of Auckland
Re: ZeroLengthSection Element for cantilever
The code you posted looks well to me, everything is consistent: node definition, fix conditions, GT, section definitions and orientations.
Probably not causing your problem but, within a fibre {...} block you have "set" commands, May this make OpenSees confused?
Different topic: Given the base units are in mm, if you want to reach 1% drift in the model posted above and considering that all the rotation happens in the ZLS element then the curvature of the ZLS element should be 10000rad/km, which is disproportionally massive.
Interesting 1 tonne = 1 N·s²/mm (didn't know that, cool!)
I'm sorry I can not give a better answer for your problem.
Probably not causing your problem but, within a fibre {...} block you have "set" commands, May this make OpenSees confused?
Different topic: Given the base units are in mm, if you want to reach 1% drift in the model posted above and considering that all the rotation happens in the ZLS element then the curvature of the ZLS element should be 10000rad/km, which is disproportionally massive.
Interesting 1 tonne = 1 N·s²/mm (didn't know that, cool!)
I'm sorry I can not give a better answer for your problem.