Springs don't work!

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

Moderators: silvia, selimgunay, Moderators

Post Reply
civily
Posts: 13
Joined: Wed Mar 26, 2008 7:57 pm
Location: Auburn

Springs don't work!

Post by civily »

Hello all,

I worked on a simple model in order to understand how to introduce springs to our model...I have two separate, centrally loaded beams; simply supported and fully fixed...I got the results for both and they're ok..but when I introduce elastic rotational springs at the ends..regardsless of the spring stiffness I define, I get the same results as that of simply supported case. I guess zerolength element releases the moment in direction 3,but the springs do not work..
Please find my simple model coding below..I'd appreciate your help..I need to understand how things work.
Thanks in advance..

################################################
wipe;
# Units: kip, in
# Define the model builder
model basic -ndm 2 -ndf 3;

file mkdir Trial.Rot;
# Define nodes
node 1 0 0;
node 2 360 0;
node 3 720 0;
node 11 0 0;
node 31 720 0;

fix 11 1 1 1;
fix 31 1 1 1;

geomTransf Linear 1;

element elasticBeamColumn 1 1 2 40 29000 5333.3 1;
element elasticBeamColumn 2 2 3 40 29000 5333.3 1;

equalDOF 11 1 1 2;
equalDOF 31 3 1 2;
# Define moment-rotation relationship for spring
uniaxialMaterial Elastic 1 100000;

element zeroLength 3 11 1 -mat 1 -dir 3;
element zeroLength 4 31 3 -mat 1 -dir 3;

recorder Element -file Trial.Rot/ele1global.out -time -ele 1 globalForce
recorder Element -file Trial.Rot/ele2global.out -time -ele 2 globalForce
recorder Element -file Trial.Rot/Spring.out -time ele 3 globalforce

pattern Plain 1 Linear {
load 2 0 -100 0
}
constraints Plain;
numberer Plain;
system BandGeneral;
test NormDispIncr 1.0e-8 10;
algorithm Newton;
integrator LoadControl 0.1;
analysis Static
analyze 10;
loadConst -time 0.0;

puts "Done!"
######################################
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

the springs are in series with the beams, the force has to be the same.
check nodal displacements and you should get different results for different stiffnesses.
please let me know if you don't.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
arbarbosa
Posts: 112
Joined: Tue Sep 07, 2004 1:48 am
Location: Oregon State University
Contact:

Post by arbarbosa »

Try the following changes in the corresponding lines of your script:

line 28: element zeroLength 3 11 1 -mat 1 -dir 6;
line 29: element zeroLength 4 31 3 -mat 1 -dir 6;

line 33: recorder Element -file Trial.Rot/Spring.out -time ele 3 force
André
civily
Posts: 13
Joined: Wed Mar 26, 2008 7:57 pm
Location: Auburn

Post by civily »

Thanks for replies,

Silvia: I got same nodal displacements for different stiffness cases as well...

Andre: Your changes helped. I get different forces. The springs seem to work after all. However, I got a little confused considering my model is 2D and this is specified in ''model basic -ndm 2 -ndf 3'' line... I wonder how direction 6 was recognized. I mean, would that work in general?? or do you think I should model in 3D/6 dof format to make sure everything is consistent..
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

i'll ask frank.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
arbarbosa
Posts: 112
Joined: Tue Sep 07, 2004 1:48 am
Location: Oregon State University
Contact:

Post by arbarbosa »

I believe that what is happening is the following, and maybe Silvia/Frank can confirm if it is actually so.

Consider a 2D zeroLength element that goes from node i to node j. This element has 6 dofs, 3 on node i (dofs 1 to 3 - two translations and one rotation) and 3 in node j (dofs 4 to 6). In your model, you fixed node i of the zeroLength element and node j is where you are applying the spring. Therefore, if assigning a rotational spring at node j, you have to apply it to the dof 6 of the zeroLength element.
André
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

