137 lines
5.2 KiB
Org Mode
137 lines
5.2 KiB
Org Mode
#+TITLE: Modal Analysis - Derivation of Mathematical Models
|
|
:DRAWER:
|
|
#+STARTUP: overview
|
|
|
|
#+LANGUAGE: en
|
|
#+EMAIL: dehaeze.thomas@gmail.com
|
|
#+AUTHOR: Dehaeze Thomas
|
|
|
|
#+HTML_LINK_HOME: ../index.html
|
|
#+HTML_LINK_UP: ./index.html
|
|
|
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/zenburn.css"/>
|
|
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.min.js"></script>
|
|
#+HTML_HEAD: <script type="text/javascript" src="../js/bootstrap.min.js"></script>
|
|
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.stickytableheaders.min.js"></script>
|
|
#+HTML_HEAD: <script type="text/javascript" src="../js/readtheorg.js"></script>
|
|
|
|
#+HTML_MATHJAX: align: center tagside: right font: TeX
|
|
|
|
#+PROPERTY: header-args:matlab :session *MATLAB*
|
|
#+PROPERTY: header-args:matlab+ :comments org
|
|
#+PROPERTY: header-args:matlab+ :results none
|
|
#+PROPERTY: header-args:matlab+ :exports both
|
|
#+PROPERTY: header-args:matlab+ :eval no-export
|
|
#+PROPERTY: header-args:matlab+ :output-dir figs
|
|
|
|
#+PROPERTY: header-args:shell :eval no-export
|
|
|
|
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/MEGA/These/LaTeX/}{config.tex}")
|
|
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
|
|
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
|
|
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
|
|
#+PROPERTY: header-args:latex+ :results raw replace :buffer no
|
|
#+PROPERTY: header-args:latex+ :eval no-export
|
|
#+PROPERTY: header-args:latex+ :exports both
|
|
#+PROPERTY: header-args:latex+ :mkdirp yes
|
|
#+PROPERTY: header-args:latex+ :output-dir figs
|
|
:END:
|
|
|
|
* Type of Model
|
|
The model that we want to obtain is a *multi-body model*.
|
|
It is composed of several *solid bodies connected with springs and dampers*.
|
|
The solid bodies are represented with different colors on figure [[fig:nass_solidworks]].
|
|
|
|
In the simscape model, the solid bodies are:
|
|
- the granite (1 or 2 solids)
|
|
- the translation stage
|
|
- the tilt stage
|
|
- the spindle and slip-ring
|
|
- the hexapod
|
|
|
|
#+name: fig:nass_solidworks
|
|
#+caption: CAD view of the ID31 Micro-Station
|
|
#+attr_html: :width 800px
|
|
[[file:img/nass_solidworks.png]]
|
|
|
|
However, each of the DOF of the system may not be relevant for the modes present in the frequency band of interest.
|
|
For instance, the translation stage may not vibrate in the Z direction for all the modes identified. Then, we can block this DOF and this simplifies the model.
|
|
|
|
The modal identification done here will thus permit us to determine *which DOF can be neglected*.
|
|
|
|
* TODO Extract Physical Matrices
|
|
cite:wang11_extrac_real_modes_physic_matric
|
|
|
|
Let's recall that:
|
|
\[ \Lambda = \begin{bmatrix}
|
|
s_1 & & 0 \\
|
|
& \ddots & \\
|
|
0 & & s_N
|
|
\end{bmatrix}_{N \times N}; \quad \Psi = \begin{bmatrix}
|
|
& & \\
|
|
\{\psi_1\} & \dots & \{\psi_N\} \\
|
|
& &
|
|
\end{bmatrix}_{M \times N} ; \quad A = \begin{bmatrix}
|
|
a_1 & & 0 \\
|
|
& \ddots & \\
|
|
0 & & a_N
|
|
\end{bmatrix}_{N \times N}; \]
|
|
|
|
|
|
\begin{align}
|
|
M &= \frac{1}{2} \left[ \text{Re}(\Psi A^{-1} \Lambda \Psi^T ) \right]^{-1} \\
|
|
C &= -2 M \text{Re}(\Psi A^{-1} \Lambda^2 A^{-1} \Psi^T ) M \\
|
|
K &= -\frac{1}{2} \left[ \text{Re}(\Psi \Lambda^{-1} A^{-1} \Psi^T) \right]^{-1}
|
|
\end{align}
|
|
|
|
#+begin_src matlab
|
|
psi = eigen_vec_CoM;
|
|
a = modal_a_M;
|
|
lambda = eigen_val_M;
|
|
|
|
M = 0.5*inv(real(psi*inv(a)*lambda*psi'));
|
|
C = -2*M*real(psi*inv(a)*lambda^2*inv(a)*psi')*M;
|
|
K = -0.5*inv(real(psi*inv(lambda)*inv(a)*psi'));
|
|
#+end_src
|
|
|
|
From cite:ewins00_modal
|
|
|
|
\begin{align}
|
|
[M] &= [\Phi]^{-T} [I] [\Phi]^{-1} \\
|
|
[K] &= [\Phi]^{-T} [\lambda_r^2] [\Phi]^{-1}
|
|
\end{align}
|
|
|
|
* Some notes about constraining the number of degrees of freedom
|
|
We want to have the two eigen matrices.
|
|
|
|
They should have the same size $n \times n$ where $n$ is the number of modes as well as the number of degrees of freedom.
|
|
Thus, if we consider 21 modes, we should restrict our system to have only 21 DOFs.
|
|
|
|
Actually, we are measured 6 DOFs of 6 solids, thus we have 36 DOFs.
|
|
|
|
From the mode shapes animations, it seems that in the frequency range of interest, the two marbles can be considered as one solid.
|
|
We thus have 5 solids and 30 DOFs.
|
|
|
|
|
|
In order to determine which DOF can be neglected, two solutions seems possible:
|
|
- compare the mode shapes
|
|
- compare the FRFs
|
|
|
|
The question is: in which base (frame) should be express the modes shapes and FRFs?
|
|
Is it meaningful to compare mode shapes as they give no information about the amplitudes of vibration?
|
|
|
|
|
|
| Stage | Motion DOFs | Parasitic DOF | Total DOF | Description of DOF |
|
|
|---------+-------------+---------------+-----------+--------------------|
|
|
| Granite | 0 | 3 | 3 | |
|
|
| Ty | 1 | 2 | 3 | Ty, Rz |
|
|
| Ry | 1 | 2 | 3 | Ry, |
|
|
| Rz | 1 | 2 | 3 | Rz, Rx, Ry |
|
|
| Hexapod | 6 | 0 | 6 | Txyz, Rxyz |
|
|
|---------+-------------+---------------+-----------+--------------------|
|
|
| | 9 | 9 | 18 | |
|
|
#+TBLFM: $4=vsum($2..$3)
|
|
#+TBLFM: @>$2..$>=vsum(@I..@II)
|