Skip to content

Commit 8faf47c

Browse files
committed
theory for MBC, eigenanalysis, and MAC
1 parent a62e281 commit 8faf47c

File tree

6 files changed

+108
-6
lines changed

6 files changed

+108
-6
lines changed

docs/content/docs/theory/index.md

Lines changed: 80 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,88 @@ date: 2024-05-14T19:27:37+10:00
44
weight: 10
55
---
66

7-
Coming soon!
7+
## Overview
88

9-
### Multi-Blade Coordinate Transform (MBC)
9+
A campbell diagram is a powerful visualization tool used in wind turbine analysis to understand how natural frequencies and damping ratios vary with rotor and wind speeds. It helps identify potential resonance conditions and instabilities where structural modes may be excited by harmonic frequencies, which is critical for avoiding fatigue damage and ensuring safe operation.
1010

11-
### Eigenanalysis
11+
The campbell diagram generation process with OpenFAST follows a systematic automated workflow consisting of five main steps:
1212

13-
### Modal Assurance Criteria (MAC)
13+
1. **Import OpenFAST Model** - Analyze the turbine to get time domain and linearization data
14+
2. **Define Operating Points** - Specify rotor speeds and other operating conditions for linearization
15+
3. **Run Simulations** - Execute OpenFAST linearization at each operating point
16+
4. **Multi-Blade Coordinate (MBC) Transformation** - Transform rotating blade coordinates to fixed reference frame
17+
5. **Eigenanalysis and Mode Identification** - Extract natural frequencies and mode shapes, then track modes across operating points
1418

15-
### Assignment Problem
19+
![](workflow.png)
20+
21+
## Multi-Blade Coordinate (MBC) Transformation
22+
23+
For wind turbines with multiple blades, the dynamics in the rotating reference frame are periodic and coupled due to rotor rotation. The Multi-Blade Coordinate transformation converts the rotating blade degrees of freedom into a fixed (non-rotating) reference frame, producing:
24+
25+
- **Collective modes** - All blades move in phase (symmetric motion)
26+
- **Cyclic modes** - Blades move with phase differences (asymmetric motion)
27+
- **Fixed-frame representation** - Time-invariant system matrices suitable for eigenanalysis
28+
29+
This transformation is essential because it:
30+
- Decouples the periodic equations of motion into time-invariant form
31+
- Enables conventional eigenanalysis techniques
32+
- Separates symmetric and asymmetric rotor modes
33+
- Simplifies the identification of structural modes
34+
35+
The MBC transformation yields state-space matrices in the fixed reference frame, which can then be analyzed using standard linear algebra techniques.
36+
37+
## Eigenanalysis
38+
39+
Eigenanalysis is a mathematical technique used to compute modal and stability characteristics, decomposing a linear system into its fundamental components: eigenvalues and eigenvectors.
40+
41+
- **Eigenvalues** - Complex numbers representing natural frequencies and damping ratios of the system modes
42+
- **Eigenvectors** - Complex vectors describing the mode shapes, indicating how different degrees of freedom participate in each mode
43+
44+
For wind turbine analysis, eigenanalysis of the MBC-transformed system provides:
45+
- Natural frequencies at each operating point (used to construct the Campbell diagram)
46+
- Mode shapes that characterize the physical motion (e.g., tower bending, blade flap/edge, drivetrain torsion)
47+
- Damping characteristics indicating stability of each mode
48+
49+
The eigenvalues are typically plotted against rotor speed to create the Campbell diagram, with rotational harmonic lines overlaid to identify potential resonances.
50+
51+
## Mode Identification
52+
53+
Mode identification is the process of tracking the same physical mode across different operating points based on the eigenvectors and eigenvalues produced by MBC transformation and eigenanalysis. This is a challenging task because:
54+
55+
- Natural frequencies of different modes may cross or veer as operating conditions change
56+
- Mode shapes may gradually evolve with rotor speed
57+
- Multiple modes with similar characteristics may be present
58+
- Numerical noise can affect mode ordering
59+
60+
As seen from the figure below, some modes can be clearly distinguished across the operating range, whereas others may cross or come very close to each other, making automated tracking difficult.
61+
62+
![](mode_identification.png "Modes for NREL 5MW")
63+
64+
### Similarity Metrics
65+
66+
Modal identification relies on quantitative similarity measurements to determine which modes at different operating points correspond to the same physical phenomenon.
67+
68+
**Modal Assurance Criterion (MAC)**
69+
70+
The Modal Assurance Criterion compares the complex eigenvectors of two modes to quantify their similarity. The MAC value ranges from 0 (completely dissimilar) to 1 (identical mode shapes).
71+
72+
<!-- {{< figure src="mac.png" width="300" >}} -->
73+
74+
$$
75+
\text{MAC}(\mu_1, \mu_2) = \left( \frac{|\mu_1^*\ \mu_2|}{||\mu_1||\ ||\mu_2||} \right)^2
76+
$$
77+
78+
where \(\mu_1\) and \(\mu_2\) are complex eigenvectors from two different operating points, and \(^*\) denotes the complex conjugate transpose.
79+
80+
**Pole-Weighted MAC (MACXP)**
81+
82+
MACXP enhances the standard MAC by incorporating both eigenvector similarity and eigenvalue proximity:
83+
84+
<!-- {{< figure src="macxp.png" width="500" >}} -->
85+
86+
$$
87+
\text{MACXP}(\mu_1, \mu_2) = \frac{\left(\frac{|\mu_1^*\ \mu_2|}{|\overline{\lambda_1} + \lambda_2|} + \frac{|\mu_1^{\top}\ \mu_2|}{|\lambda_1 + \lambda_2|}\right)^2}{\left(\frac{\mu_1^*\ \mu_1}{2|\text{Re } \lambda_1|} + \frac{|\mu_1^{\top}\ \mu_1|}{2|\lambda_1|}\right) \left(\frac{\mu_2^*\ \mu_2}{2|\text{Re } \lambda_2|} + \frac{|\mu_2^{\top}\ \mu_2|}{2|\lambda_2|}\right)}
88+
$$
89+
90+
where \(\lambda_A\) and \(\lambda_B\) are the eigenvalues corresponding to modes A and B. The exponential weighting factor penalizes modes with dissimilar eigenvalues, providing a more robust similarity measure that considers both shape and frequency content.
1691