yes, i confirmed with Michael scott -- it is a 6dof element.
so in 2d you deal with dofs 1 2 6
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
civily
Posts: 13
Joined: Wed Mar 26, 2008 7:57 pm
Location: Auburn

Post by civily »

Thanks again for your time..

I have a follow up question to make sure I understand correctly..What if I define a translational springs instead. If i got it right, this time the springs would work in direction 4..is that correct? I mean we'd be dealing with dofs 2 3 4.

I tried it in same model; first, I defined the springs in direction 1 and assigned very small and very large spring stiffnesses separately..I got the same forces and nodal displacements.Which again seems like the springs don't work either. However, when I define them in direction 4, I get instability error regardless of the spring stiffness defined..

Here's my coding for this case according to my understanding from your explanation...

I really appreciate you guy's help..

##################################
wipe;
# Units: kip, in
# Define the model builder
model basic -ndm 2 -ndf 3;

file mkdir Trial.TR;
# Define nodes
node 1 0 0;
node 2 360 0;
node 3 720 0;
node 11 0 0;
node 31 720 0;

fix 11 1 1 1;
fix 31 1 1 1;

geomTransf Linear 1;

element elasticBeamColumn 1 1 2 40 29000 5333.3 1;
element elasticBeamColumn 2 2 3 40 29000 5333.3 1;

equalDOF 11 1 2 3;
equalDOF 31 3 2 3;
# Define load-deflection relationship for spring
uniaxialMaterial Elastic 1 10000;

element zeroLength 3 1 11 -mat 1 -dir 4;
element zeroLength 4 3 31 -mat 1 -dir 4;

recorder Element -file Trial.TR/ele1global.out -time -ele 1 globalForce
recorder Element -file Trial.TR/ele2global.out -time -ele 2 globalForce
recorder Element -file Trial.TR/Spring.out -time ele 3 globalforce
recorder Node -file Trial.TR/Node2Disp.out -time -node 2 -dof 2 disp

pattern Plain 1 Linear {
load 2 0 -100 0
}
constraints Plain;
numberer Plain;
system BandGeneral;
test NormDispIncr 1.0e-8 10;
algorithm Newton;
integrator LoadControl 0.1;
analysis Static
analyze 10;
loadConst -time 0.0;

puts "Done!"
################################
pbeng
Posts: 19
Joined: Tue Jun 17, 2008 2:13 pm
Location: West Falls, NY

springs & workshop

Post by pbeng »

Would make a great workshop topic. More generally, a session on element how's & why's, theory and practice, quirks and nuances, would be of value.
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

we had somthing like that at the last workshop, on the beam-column elements, by Professor Filippou. I, myself, learned a LOT!!!
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk »

in respone to post 3 previous:

no .. the translational dof is 1 not 4.

in 3 d with 6 dof at a node:
translational dof are 1 2 3
rotational dof are 4 5 6

and get rid of the equalDOF commands .. just use:

fix 11 0 1 1
fix 31 0 1 1
civily
Posts: 13
Joined: Wed Mar 26, 2008 7:57 pm
Location: Auburn

Post by civily »

Thanks Frank,

I don't get the idea of getting rid of equalDOF commands. Is that specifically for translational springs?.. If I do that, system becomes unstable..and I get consistent errors. I even tried same idea for rotational spring case, meaning..cancel equalDOF commands and use;

fix 11 1 1 0;
fix 31 1 1 0;

I get instability error as well...

However, for the translational spring case, just changing the -dir 4 to 1, results make sense..I get foce/deformation in springs. So, I guess the problem was just about the direction of zerolength element..

I got a little confused about not using equalDOF command..I'd be glad if you clarify this...

Thanks a lot for this useful discussion..
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk »

it should have been nodes 1 and 3 i fixed .. you are fixing node 11 and 31 and then constraining nodes 1 and 3 to have same movement as nodes 11 and 31 in 2 and 3 directions, i.e. fixed. so just fix them instead using fix 1 0 1 1 and fix 3 0 1 1
Post Reply