Add few notes about modal complexity
This commit is contained in:
parent
b7d2f5c614
commit
f3ad689baa
BIN
modal-analysis/figs/modal_complexity_high.png
Normal file
BIN
modal-analysis/figs/modal_complexity_high.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
BIN
modal-analysis/figs/modal_complexity_small.png
Normal file
BIN
modal-analysis/figs/modal_complexity_small.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
@ -137,7 +137,7 @@ The obtained mode frequencies and damping are shown below.
|
||||
* Positions of the sensors
|
||||
We process the file exported from the =modal= software containing the positions of the sensors using =bash=.
|
||||
#+begin_src bash :results none
|
||||
cat modal_analysis_updated/id31_nanostation_modified.cfg | grep NODES -A 23 | sed '/\s\+[0-9]\+/!d' | sed 's/\(.*\)\s\+0\s\+.\+/\1/' > mat/acc_pos.txt
|
||||
cat modal_analysis_updated/id31_nanostation_modified.cfg | grep NODES -A 23 | sed '/\s\+[0-9]\+/!d' | sed 's/\(.*\)\s\+0\s\+.\+/\1/' > mat/acc_pos.txt
|
||||
#+end_src
|
||||
|
||||
We then import that on =matlab=, and sort them.
|
||||
@ -339,8 +339,15 @@ We want to obtain the two following matrices:
|
||||
\[ \{\psi_1\} = \begin{Bmatrix} \psi_{1_x} & \psi_{2_x} & \dots & \psi_{6_x} & \psi_{1_x} & \dots & \psi_{1\Omega_x} & \dots & \psi_{6\Omega_z} \end{Bmatrix}^T \]
|
||||
|
||||
* Modal Complexity
|
||||
Complexity of one mode
|
||||
#+begin_src matlab
|
||||
A method of displaying *modal complexity* is by plotting the elements of the eigenvector on an *Argand diagram*, such as the ones shown in figure [[fig:modal_complexity_small]].
|
||||
|
||||
To evaluate the complexity of the modes, we plot a polygon around the extremities of the individual vectors.
|
||||
The obtained area of this polygon is then compared with the area of the circle which is based on the length of the largest vector element. The resulting ratio is used as an indication of the complexity of the mode.
|
||||
|
||||
A little complex mode is shown on figure [[fig:modal_complexity_small]] whereas an highly complex mode is shown on figure [[fig:modal_complexity_high]].
|
||||
The complexity of all the modes are compared on figure [[fig:modal_complexities]].
|
||||
|
||||
#+begin_src matlab :export none
|
||||
mod_i = 1;
|
||||
i_max = convhull(real(eigen_vector_M(:, mod_i)), imag(eigen_vector_M(:, mod_i)));
|
||||
radius = max(abs(eigen_vector_M(:, mod_i)));
|
||||
@ -353,20 +360,46 @@ Complexity of one mode
|
||||
plot(real(eigen_vector_M(:, mod_i)), imag(eigen_vector_M(:, mod_i)), 'ko');
|
||||
hold off;
|
||||
xlabel('Real Part'); ylabel('Imaginary Part');
|
||||
title(sprintf('Mode %i', mod_i));
|
||||
axis manual equal
|
||||
#+end_src
|
||||
|
||||
#+HEADER: :tangle no :exports results :results none :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/modal_complexity.pdf" :var figsize="normal-normal" :post pdf2svg(file=*this*, ext="png")
|
||||
#+begin_src matlab :var filepath="figs/modal_complexity_small.pdf" :var figsize="normal-normal" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:modal_complexity
|
||||
#+CAPTION: Modal Complexity of one mode
|
||||
[[file:figs/modal_complexity.png]]
|
||||
#+NAME: fig:modal_complexity_small
|
||||
#+CAPTION: Modal Complexity of one mode with small complexity
|
||||
[[file:figs/modal_complexity_small.png]]
|
||||
|
||||
Complexity function of the mode order.
|
||||
#+begin_src matlab
|
||||
#+begin_src matlab :export none
|
||||
mod_i = 8;
|
||||
i_max = convhull(real(eigen_vector_M(:, mod_i)), imag(eigen_vector_M(:, mod_i)));
|
||||
radius = max(abs(eigen_vector_M(:, mod_i)));
|
||||
theta = linspace(0, 2*pi, 100);
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(radius*cos(theta), radius*sin(theta), '-');
|
||||
plot(real(eigen_vector_M(i_max, mod_i)), imag(eigen_vector_M(i_max, mod_i)), '-');
|
||||
plot(real(eigen_vector_M(:, mod_i)), imag(eigen_vector_M(:, mod_i)), 'ko');
|
||||
hold off;
|
||||
xlabel('Real Part'); ylabel('Imaginary Part');
|
||||
title(sprintf('Mode %i', mod_i));
|
||||
axis manual equal
|
||||
#+end_src
|
||||
|
||||
#+HEADER: :tangle no :exports results :results none :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/modal_complexity_high.pdf" :var figsize="normal-normal" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+NAME: fig:modal_complexity_high
|
||||
#+CAPTION: Modal Complexity of one higly complex mode
|
||||
[[file:figs/modal_complexity_high.png]]
|
||||
|
||||
#+begin_src matlab :export none
|
||||
modes_complexity = zeros(mod_n, 1);
|
||||
for mod_i = 1:mod_n
|
||||
i = convhull(real(eigen_vector_M(:, mod_i)), imag(eigen_vector_M(:, mod_i)));
|
||||
|
Loading…
Reference in New Issue
Block a user