Static Preload November 18, 2023 A simple method to calculate the static preload in a lumped body multi Degrees of Freedom system
Δ l o ⃗ = [ A ] − 1 [ b ] \vec {\Delta l_o} = [A]^{-1}[b] with
Δ l o ⃗ \vec {\Delta l_o}
as the vector of our
s s
ordered solution, with
[ A ] = [ λ k ] T [ k p h ] [A]=[\lambda_k]^T[k_{ph}]
[ b ] = − g [ λ g ] T m ⃗ p h [b]=-g[\lambda_g]^T\vec m_{ph} [ λ k ] [\lambda_k]
is our standard lagrangian matrix for the springs,
[ λ g ] [\lambda_g]
instead is built by selecting the components of vertical displacement from
[ λ m ] [\lambda_m]
(lagrangian matrix of the inertial terms) and
m ⃗ p h \vec m_{ph}
as the list of masses in column form.
Let’s start by defining our problem.
x x
is our free coordinate, so we have:
V ( x ) = V k ( x ) + V g ( x ) V(x) = V_k(x) + V_g(x) V V
is the potential energy of our system and it can be divided into an elastic component
V k V_k
and a gravitational component
V g V_g
.
∂ V ∂ x ∣ x 0 = 0 \frac{\partial V}{\partial x}\rvert_{x_0}=0
∂ V k ∂ x ∣ x 0 + ∂ V g ∂ x ∣ x 0 = 0 \frac{\partial V_k}{\partial x}\rvert_{x_0}+\frac{\partial V_g}{\partial x}\rvert_{x_0}=0 To simplify our math let’s suppose that
x 0 = 0 x_0=0
(it’s a simple change of coordinates that will help in the N-dof case).
The first step is to derive the components of the potential energy:
V k V_k
describes the energy stored in an ideal linear spring with Hooke’s coefficient
k k
subject to a deformation
Δ l \Delta l
V k ( x ) = ∑ i = 1 s 1 2 k i Δ l i 2 ( x ) V_k(x) = \sum_{i=1}^{s} \frac{1}{2} k_i \Delta l_i^2(x) We can ignore the index for now and express
Δ l ( x ) \Delta l (x)
as
Δ l ( x ) = l ( x ) − l r \Delta l(x) = l(x) - l_r
, with
l ( x ) l(x)
as the total length of our spring and
l r l_r
as the initial length of the spring at resting position, thus giving us the convention of positive sign for tension and negative sign for compression of our spring.
Δ l ( x ) ≈ Δ l ( 0 ) + ∂ Δ l ∂ x ∣ x = 0 x + 1 2 ∂ 2 Δ l ∂ x 2 ∣ x = 0 x 2 = Δ l 0 + λ k ( 0 ) x + 1 2 ν k ( 0 ) x 2 \Delta l(x) \approx \Delta l(0) + \frac{\partial \Delta l }{\partial x}\rvert_{x=0} x +\frac{1}{2}\frac{\partial^2 \Delta l }{\partial x^2}\rvert_{x=0} x^2 =\Delta l_0 + \lambda_k(0)x + \frac{1}{2}\nu_k(0)x^2
Δ l ( x ) ∣ x = 0 ≈ Δ l 0 + λ k ( 0 ) x = Δ l 0 + λ k 0 x \Delta l(x)\rvert_{x=0} \approx \Delta l_0 + \lambda_k(0)x = \Delta l_0 + \lambda_{k0} x When putting it back into the sum we get:
V k ( x ) ∣ x = 0 ≈ ∑ i = 1 s 1 2 k i ( Δ l i 0 + λ i k 0 x ) 2 = ∑ i = 1 s 1 2 k i ( Δ l i 0 2 + λ i k 0 2 x 2 + 2 Δ l i 0 λ i k 0 x ) V_k(x) \rvert_{x=0} \approx \sum_{i=1}^{s} \frac{1}{2} k_i (\Delta l_{i0} + \lambda_{ik0} x )^2 = \sum_{i=1}^{s} \frac{1}{2} k_i (\Delta l_{i0}^2 + \lambda_{ik0}^2 x^2 + 2 \Delta l_{i0} \lambda_{ik0} x ) Let’s evaluate the derivative in respect to
x x
:
Δ l 0 2 \Delta l_0^2
is a constant and gets eliminated by the derivative, the other sqare term becomes
λ k 0 2 x \lambda_{k0}^2 x
and goes to zero when evaluated at
x = 0 x=0
, so only the mixed term
2 Δ l o λ k 0 x 2\Delta l_o \lambda_{k0} x
survives and the derivative becomes:
∂ V k ∂ x ∣ x = 0 = ∑ i = 1 s k i Δ l i 0 λ i k 0 \frac {\partial V_k }{\partial x}\rvert_{x=0}= \sum_{i=1}^s k_i \Delta l_{i0} \lambda_{ik0} We can rewrite this in vector form as:
[ k p h ] = d i a g ( k 1 ; k 2 ; . . . ; k s ) [k_{ph}] = diag(k_1; k_2; ... ; k_s)
Δ l 0 ⃗ = [ Δ l 10 ; Δ l 20 ; . . . ; Δ l s 0 ] \vec {\Delta l_0 } = [ \Delta l_{10}; \Delta l_{20}; ... ; \Delta l_{s0}]
λ ⃗ k = [ λ 1 k ; λ 2 k ; . . . ; λ s k ] \vec \lambda_{k} = [\lambda_{1k};\lambda_{2k};...;\lambda_{sk}]
∂ V g ( x ) ∂ x ∣ x = 0 = λ ⃗ k T [ k p h ] Δ l 0 ⃗ \frac{\partial V_g(x)}{\partial x}\rvert_{x=0} = \vec \lambda_{k}^T [k_{ph}] \vec {\Delta l_0 } V g ( x ) = g ∑ j = 1 n m j h j ( x ) V_g(x) = g \sum_{j=1}^n m_j h_j(x) This expresses the total gravitational energy in our system supposing
n n
bodies with mass
m j m_j
and height
h j h_j
measured from an arbitrary system of coordinates.
Applying the same concepts as the elastic term we get:
h ( x ) ∣ x = 0 ≈ h ( x ) ∣ 0 + ∂ h ∂ x ∣ 0 x + 1 2 ∂ 2 h ∂ x 2 ∣ 0 x 2 h(x)\rvert_{x=0} \approx h(x)\rvert_{0}+\frac{\partial h}{\partial x}\rvert_{0}x+\frac{1}{2}\frac{\partial^2 h}{\partial x^2}\rvert_{0} x^2 Let’s focus on the lower order terms and we get:
h ( x ) ∣ x = 0 ≈ h 0 + λ g x h(x)\rvert_{x=0} \approx h_{0}+\lambda_gx In this context
λ g \lambda_g
is the linearized displacement of the height at equilibrium.
V g ( x ) = g ∑ j = 1 n m j ( h j 0 + λ j g x ) V_g(x) = g \sum_{j=1}^n m_j (h_{j0}+\lambda_{jg}x) Deriving it we get
∂ V g ( x ) ∂ x ∣ x = 0 = g ∑ j = 1 n m j λ j g \frac{\partial V_g(x)}{\partial x}\rvert_{x=0}=g \sum_{j=1}^n m_j \lambda_{jg} Let’s put everything in vector form
m p h ⃗ = [ m 1 m 2 ⋮ m n ] \vec {m_{ph}} = \begin{bmatrix}
m_1 \\ m_2 \\ \vdots \\ m_n
\end{bmatrix}
λ ⃗ g = [ λ 1 g λ 2 g ⋮ λ n g ] \vec \lambda_{g} =
\begin{bmatrix}
\lambda_{1g} \\ \lambda_{2g}\\ \vdots \\ \lambda_{ng}
\end{bmatrix}
∂ V g ( x ) ∂ x ∣ x = 0 = g λ ⃗ g T m p h ⃗ \frac{\partial V_g(x)}{\partial x}\rvert_{x=0} = g \vec \lambda_{g}^T \vec {m_{ph}} ∂ V k ∂ x ∣ x 0 + ∂ V g ∂ x ∣ x 0 = 0 \frac{\partial V_k}{\partial x}\rvert_{x_0}+\frac{\partial V_g}{\partial x}\rvert_{x_0}=0
λ ⃗ k T [ k p h ] Δ l 0 ⃗ + g λ ⃗ g T m p h ⃗ = 0 \vec \lambda_{k}^T [k_{ph}] \vec {\Delta l_0 } + g \vec \lambda_{g}^T \vec {m_{ph}} = 0 To find
Δ l 0 ⃗ \vec {\Delta l_0 }
we just rearrange it as:
Δ l 0 ⃗ = − g ( λ ⃗ k T [ k p h ] ) − 1 λ ⃗ g T m p h ⃗ = [ A ] − 1 b ⃗ \vec {\Delta l_0 } = -g(\vec \lambda_{k}^T [k_{ph}])^{-1} \vec \lambda_{g}^T \vec {m_{ph}} = [A]^{-1}\vec b We follow the same procedure but now we have additional dimensions for our
x ⃗ \vec x
:
x ⃗ = [ x 1 x 2 ⋮ x N ] \vec x =
\begin{bmatrix}
x_1 \\ x_2 \\ \vdots \\ x_N
\end{bmatrix}
So we need to evaluate the gradient of our potential energy funcion for the equilibrium:
∂ V ( x ⃗ ) ∂ x ⃗ ∣ x ⃗ = 0 ⃗ = [ ∂ V ( x ⃗ ) ∂ x 1 ∂ V ( x ⃗ ) ∂ x 2 ⋮ ∂ V ( x ⃗ ) ∂ x N ] ∣ x ⃗ = 0 ⃗ = 0 ⃗ \frac{\partial V(\vec x)}{\partial \vec x}\rvert_{\vec x= \vec 0} =
\begin{bmatrix}
\frac{\partial V(\vec x)}{\partial x_1} \\
\frac{\partial V(\vec x)}{\partial x_2} \\
\vdots \\
\frac{\partial V(\vec x)}{\partial x_N}
\end{bmatrix}\rvert_{\vec x= \vec 0} =\vec 0
∇ V ( x ⃗ ) ∣ x ⃗ = 0 ⃗ = ∇ V k ( x ⃗ ) ∣ x ⃗ = 0 ⃗ + ∇ V g ( x ⃗ ) ∣ x ⃗ = 0 ⃗ = 0 ⃗ \nabla V(\vec x)\rvert_{\vec x= \vec 0} = \nabla V_k(\vec x)\rvert_{\vec x= \vec 0} + \nabla V_g(\vec x)\rvert_{\vec x= \vec 0} = \vec 0 V k ( x ⃗ ) = 1 2 ∑ i = 1 s k i Δ l i 2 ( x ⃗ ) = 1 2 Δ l 0 ⃗ T ( x ⃗ ) k p h Δ l 0 ( x ⃗ ) ⃗ V_k (\vec x)=\frac{1}{2}\sum_{i=1}^{s}k_i\Delta l_i^2(\vec x) =
\frac{1}{2} \vec{\Delta l_0}^T (\vec x) k_{ph} \vec{\Delta l_0(\vec x)}
with
k p h = d i a g ( k 1 , k 2 , . . . , k s ) k_{ph}=diag(k1,k2,...,ks)
Δ l 0 ⃗ ( x ⃗ ) = [ Δ l 10 ( x ⃗ ) Δ l 20 ( x ⃗ ) ⋮ Δ l N 0 ( x ⃗ ) ] \vec{\Delta l_0}(\vec x) = \begin{bmatrix}
\Delta l_{10}(\vec x) \\
\Delta l_{20}(\vec x) \\
\vdots \\
\Delta l_{N0}(\vec x)
\end{bmatrix}
As usual we expand our
Δ l ( x ⃗ ) \Delta l(\vec x)
near the equilibrium:
Δ l ( x ⃗ ) ⃗ ∣ x ⃗ = 0 ⃗ ≈ Δ l ( 0 ⃗ ) ⃗ + ∂ Δ l ∂ x ⃗ ∣ x ⃗ = 0 ⃗ x ⃗ + 1 2 ∂ 2 Δ l ∂ x 2 ∣ x ⃗ = 0 ⃗ x ⃗ 2 = Δ l 0 ⃗ + [ λ k ( 0 ) ] x ⃗ + 1 2 x ⃗ T [ ν k ( 0 ) ] x ⃗ \vec{\Delta l(\vec x)} \rvert_{\vec x=\vec 0} \approx \vec {\Delta l(\vec 0)} + \frac{\partial \Delta l }{\partial \vec x}\rvert_{\vec x= \vec 0} \vec x +\frac{1}{2}\frac{\partial^2 \Delta l }{\partial x^2}\rvert_{\vec x= \vec 0} \vec x^2 = \vec{\Delta l_0} + [\lambda_k(0)]\vec x + \frac{1}{2}\vec x^T[\nu_k(0)]\vec x
Δ l ( x ⃗ ) ⃗ ∣ x ⃗ = 0 ⃗ ≈ Δ l 0 ⃗ + [ λ k ( 0 ) ] x ⃗ = Δ l 0 ⃗ + [ λ k 0 ] x ⃗ \vec{\Delta l(\vec x)}\rvert_{\vec x=\vec 0} \approx \vec{\Delta l_0} + [\lambda_k(0)] \vec x = \vec{\Delta l_0} + [\lambda_{k0}] \vec x Plugging it into the initial equation we get:
V k ( x ⃗ ) ∣ x ⃗ = 0 ⃗ ≈ 1 2 ( Δ l 0 ⃗ + [ λ k 0 ] x ⃗ ) T [ k p h ] ( Δ l 0 ⃗ + [ λ k 0 ] x ⃗ ) = V_k (\vec x) \rvert_{\vec x=\vec 0} \approx
\frac{1}{2} (\vec {\Delta l_{0}} + [\lambda_{k0}] \vec x)^T [k_{ph}] (\vec {\Delta l_{0}} + [\lambda_{k0}] \vec x) =
= 1 2 ( x ⃗ T [ λ k 0 ] T [ k p h ] [ λ k 0 ] x ⃗ + Δ l 0 ⃗ T [ k p h ] Δ l 0 ⃗ + Δ l 0 ⃗ T [ k p h ] [ λ k 0 ] x ⃗ + x ⃗ T [ λ k 0 ] T [ k p h ] Δ l 0 ⃗ ) = \frac{1}{2}(
\vec x^T[\lambda_{k0}]^T [k_{ph}] [\lambda_{k0}] \vec x +
\vec {\Delta l_{0}}^T[k_{ph}] \vec {\Delta l_{0}} +
\vec {\Delta l_{0}}^T[k_{ph}] [\lambda_{k0}] \vec x +
\vec x^T[\lambda_{k0}]^T [k_{ph}] \vec {\Delta l_{0}} )
Like for our 1-DOF case the only terms that survive the gradient are the mixed ones:
∇ V k ∣ x ⃗ = 0 ⃗ = ∂ V k ∂ x ⃗ ( x ⃗ ) ∣ x ⃗ = 0 ⃗ ≈ 1 2 ( Δ l 0 ⃗ T [ k p h ] [ λ k 0 ] + [ λ k 0 ] T [ k p h ] Δ l 0 ⃗ ) = [ λ k 0 ] T [ k p h ] Δ l 0 ⃗ \nabla V_k\rvert_{\vec x= \vec 0}= \frac{\partial V_k}{\partial \vec x} (\vec x) \rvert_{\vec x=\vec 0} \approx
\frac{1}{2} (\vec {\Delta l_{0}}^T[k_{ph}] [\lambda_{k0}] + [\lambda_{k0}]^T [k_{ph}] \vec {\Delta l_{0}} ) = [\lambda_{k0}]^T [k_{ph}] \vec {\Delta l_{0}}
ℹ️
Note
For
x , y ∈ R _ n , 1 x,y \in \mathbb{R}\_{n,1}
and
[ S ] ∈ R n , n [S] \in \mathbb{R}_{n,n}
.
( x T [ S ] y ) T = x T [ S ] y (x^T[S]y)^T=x^T[S]y
x T [ S ] y = ( x T [ S ] y ) T = y T [ S ] T x = y T [ S ] x x^T[S]y=(x^T[S]y)^T=y^T[S]^Tx=y^T[S]x This must be straightforward now if you understood the past passages but for completeness let’s write them down:
V g ( x ⃗ ) = g h ⃗ ( x ⃗ ) T m p h ⃗ V_g(\vec x) = g \vec h(\vec x)^T \vec {m_{ph}} with
m ⃗ p h = [ m 1 m 2 ⋮ m n ] \vec m_{ph}= \begin{bmatrix}
m_1 \\ m_2 \\ \vdots \\ m_n
\end{bmatrix}
h ⃗ ( x ⃗ ) = [ h 1 ( x ⃗ ) h 2 ( x ⃗ ) ⋮ h n ( x ⃗ ) ] \vec h(\vec x) = \begin{bmatrix}
h_1(\vec x) \\ h_2(\vec x) \\ \vdots \\ h_n(\vec x)
\end{bmatrix} Expanding the height we get:
h ⃗ ( x ⃗ ) ∣ x ⃗ = 0 ⃗ ≈ h ⃗ ( x ⃗ ) ∣ 0 ⃗ + ∂ h ⃗ ∂ x ⃗ ∣ 0 ⃗ x ⃗ + 1 2 ∂ 2 h ∂ x ⃗ ∂ x ⃗ ∣ 0 ⃗ x ⃗ 2 = h ⃗ 0 + [ λ k ( 0 ) ] x ⃗ + 1 2 x ⃗ T [ ν k ( 0 ) ] x ⃗ \vec h(\vec x)\rvert_{\vec x=\vec 0} \approx \vec h(\vec x)\rvert_{\vec 0}+\frac{\partial \vec h}{\partial \vec x}\rvert_{\vec 0}\vec x+\frac{1}{2}\frac{\partial^2 h}{\partial \vec x \partial \vec x}\rvert_{\vec 0} \vec x^2 = \vec h_0 + [\lambda_k(0)]\vec x+ \frac{1}{2}\vec x^T[\nu_k(0)]\vec x Picking just the linear and terms we get:
h ⃗ ( x ⃗ ) ∣ x ⃗ = 0 ⃗ ≈ h ⃗ 0 + [ λ g ] x ⃗ \vec h(\vec x)\rvert_{\vec x=\vec 0} \approx \vec h_{0}+[\lambda_g]\vec x Transposing and putting it back in the original energy expression we get:
V g ( x ⃗ ) ∣ 0 ⃗ = g ( h ⃗ 0 T + x ⃗ T [ λ g ] T ) m p h ⃗ V_g(\vec x)\rvert_{\vec 0} = g ( \vec h_0^T + \vec x^T [\lambda_g]^T)\vec {m_{ph}} Deriving it we get
∇ V g ∣ x ⃗ = 0 ⃗ = ∂ V g ( x ⃗ ) ∂ x ⃗ ∣ x = 0 = g [ λ g ] T m p h ⃗ \nabla V_g\rvert_{\vec x= \vec 0} = \frac{\partial V_g(\vec x)}{\partial \vec x}\rvert_{x=0}=g [\lambda_g]^T \vec{m_{ph}} ∇ V ∣ x ⃗ = 0 ⃗ = ∇ V k ∣ x ⃗ = 0 ⃗ + ∇ V g ∣ x ⃗ = 0 ⃗ = 0 \nabla V\rvert_{\vec x= \vec 0} = \nabla V_k\rvert_{\vec x= \vec 0} + \nabla V_g\rvert_{\vec x= \vec 0} = 0
[ λ k 0 ] T [ k p h ] Δ l 0 ⃗ = − g [ λ g ] T m p h ⃗ [\lambda_{k0}]^T [k_{ph}] \vec {\Delta l_{0}} = -g [\lambda_g]^T \vec{m_{ph}}
let [ A ] = [ λ k 0 ] T [ k p h ] \text{let } [A]=[\lambda_{k0}]^T [k_{ph}]
let b ⃗ = − g [ λ g ] T m p h ⃗ \text{let } \vec b = -g [\lambda_g]^T \vec{m_{ph}}
Δ l 0 ⃗ = [ A ] − 1 b ⃗ \vec {\Delta l_{0}} = [A]^{-1}\vec b