The topic of this blog post is one I started thinking of when a friend of mine presented the idea of whether the flexibility of a relatively thin concrete plate affects the response of a vibration-isolated foundation. In other words: should the behaviour of the plate in itself be taken into account in a situation like the one described here (without taking into account any possible other objects attached to the plate itself)?

Well, let’s do some testing.

## The setup

These are the dimensions of the plate. The vibration isolators are chosen to be 10cm x 10cm & have a uniform dynamic stiffness of $$E = 3 \mathrm{MPa}$$ and a thickness of $$t = 2.5 \mathrm{cm}$$. The values I chose from concrete are $$\rho = 2.5 \mathrm{kg}/\mathrm{m}^3$$ and $$E = 27 \mathrm{GPa}$$.

## A cool gif

What you’re seeing above is basically the result of a sine sweep on a damped system, where a sinusoidal force is placed at 20% from the outer right corner of the plate. So, we have a point force with a constant amplitude and a specific frequency attempting to vibrate the plate.

Note that the deformations are waaaayy exaggarated throughout this post.

One can clearly see that the deformation gets smaller as the frequency increases. Thus, a smaller portion of the exciting force is transfered to the foundations. Also note that in the beginning, mostly one corner vibrates but as we approach the modes at ~36 Hz (the modes will be shown later in this post) the plate starts to pivot/swing around the middle axis. So we’re moving from a mix of modes 1 and 2/3 towards modes 2/3.

## Some theory

Starting from $$\mathbf{M}\ddot{x} + \mathbf{C}\dot x + \mathbf{K} x = \mathbf{f}$$, I solved the dynamic system $$(-\omega^2\mathbf{M}+{i\mkern1mu}\mathbf{C}+\mathbf{K})\mathbf{x}=\mathbf{f}$$ describing the steady state solution with a sinusoidal excitation. I used python, and obtained the mass/stiffness matrices using finite element analysis. The eigenfrequencies are calculated using regular analysis (from $$\textbf{M}^{-1}\textbf{K}$$).

The Mindlin–Reissner plate theory with bilinear elements was used for the plate. Also, I used regular spring elements lumped at the nodes for the vibration isolation (vertical shear deformations of the isolators are not central at the lowest frequencies). For the damping matrix, I used rayleigh damping with nothing but the stiffness matrix-related term with a value of 0.0075. I applied the damping directly to the global system.

Only vertical movement is taken into account here.

## The eigenmodes & resonant frequencies

Alright! What are the lowest frequencies the system will resonate on? Or, to put it another way, what are the lowest eigenmodes, and the corresponding eigenfrequencies? The lowest mode corresponds to the one obtained from the formula for a mass-spring system, $$f_0 = \frac{1}{2 \pi}\sqrt{\frac{k}{m}}$$, which in this case gives $$f_0 = 22.85 \mathrm{Hz}$$.

## The response of the system

How well does this system perform? What are the effects of these modes?

First, let’s try placing the force in the **absolute middle**. This would be the ideal case, when we can be sure that everything works as well as it can. Let’s also, to begin with, consider an **undamped system**. Note that concrete in itself definitely has some structural damping, so the response is by no means correct here:

Alright! We can see a sharp peak at around **mode 4**. Mode 5 isn’t visible, as the force in the absolute middle has no way of waking it up. Note that we’re examining an undamped system here, so this is something which would happen if the concrete in itself wouldn’t dissipate energy at vibrations around ~200 Hz (which it in reality does).

Ok then! What happens if we add some damping to the system? Let’s also apply the same kind of damping to the isolating pads.

Suddenly we can see that the mode at around 188 Hz vanishes completely. This is because the type of damping we added affects higher frequencies quite a bit. I chose a coefficient which very roughly should correspond to the damping behaviour of concrete, but I did not do any thorough research here so please note that the resonance could in reality very well be somewhere between the two previous figures. Still, the results seem to very strongly indicate that the mode at around 188 Hz shouldn’t be visible in a situation like the one described here.

Ok then! Let’s try moving the force a bit. Let’s move it so it’s 20% from both sides. First, let’s examine the case without damping. What does the response look like now?

Apparently the force is situated in such a place that mode 4 isn’t really excited. Instead, we can see that **mode 5 **is clearly visible.

Once again, let’s see what happens when we add some damping.

We can see that only the three first modes seem to affect the result. Still, I’d say that it’s really important to notice that **the first three modes actually affect the result quite a bit.** This is also clearly visible in the animated gif at the beginning of the post.

## Conclusion

The modes of the plate in itself are very central when the structure in itself doesn’t have strong damping characteristics. This would be the case if the plate was made of steel, for example. If the plate is made of homogenous concrete (no rebar is taken into account here), the results strongly indicate that only the modes where the structure can be assumed to act as a rigid body seem to affect the result.

Thus, in a case like the one above, it should be enough to consider the plate as a perfectly rigid structure. Still, the results strongly indicate that if the excitation isn’t perfectly centered, other modes than the lowest one can have a strong effect on the performance of the isolating system. Also, if there is reason to suspect that the modes of the plate in itself aren’t damped, it might be useful to examine them as part of the system.

JunaidDear Kai,

I want to learn how to code finite element method using python. Could you please give some suggestions as to where to start from. I’ll be grateful.

KaiPost authorHi Junaid. Any books with good reviews on amazon, and google.

Celso MonteiroHello Kai,

I found your code for Chladni patterns. I am very interested in this. I would to continue your work.

There is an index error.

#Global matrices

K = np.zeros((nDOF,nDOF))

M = np.zeros((nDOF,nDOF))

F = np.zeros((nDOF,1))

then you try…

#F = np.delete(F, ix, axis=1)

when

ix range(1441, 1443)

axis=0 2857

axis=1 1

Were you meaning to define the array as

F = np.zeros((nDOF,nDof))

KaiPost authorHi Celso. Please feel free to correct me if I understood you wrong but F is always a vector, per definition. There’s just one force per degree of freedom possible, e.g. from the example f = Ku where force relates directly to displacement per DOF.