17-
### Spectral Clustering
121 KB
Loading
85.3 KB
Loading

docs/hugo.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,17 @@ homepage_image = 'images/cd_tn.png'
3434
## You can enable to add anchor links to header elements
3535
# enable_anchor_link = true
3636

37+
math = true
38+
39+
[markup]
40+
[markup.goldmark]
41+
[markup.goldmark.extensions]
42+
[markup.goldmark.extensions.passthrough]
43+
enable = true
44+
[markup.goldmark.extensions.passthrough.delimiters]
45+
block = [['\[', '\]'], ['$$', '$$']]
46+
inline = [['\(', '\)']]
47+
3748
[params.homepage_meta_tags]
3849
meta_description = "ACDC is an app for generating Campbell Diagrams with OpenFAST"
3950
meta_og_title = "ACDC: Automated Campbell Diagram Code"

docs/themes/hugo-whisper-theme/layouts/_default/baseof.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626

2727
{{ block "header_css" . }}{{ end }}
2828

29+
{{ if .Param "math" }}
30+
{{ partialCached "math.html" . }}
31+
{{ end }}
32+
2933
</head>
3034

3135
<body class='page {{ block "body_classes" . }}{{ end }}'>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@4/tex-mml-chtml.js"></script>
2+
3+
<script>
4+
MathJax = {
5+
tex: {
6+
displayMath: [['\\[', '\\]'], ['$$', '$$']], // block
7+
inlineMath: [['\\(', '\\)']] // inline
8+
},
9+
loader:{
10+
load: ['ui/safe']
11+
},
12+
};
13+
</script>

0 commit comments

Comments
 (0)