Push and Pull

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

Moderators: silvia, selimgunay, Moderators

Post Reply
maryammf
Posts: 47
Joined: Mon Oct 24, 2016 12:37 pm
Location: Istanbul Technical University

Push and Pull

Post by maryammf » Tue Apr 03, 2018 1:10 am

Hi everyone!

How can I define push and pull analysis (displacement control) on simple spring defined by zero tension material?
The material properties is as follows:

http://opensees.berkeley.edu/OpenSees/m ... al/169.htm

Any suggestion is appreciated!

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

Re: Push and Pull

Post by fmk » Tue Apr 10, 2018 8:09 pm


maryammf
Posts: 47
Joined: Mon Oct 24, 2016 12:37 pm
Location: Istanbul Technical University

Re: Push and Pull

Post by maryammf » Thu Apr 12, 2018 12:23 pm

Hi!
Many thanks for your reply. I tried this but why I can not see the whole behavior in the same graph?
I used truss element with uniaxial material ENT but just when I make the displacement increment -0.1, I can see just compression and if I set 0.1 as displacement increment I have error as it is not working (no tension material). How can I see as pull and push in the same graph? I should always define separately? I have the same question for uniaxial material elastic
Is this elastic no tension material suitable for soil-pile interface?
This is my code:
# create the model builder
model Basic -ndm 1 -ndf 1
# create 2 nodes
node 1 0.0
node 2 1.0
# fix node 1
fix 1 1
# create material
set E 30000.0
uniaxialMaterial ENT 1 $E
# create element
element Truss 1 1 2 1 1

# create recorders
recorder Node -file dispspring2.out -time -node 2 -dof 1 disp
recorder Node -file springreaction2.out -time -node 2 -dof 1 reaction

# create timeseries and load pattern
set P -100.0
timeSeries Linear 1
pattern Plain 1 1 {
load 2 1.0
}
# create the analysis
constraints Plain
numberer RCM
test NormDispIncr 1.0e-12 6 0
algorithm Newton
system BandGen
integrator DisplacementControl 2 1 -0.1
analysis Static
set numIter 20
# perform the analysis and print results
foreach {$numIter $dU} {5 -0.1 10 0.1 5 -0.1} {
integrator DisplacementControl 2 1 -0.1
analyze $numIter
set factor [getTime]
puts "[expr $factor*$P] [lindex [nodeDisp 2] 0]"
}
print -node 2

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

Re: Push and Pull

Post by fmk » Sat Apr 14, 2018 7:18 pm

0 tensenion means the tangent is 0 when material goes into tension, hence the matrix (a 1x1) has a 0 on the diagnonal and hence it is not going to work!

maryammf
Posts: 47
Joined: Mon Oct 24, 2016 12:37 pm
Location: Istanbul Technical University

Re: Push and Pull

Post by maryammf » Sun Apr 15, 2018 11:22 pm

Many thanks for your response!
What shall I do now?

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

Re: Push and Pull

Post by selimgunay » Mon Apr 16, 2018 10:40 am

It just won't work by itself as the stiffness is zero when there is tension, however you can use it in the soil-pile interface in a bridge model

maryammf
Posts: 47
Joined: Mon Oct 24, 2016 12:37 pm
Location: Istanbul Technical University

Re: Push and Pull

Post by maryammf » Mon Apr 16, 2018 11:58 pm

Dear Sir,

Many thanks for your response! I see; but when I want to check the same with uniaxial linear material, again I can not see the whole response (pull and push) in the same graph! my reaction is positive and gives me the displacement negative in the result. Is there any problem?
I put it here for your consideration:
# create the model builder
model Basic -ndm 1 -ndf 1
# create 2 nodes
node 1 0.0
node 2 1.0
# fix node 1
fix 1 1
# create material
set E 30000.0
uniaxialMaterial Elastic 1 $E
set A 1.0
# create element
element truss 1 1 2 $A 1

# create recorders
recorder Node -file dispspring7.out -time -node 2 -dof 1 disp
recorder Node -file springreaction7.out -time -node 2 -dof 1 reaction

# create timeseries and load pattern
set P -100.0
timeSeries Linear 1
pattern Plain 1 1 {
load 2 $P
}
# create the analysis
constraints Plain
numberer RCM
test NormDispIncr 1.0e-12 6 0
algorithm Newton
system BandGen
integrator DisplacementControl 2 1 -0.1
analysis Static
set numIter 20
# perform the analysis and print results
foreach {$numIter $dU} {5 -0.1 10 0.2 5 -0.1} {
integrator DisplacementControl 2 1 -0.1
analyze $numIter
set factor [getTime]
puts "[expr $factor*$P] [lindex [nodeDisp 2] 0]"
}
print -node 2

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

Re: Push and Pull

Post by fmk » Wed Apr 18, 2018 4:04 pm

if i do print node
Node: 1
Coordinates : 0
Disps: 0
Velocities : 0
unbalanced Load: 0
reaction: 180000
ID : -1


Node: 2
Coordinates : 1
Disps: -6
Velocities : 0
unbalanced Load: -180000
reaction: 0
ID : 0

Node1 ele1 Node2
i.e. 180000 --> []-------------{] <--180000

sure looks o.k. from an equilibrium point of view!

maryammf
Posts: 47
Joined: Mon Oct 24, 2016 12:37 pm
Location: Istanbul Technical University

Re: Push and Pull

Post by maryammf » Fri Apr 20, 2018 12:21 am

Many thanks for your kind reply!
Is this zero tension material with zero length element suitable for the soil-pile interface? I used once but I got convergence error!
I checked OpenSees manual but do not know which material is the best one for modeling soil-pile interface!
I will appreciate your suggestion in this respect.
Bests

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

Re: Push and Pull

Post by selimgunay » Mon Apr 23, 2018 5:43 pm

I believe you cannot get this answer from the OpenSees forum. You can find it in papers which used OpenSees in models that including soil-structure interaction.

Post Reply