spring with variable stiffness (spring constant) depending on its disp
spring with variable stiffness (spring constant) depending on its disp
(OP)
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.
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.





RE: spring with variable stiffness (spring constant) depending on its disp
*CONNECTOR BEHAVIOR, NAME=Spring
*CONNECTOR ELASTICITY, COMPONENT=xx, NONLINEAR
Regards
Martin Stokes CEng MIMechE
RE: spring with variable stiffness (spring constant) depending on its disp
So, I will also need to call a user subroutine to get the displacement value to be used as the dependent variable, correct?
Thanks.
RE: spring with variable stiffness (spring constant) depending on its disp
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
RE: spring with variable stiffness (spring constant) depending on its disp
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.
RE: spring with variable stiffness (spring constant) depending on its disp
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
RE: spring with variable stiffness (spring constant) depending on its disp
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)..........