Springs don't work!
Moderators: silvia, selimgunay, Moderators
Springs don't work!
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!"
######################################
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!"
######################################
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.
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
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
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: 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..
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.
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é
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!"
################################
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!"
################################
springs & workshop
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.
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..
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..