NA of Moles

Static Preload

A simple method to calculate the static preload in a lumped body multi Degrees of Freedom system

tl,dr:

💡 Tip

Final Formula Given a system of ss springs and nn bodies in NN degrees of freedom, we can calculate the static preload of our springs at equilibrium by:

Δlo=[A]1[b] \vec {\Delta l_o} = [A]^{-1}[b]

with Δlo \vec {\Delta l_o} as the vector of our ss ordered solution, with

[A]=[λk]T[kph] [A]=[\lambda_k]^T[k_{ph}]

and

[b]=g[λg]Tmph[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 mph\vec m_{ph} as the list of masses in column form.

Proof 1-DOF case

Let’s start by defining our problem. xx is our free coordinate, so we have:

V(x)=Vk(x)+Vg(x) V(x) = V_k(x) + V_g(x)

VV is the potential energy of our system and it can be divided into an elastic component Vk V_k and a gravitational component Vg V_g .

The equilibrium is defined as the point x0x_0 so that

Vxx0=0 \frac{\partial V}{\partial x}\rvert_{x_0}=0 Vkxx0+Vgxx0=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 x0=0x_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:

Elastic energy 1-dof

VkV_k describes the energy stored in an ideal linear spring with Hooke’s coefficient kk subject to a deformation Δl \Delta l

Vk(x)=i=1s12kiΔli2(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)lr \Delta l(x) = l(x) - l_r , with l(x)l(x) as the total length of our spring and lrl_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.

We can expand it as:

Δl(x)Δl(0)+Δlxx=0x+122Δlx2x=0x2=Δl0+λk(0)x+12νk(0)x2 \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

We are going to square and derive this expression, so every term of xx with power greater or equal than two {xn:n2} \{ x^n : n\geq 2 \} is going to show up as a function of xn1x^{n-1} and when evaluated at x=0x=0 they simply dissapear.

Δl(x)x=0Δl0+λk(0)x=Δl0+λk0x \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:

Vk(x)x=0i=1s12ki(Δli0+λik0x)2=i=1s12ki(Δli02+λik02x2+2Δli0λik0x) 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 xx :

Δl02\Delta l_0^2 is a constant and gets eliminated by the derivative, the other sqare term becomes λk02x\lambda_{k0}^2 x and goes to zero when evaluated at x=0x=0 , so only the mixed term 2Δloλk0x2\Delta l_o \lambda_{k0} x survives and the derivative becomes:

Vkxx=0=i=1skiΔli0λik0 \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:

[kph]=diag(k1;k2;...;ks) [k_{ph}] = diag(k_1; k_2; ... ; k_s) Δl0=[Δl10;Δl20;...;Δls0] \vec {\Delta l_0 } = [ \Delta l_{10}; \Delta l_{20}; ... ; \Delta l_{s0}] λk=[λ1k;λ2k;...;λsk] \vec \lambda_{k} = [\lambda_{1k};\lambda_{2k};...;\lambda_{sk}] Vg(x)xx=0=λkT[kph]Δl0 \frac{\partial V_g(x)}{\partial x}\rvert_{x=0} = \vec \lambda_{k}^T [k_{ph}] \vec {\Delta l_0 }

Gravitational energy 1-dof

Vg(x)=gj=1nmjhj(x) V_g(x) = g \sum_{j=1}^n m_j h_j(x)

This expresses the total gravitational energy in our system supposing nn bodies with mass mjm_j and height hjh_j measured from an arbitrary system of coordinates.

Applying the same concepts as the elastic term we get:

h(x)x=0h(x)0+hx0x+122hx20x2 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=0h0+λgx 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.

Vg(x)=gj=1nmj(hj0+λjgx) V_g(x) = g \sum_{j=1}^n m_j (h_{j0}+\lambda_{jg}x)

Deriving it we get

Vg(x)xx=0=gj=1nmjλjg \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

mph=[m1m2mn] \vec {m_{ph}} = \begin{bmatrix} m_1 \\ m_2 \\ \vdots \\ m_n \end{bmatrix} λg=[λ1gλ2gλng] \vec \lambda_{g} = \begin{bmatrix} \lambda_{1g} \\ \lambda_{2g}\\ \vdots \\ \lambda_{ng} \end{bmatrix} Vg(x)xx=0=gλgTmph \frac{\partial V_g(x)}{\partial x}\rvert_{x=0} = g \vec \lambda_{g}^T \vec {m_{ph}}

Final expression

Vkxx0+Vgxx0=0 \frac{\partial V_k}{\partial x}\rvert_{x_0}+\frac{\partial V_g}{\partial x}\rvert_{x_0}=0 λkT[kph]Δl0+gλgTmph=0 \vec \lambda_{k}^T [k_{ph}] \vec {\Delta l_0 } + g \vec \lambda_{g}^T \vec {m_{ph}} = 0

To find Δl0 \vec {\Delta l_0 } we just rearrange it as:

Δl0=g(λkT[kph])1λgTmph=[A]1b \vec {\Delta l_0 } = -g(\vec \lambda_{k}^T [k_{ph}])^{-1} \vec \lambda_{g}^T \vec {m_{ph}} = [A]^{-1}\vec b

N-DOF case

We follow the same procedure but now we have additional dimensions for our x\vec x :

x=[x1x2xN] \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)xx=0=[V(x)x1V(x)x2V(x)xN]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=Vk(x)x=0+Vg(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

Elastic energy

Vk(x)=12i=1skiΔli2(x)=12Δl0T(x)kphΔl0(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

kph=diag(k1,k2,...,ks) k_{ph}=diag(k1,k2,...,ks) Δl0(x)=[Δl10(x)Δl20(x)ΔlN0(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)+Δlxx=0x+122Δlx2x=0x2=Δl0+[λk(0)]x+12xT[ν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

and we simplify it as:

Δl(x)x=0Δl0+[λk(0)]x=Δl0+[λk0]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:

Vk(x)x=012(Δl0+[λk0]x)T[kph](Δl0+[λk0]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) = =12(xT[λk0]T[kph][λk0]x+Δl0T[kph]Δl0+Δl0T[kph][λk0]x+xT[λk0]T[kph]Δl0) = \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:

Vkx=0=Vkx(x)x=012(Δl0T[kph][λk0]+[λk0]T[kph]Δl0)=[λk0]T[kph]Δl0 \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,yR_n,1 x,y \in \mathbb{R}\_{n,1} and [S]Rn,n [S] \in \mathbb{R}_{n,n} .

Then xT[S]y x^T[S]y is just a scalar. So:

(xT[S]y)T=xT[S]y (x^T[S]y)^T=x^T[S]y

If [S][S] is symmetric:

xT[S]y=(xT[S]y)T=yT[S]Tx=yT[S]x x^T[S]y=(x^T[S]y)^T=y^T[S]^Tx=y^T[S]x

Gravitational Energy

This must be straightforward now if you understood the past passages but for completeness let’s write them down:

Vg(x)=gh(x)Tmph V_g(\vec x) = g \vec h(\vec x)^T \vec {m_{ph}}

with

mph=[m1m2mn] \vec m_{ph}= \begin{bmatrix} m_1 \\ m_2 \\ \vdots \\ m_n \end{bmatrix} h(x)=[h1(x)h2(x)hn(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=0h(x)0+hx0x+122hxx0x2=h0+[λk(0)]x+12xT[ν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=0h0+[λ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:

Vg(x)0=g(h0T+xT[λg]T)mph 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

Vgx=0=Vg(x)xx=0=g[λg]Tmph \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}}

Final formula

Vx=0=Vkx=0+Vgx=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 [λk0]T[kph]Δl0=g[λg]Tmph [\lambda_{k0}]^T [k_{ph}] \vec {\Delta l_{0}} = -g [\lambda_g]^T \vec{m_{ph}} let [A]=[λk0]T[kph] \text{let } [A]=[\lambda_{k0}]^T [k_{ph}] let b=g[λg]Tmph \text{let } \vec b = -g [\lambda_g]^T \vec{m_{ph}} Δl0=[A]1b \vec {\Delta l_{0}} = [A]^{-1}\vec b
Tags: