I proposed using an improper transfer function to model a simple tuned-mass damper (read more here) with the transfer function:

\frac{y}{u} = \frac{mcs^{3}+mks^{2}}{ms^{2}+cs+k}

To convert this to state-space representation we need to use the more generalized descriptor state-space notation which introduces the “E” term:

E\dot{x}(t)=Ax(t)+Bu(t)

y(t)=Cx(t)+Du(t)

where E,A \in \mathbb{R}^{n\times n}B \in \mathbb{R}^{n\times m}C \in \mathbb{R}^{p\times n} and D \in \mathbb{R}^{p\times m}.

We derive C as:

y = C \times \left[\begin{matrix}x_1\\x_2\\x_3\\x_4\end{matrix}\right]

y = \left[\begin{matrix}mc,mk,0,0\end{matrix}\right]\times \left[\begin{matrix}x_1\\x_2\\x_3\\x_4\end{matrix}\right]

We then have the following states:

\left[\begin{matrix}x_1\\x_2\\x_3\\x_4\end{matrix}\right]=\left[\begin{matrix}us^3/d\\us^2/d\\us/d\\u/d\end{matrix}\right]

\left[\begin{matrix}\dot{x}_1\\\dot{x}_2\\\dot{x}_3\\\dot{x}_4\end{matrix}\right]=\left[\begin{matrix}us^4/d\\us^3/d\\us^2/d\\us/d\end{matrix}\right]

where  d = ms^2+cs+k

we can see that

\begin{matrix}u&=&d\times x_4&\\u&=&ms^2x_4+csx_4+kx_4&\\u&=&m\dot{x}_3+cx_3+kx_4&\\\end{matrix}

On to fill out the rest of the matrices as:

\begin{matrix}E&\dot{X}&=&A&X&+&B&u\\ \left[\begin{matrix}0&1&0&0\\0&0&1&0\\0&0&m&0\\0&0&0&1\end{matrix}\right]&\left[\begin{matrix}\dot{x}_1\\\dot{x}_2\\\dot{x}_3\\\dot{x}_4\end{matrix}\right]&=&\left[\begin{matrix} 1&0&0&0\\0&1&0&0\\0&0&-c&-k\\0&0&0&1 \end{matrix}\right]&\left[\begin{matrix}x_1\\x_2\\x_3\\x_4\end{matrix}\right]&+&\left[\begin{matrix}0\\0\\1\\0\end{matrix}\right]&u\end{matrix}

\begin{matrix}Y&=&C&X&+&D&u&\\Y&=&\begin{matrix}\left[mc,mk,0,0\right]\end{matrix}&\left[\begin{matrix}x_1\\x_2\\x_3\\x_4\end{matrix}\right]&&\end{matrix}

where D=0.

A client wanted to investigate adding a tuned mass damper (TMD) to their system to improve its performance. We developed a large FEA model to estimate the dynamics of the system and didn’t want to add the damper within the FEA model because it was quite large and long solve times prevented quick iteration. We came up with this simple method to estimate the impact a TMD would have on system performance.

A 1-DOF tuned mass damper is easily derived from the diagram below
tmd

\frac{F}{x_{1}} = \frac{mcs^{3}+mks^{2}}{ms^{2}+cs+k}

From the FEA model, we generated a state-space dynamic model that has a node at the location where we’d like to add the TMD.  The input at that node is force (N, N.m) and the output at that node is displacement (m, rads).  To incorporate the TMD into the dynamics all we need to do is apply the feedback loop as shown below:

TMD-feedback

 

To expand the TMD out to 6-DOF, we simply create six 1-DOF TMD’s and connect them to their respective inputs and outputs.

Now that the TMD dynamics are generated in post processing we can easily iterate on different designs (different masses, spring rates and damping values) to optimize the design.  Frequency and transient responses are very quickly calculated as compared to solving FEA models.

 

For further reading on tuned mass dampers can by Lei Zuo and Samir Nayfeh be found here.