Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

spring with variable stiffness (spring constant) depending on its disp 1

Status
Not open for further replies.

kev66

Electrical
Apr 27, 2010
14
Hi,
Could someone please offer some suggestions to what I thought was a simple
modeling problem that turned out otherwise? I am trying to model, using
ABAQUS/CAE, a spring element with variable spring constant depending on its
displacement according to a list of tabulated values. The spring has
relaxed length of 100um and will be pulled to about 300um and the force will
vary from zero to 100mN. I've tried the following to achieve this but
didn't work out:

1) the "spring/dashpots" feature in property module doesn't seem to allow
variable stiffness for the spring

2) using shell element to construct a thin ridge with
field-variable-dependent modulus with USDFLD in standard analysis and
VUSDFLD in explicit. This doesn't work since the strain is not uniform
through the length of the structure hence the force is not accurately
modeled. I tried to apply re-meshing rules but in the explicit model, it
says the element doesn't support re-meshing.

3) using beam element to construct a wire and attempting the same thing as in shell element above; result is same, i.e. strain not uniform throughout the length of the structure with inaccurate modeling of spring force

4) using truss element to construct a wire and attempting the same thing as
above; got system error code 144.

Am I going about this the wrong way?

Thanks.
 
Replies continue below

Recommended for you

How about using a connector element? You can then define a non-linear connector behaviour with;

*CONNECTOR BEHAVIOR, NAME=Spring
*CONNECTOR ELASTICITY, COMPONENT=xx, NONLINEAR

Regards

Martin Stokes CEng MIMechE
 
Thanks Martin,
So, I will also need to call a user subroutine to get the displacement value to be used as the dependent variable, correct?

Thanks.

 
Unless I am completely mis-interpreting your problem, you only have to define the non-linear, load-deflection response of the spring...?

If you know how the spring stiffness varies with the deflection, then you can work back to get the load-deflection curve and then plug that data into your connector behaviour.

Regards

Martin Stokes CEng MIMechE
 
Martin,
Your suggestion works! Thanks. Two more follow up questions please:
1) I could only proceed with running job files if I have an actual material element between the connector element (i.e. create a line and mesh it, assign section to it as usual and then create another wire on top of it to assign connector element on the wire); so, I would just need to make the modulus of the material small so that the force due to the material strain is negligible compared to the spring force?

2) I actually need to have about 1500 connectors connected in a hexagonal network; is there an easy way to create connectors between neighboring nodes or do I just have to do instances of the connectors over and over? I noticed that there is a "chained wire" option but that still means I need to select each point one by one.

Thanks.
 
Unfortunately, I don't use ABAQUS/CAE as a pre-processor, so I can't suggest how to pattern the connectors in CAE.

I don't believe that you need to create an element on top of the connector though, least I never had to..? What error message do you get if you run the model without the 'material element'?

Regards

Martin Stokes CEng MIMechE
 
Thanks Martin,
The error message is "10 elements have missing property definitions. The elements have been identified in element set ErrElemMissingSection." I am attaching the .inp for parts and assembly portion below. So, can I simply delete the part's instance in the assembly portion? can I just have connectors in the assembly without any instances of parts? ABAQUS/CAE gives some warning on that so that's why I didn't do it that way.

For patterning the connectors, I guess than I could just replace
*Element, type=CONN2D2
1, Part-2-1.1, Part-2-1.11

with

*Element, type=CONN2D2
a list of coordinates

right?

-----------------.inp-----------------

** PARTS
**
*Part, name=Part-2
*Node
1, 0., 0.
2, 10., 0.
3, 20., 0.
4, 30., 0.
5, 40., 0.
6, 50., 0.
7, 60., 0.
8, 70., 0.
9, 80., 0.
10, 90., 0.
11, 100., 0.
*Element, type=B21
1, 1, 2
2, 2, 3
3, 3, 4
4, 4, 5
5, 5, 6
6, 6, 7
7, 7, 8
8, 8, 9
9, 9, 10
10, 10, 11
*Nset, nset=_PickedSet5, internal, generate
1, 11, 1
*Elset, elset=_PickedSet5, internal, generate
1, 10, 1
*Nset, nset=_PickedSet6, internal, generate
1, 11, 1
*Elset, elset=_PickedSet6, internal, generate
1, 10, 1
** Section: Section-1 Profile: Profile-1
*Beam Section, elset=_PickedSet6, material=Material-1, temperature=GRADIENTS, section=RECT
1.5, 30.
0.,0.,-1.
*End Part
**
**
** ASSEMBLY
**
*Assembly, name=Assembly
**
*Instance, name=Part-2-1, part=Part-2
*End Instance
**
*Element, type=CONN2D2
1, Part-2-1.1, Part-2-1.11
*Connector Section, elset=_PickedSet8, behavior=ConnSect-1
Axial,
*Nset, nset=Wire-1-Set-1, instance=Part-2-1
1, 11
*Elset, elset=Wire-1-Set-1
1,
*Elset, elset=_PickedSet8, internal
1,
*Nset, nset=_PickedSet9, internal, instance=Part-2-1
1,
*Nset, nset=_PickedSet10, internal, instance=Part-2-1
11,
*End Assembly
*Connector Behavior, name=ConnSect-1
*Connector Elasticity, nonlinear, component=1
0., 0.
0., 1.
......(list of force vs. displacement values)..........
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor