NA of Moles

Static Preload

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

tl,dr:

Δ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}] [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 .

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.

Δ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 Δ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 Δ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} .

(xT[S]y)T=xT[S]y (x^T[S]y)^T=x^T[S]y 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: