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]Tmโƒ—ph[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โƒ—ph\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

โˆ‚Vโˆ‚xโˆฃx0=0 \frac{\partial V}{\partial x}\rvert_{x_0}=0 โˆ‚Vkโˆ‚xโˆฃx0+โˆ‚Vgโˆ‚xโˆฃx0=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)+โˆ‚ฮ”lโˆ‚xโˆฃx=0x+12โˆ‚2ฮ”lโˆ‚x2โˆฃx=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:nโ‰ฅ2} \{ x^n : n\geq 2 \} is going to show up as a function of xnโˆ’1x^{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=0โ‰ˆโˆ‘i=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:

โˆ‚Vkโˆ‚xโˆฃx=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)โˆ‚xโˆฃx=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)=gโˆ‘j=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=0โ‰ˆh(x)โˆฃ0+โˆ‚hโˆ‚xโˆฃ0x+12โˆ‚2hโˆ‚x2โˆฃ0x2 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โ‰ˆh0+ฮป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)=gโˆ‘j=1nmj(hj0+ฮปjgx) V_g(x) = g \sum_{j=1}^n m_j (h_{j0}+\lambda_{jg}x)

Deriving it we get

โˆ‚Vg(x)โˆ‚xโˆฃx=0=gโˆ‘j=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โƒ—=[m1m2โ‹ฎmn] \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)โˆ‚xโˆฃx=0=gฮปโƒ—gTmphโƒ— \frac{\partial V_g(x)}{\partial x}\rvert_{x=0} = g \vec \lambda_{g}^T \vec {m_{ph}}

Final expression

โˆ‚Vkโˆ‚xโˆฃx0+โˆ‚Vgโˆ‚xโˆฃx0=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โƒ—=[x1x2โ‹ฎxN] \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โƒ—)โˆ‚x1โˆ‚V(xโƒ—)โˆ‚x2โ‹ฎโˆ‚V(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โƒ—)=12โˆ‘i=1skiฮ”li2(xโƒ—)=12ฮ”l0โƒ—T(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โƒ—)โƒ—+โˆ‚ฮ”lโˆ‚xโƒ—โˆฃxโƒ—=0โƒ—xโƒ—+12โˆ‚2ฮ”lโˆ‚x2โˆฃxโƒ—=0โƒ—xโƒ—2=ฮ”l0โƒ—+[ฮปk(0)]xโƒ—+12xโƒ—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

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โƒ—=0โƒ—โ‰ˆ12(ฮ”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(xโƒ—T[ฮปk0]T[kph][ฮปk0]xโƒ—+ฮ”l0โƒ—T[kph]ฮ”l0โƒ—+ฮ”l0โƒ—T[kph][ฮปk0]xโƒ—+xโƒ—T[ฮป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:

โˆ‡Vkโˆฃxโƒ—=0โƒ—=โˆ‚Vkโˆ‚xโƒ—(xโƒ—)โˆฃxโƒ—=0โƒ—โ‰ˆ12(ฮ”l0โƒ—T[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,yโˆˆR_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

mโƒ—ph=[m1m2โ‹ฎmn] \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โƒ—=0โƒ—โ‰ˆhโƒ—(xโƒ—)โˆฃ0โƒ—+โˆ‚hโƒ—โˆ‚xโƒ—โˆฃ0โƒ—xโƒ—+12โˆ‚2hโˆ‚xโƒ—โˆ‚xโƒ—โˆฃ0โƒ—xโƒ—2=hโƒ—0+[ฮปk(0)]xโƒ—+12xโƒ—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:

Vg(xโƒ—)โˆฃ0โƒ—=g(hโƒ—0T+xโƒ—T[ฮป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

โˆ‡Vgโˆฃxโƒ—=0โƒ—=โˆ‚Vg(xโƒ—)โˆ‚xโƒ—โˆฃx=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

โˆ‡Vโˆฃxโƒ—=0โƒ—=โˆ‡Vkโˆฃxโƒ—=0โƒ—+โˆ‡Vgโˆฃ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 [ฮป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: