Material elasticity 1
Spring systems
Last updated
Spring systems
Last updated
In this session we will develop the tools for simulating deformable geometries using concepts relevant to elasticity of materials []. We will create simulated springs and model objects that “want to retain a desired length” when compressed or elongated. Assemblies of springs will allow us to define rope-like curves and membrane-like surfaces; geometries that incorporate physical properties and behaviours.
The first setup uses only one spring to introduce a few concepts. The graph defines two particles: one at the world’s origin and another 10 units along the x-direction; both particles have initially zero velocity. For masses we have two available options: either fix one of the spring’s particles, using zero mass, or let them both freely move.
With such a simple expression we can capture the notion of resisting shape changes and restorative behaviours for linear segments connecting two particles. If the current length of a spring is larger that its rest length, i.e. the spring is elongated or as we say in tension, the term L – d
becomes negative; the spring is in compression when its length is shorter than its rest length; and when the spring’s current length equals its rest length the force vanishes.
The stiffness constant is just a scaling factor expressing how difficult it is to deform a spring from its default state. The fact that the force is proportional to its elongation, times a fixed stiffness value, is why we call this notion linear spring force; not because of the line segment connecting its end-points.
The new implementation of force analysis contains now gravity, drag and the spring force. The spring logic is highlighted in the middle of the graph, where we compute the distance between two particles, subtract it from the rest length; scale it by the stiffness and apply the force magnitude on the unit vector between particles. We will come back to this graph later to explain the other logic groups.
The animation below demonstrates the stereotypical setup of a spring fixed at one of its end-points. With no way to dissipate energy a spring oscillates about its fixed end for ever. Using relatively low stiffness has the effect of a rubber band like behaviour.
The more general case is where both spring’s end-particles are free to move. In this setup we also observe the oscillation but about the notional mid-point. We can also observe the symmetric loading and motion profile of the spring.
The setup below incorporates the idea of damping, via a global drag force applied to all particles. We can observe that the spring starting from an elongated state, where its end-particles are spaced apart by 10 units, reaches its rest-length of 5 units rather rapidly after a few short oscillations about the desired length.
The same behaviour can be observed when we allow both spring particles to move freely. The desired length is again reached but the position is centred about the middle because the same magnitude of force is equally applied to both ends but in the opposite direction.
Practice
Experiment with different stiffness, rest length and damping values to understand the relationship in relative terms between those physical quantities. What happens if we use a very high stiffness value for instance?
Record and plot the displacement graph of the fixed spring setup ie. x-axis is time and y-axis is the rest length minus the current length.
Activate gravity, by setting the acceleration magnitude to a non-zero value, to simulate a hanging spring pendulum.
From the perspective of computational modelling, a spring is not a “physical” object in the same sense of a particle body is. It is instead a binary force obeying Hooke’s law of springs [] i.e. F = k * ( L – d )
, where k
is a stiffness constant expressing the spring’s material properties; L
is the rest length i.e. its natural length; and “d” is the current or deformed spring’s length.