Spring

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

Moderators: silvia, selimgunay, Moderators

Post Reply
Jhno
Posts: 214
Joined: Sat May 05, 2012 2:55 pm
Location: Laval

Spring

Post by Jhno » Wed Nov 29, 2017 10:11 am

Hi, I made a simple model for a spring with zerolength element and did try to obtain the stress-strain curves as displayed here : http://opensees.berkeley.edu/wiki/index ... c_Material
However, it doesn't work very well.
Here's the script I use :

wipe all;
model BasicBuilder -ndm 1 -ndf 1
node 1 0.
node 2 0.
fix 1 1
fix 2 0
uniaxialMaterial ElasticPP 1 1676143.602 0.000638
element zeroLength 1 1 2 -mat 1 -dir 1

pattern Plain 101 "Linear" {
load 2 1.
}

system BandGeneral
test NormDispIncr 1.e-10 20 1
constraints Transformation
integrator DisplacementControl 2 1 0.00000638
algorithm Newton
numberer RCM
analysis Static

recorder Node -file F_D.out -time -node 2 -dof 1 disp
recorder Element -file Deformation.out -ele 1 deformation
recorder Element -file Forces.out -ele 1 forces
for {set i 1} {$i<=100} {incr i 1} {
set okay [analyze 1]
if {$okay!=0} {break}
print node 2
}


When I run the analysis using a "Linear" timeseries, the curve from the Force-deformation at node 2 is linear and the ratio of the force divided by the deformation/displacement gives the selected E (1676143.602) and the analysis crash when it reached deformation close to the yield limits (next time steps deformation would be higher than the maximum epsyP).

So the timesteps being linear will increase the loadfactor and since the yield limits is reached, there is no convergence because there is no displacement associated with a stress that is over the yield limit since the plastic curve is flat. How do you obtain a elastic-perfectly plastic curve then? Is it possible?

P.S. : since am using a zero-leng element, I supposed that k = E and forces = stress (no A nor L so I hard to relate k = AE/L, I supposed that A = L = 1?)

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

Re: Spring

Post by fmk » Wed Nov 29, 2017 8:22 pm

look at the script given with the elastically perfectly plastic gap material page to see how to use commands strain, stress and tangent when using the model builder testUniaxial

Jhno
Posts: 214
Joined: Sat May 05, 2012 2:55 pm
Location: Laval

Re: Spring

Post by Jhno » Thu Nov 30, 2017 11:23 am

Thanks for the reply.
I checked the script; it's in a different builder and the relation are directly given so yes it works (setting eta=0 and gap = 0 I get a elastic-perfectly plastic curve which yield at strain = 0.2 (Fy / E = 10 / 50 = 0.2)).
But using the basicbuilder and standard uniaxial ElasticPPGap mat I cannot obtain the plastic flat part of the stress-strain curve.
Say u_incr is the increment in strain in the next step, and u is the current strain, I will crash in the step where u+u_incr > u_yield is true.
Where u_yield = Fy/E
If I add a little slope (say I use eta = 0.01) then I won't crash... but am not perfectly plastic then.

dgale
Posts: 55
Joined: Fri Jan 15, 2016 4:01 am
Location: UPM

Re: Spring

Post by dgale » Mon Dec 04, 2017 12:32 am

That's very normal in non linear problems. I recommend you to use a very little hardering slope because at the end it's the same than without hardering behaviour . Your force/stress is going to grow like nothing.

Jhno
Posts: 214
Joined: Sat May 05, 2012 2:55 pm
Location: Laval

Re: Spring

Post by Jhno » Mon Dec 04, 2017 7:05 am

This is the conclusion to which I came too; just wasn't sure about it and thought I would ask for advice on the subject :)
In the normative document I use they ask for elastic perfectly-plastic bilinear ... so I was trying to do it! :(
Thanks for the answer, and have a good day!

Post Reply