Campbell diagram

A Campbell diagram plots the natural frequencies of a turbine against rotor speed, together with the per-rev (nP) excitation lines. It is the standard tool for spotting resonance: wherever a mode line crosses a per-rev line, an excitation that repeats n times per revolution coincides with a natural frequency of the structure.

Two things change when the rotor turns, and the diagram has to account for both:
  • the blades' stiffness changes, and by different amounts in different directions. Centrifugal tension resists their bending, which raises their frequencies; but the same centrifugal force follows a blade as it deflects sideways, which lowers them again. Out of the plane of rotation only the first effect acts, so flapwise frequencies rise steeply with rotor speed. In the plane the two very nearly cancel, so edgewise frequencies barely move;
  • a blade mode is seen at a different frequency from the ground than it has in the rotating blade, because the shape it makes in space travels round with the rotor.

The second point is what makes a Campbell diagram more than a series of eigenvalue solves, and most of this page is about it. The user interface is described in the Eigenmodes page of the User Manual; the underlying eigenvalue problem is described in Eigenvalue analysis.

1 Sweeping over rotor speed

The diagram is built by repeating a modal analysis at a series of rotor speeds. At each speed the blades are put under the centrifugal tension they would carry at that speed, and the eigenvalue problem is solved again.

1.1 Centrifugal stiffening

For a rotor turning at angular velocity
$$\boldsymbol{\Omega}$$
, the centrifugal force on blade element
$$j$$
, of mass
$$m_{j}$$
and midpoint
$$\mathbf{r}_{j}$$
relative to the hub centre, is

$$\mathbf{F}_{j} = -m_{j}\,\boldsymbol{\Omega}\times\left(\boldsymbol{\Omega}\times\mathbf{r}_{j}\right)$$

The axial tension carried by element
$$k$$
is the axial component of everything hanging outboard of its midpoint — half of its own centrifugal force plus all of the elements further out:

$$N_{k} = \mathbf{e}_{k}\cdot\left(\tfrac{1}{2}\mathbf{F}_{k} + \sum_{j>k}\mathbf{F}_{j}\right)$$
Equation 1 Centrifugal axial tension in a blade element

with
$$\mathbf{e}_{k}$$
the unit vector along the element. This tension enters the model as a geometric stiffness contribution, so the stiffness matrix used at rotor speed
$$\Omega$$
is

$$\mathbf{K}(\Omega) = \mathbf{K}_{0} + \mathbf{K}_{\mathrm{g}}(\Omega) + \mathbf{K}_{\mathrm{s}}(\Omega)$$

Here
$$\mathbf{K}_{0}$$
is the ordinary elastic stiffness matrix of the structure at rest — the one assembled from the elements' material and cross-sectional properties, and the same matrix used by an eigenvalue analysis of a parked turbine. It does not depend on the rotor speed.

$$\mathbf{K}_{\mathrm{g}}(\Omega)$$
is the geometric (or stress) stiffness matrix, assembled element by element from the axial tensions
$$N_{k}$$
of Equation 1. It carries no material properties at all: each element contributes a term that depends only on its geometry and on the load it is already carrying, and it represents the transverse restoring force that appears when a tensioned member is deflected sideways. Because the centrifugal forces grow with
$$\Omega^{2}$$
, so do the tensions and hence
$$\mathbf{K}_{\mathrm{g}}$$
. At
$$\Omega = 0$$
it vanishes and the sweep's first point reduces exactly to the parked eigenvalue analysis.

$$\mathbf{K}_{\mathrm{s}}(\Omega)$$
is the centrifugal softening matrix, the subject of the next section. It also grows with
$$\Omega^{2}$$
and also vanishes at rest, but it acts with the opposite sign and only in the plane of rotation.

Note: a tension makes
$$\mathbf{K}_{\mathrm{g}}$$
positive and raises the frequencies; a compression makes it negative and lowers them. It is the same matrix that drives buckling, where the frequencies of a compressed member fall towards zero.

A tensioned beam is stiffer in bending, exactly as a guitar string is, so blade frequencies rise with rotor speed. The classical description of that rise is the Southwell relation,

$$\omega^{2}(\Omega) = \omega^{2}(0) + S\,\Omega^{2}$$

with
$$S \approx 1.17$$
for the fundamental bending mode of a uniform, root-fixed cantilever when only the tension is accounted for. Ashes reproduces that coefficient for a uniform rotating cantilever.

1.2 Centrifugal softening

Tension is not the whole of what rotation does, because the centrifugal force is not a fixed load. It is tied to the material, so it follows the blade as the blade deflects. Push a blade sideways within the plane of rotation and its centrifugal force tilts with it, acquiring a component along the deflection that pushes it further out still. That is a negative stiffness, and it is called centrifugal softening (or spin softening).

Linearising the inertial term
$$m\,\boldsymbol{\Omega}\times(\boldsymbol{\Omega}\times\mathbf{u})$$
about the reference configuration gives the softening matrix

$$\mathbf{K}_{\mathrm{s}}(\Omega) = -\Omega^{2}\int \rho\, \mathbf{N}^{\mathrm{T}} \mathbf{P}\, \mathbf{N}\; \mathrm{d}V, \qquad \mathbf{P} = \mathbf{I} - \mathbf{k}\otimes\mathbf{k}, \qquad \mathbf{k} = \boldsymbol{\Omega}/\Omega$$

with
$$\mathbf{N}$$
the element shape functions. Everything hangs on the projector
$$\mathbf{P}$$
, which keeps only the part of a displacement lying in the plane of rotation. A displacement along the rotation axis is annihilated by it and is not softened at all; one in the plane is softened in full.

For a blade that projector is what separates the two bending directions, because a blade's two bending directions sit either side of it:
  • Flapwise motion is out of the rotor plane, i.e. along the rotation axis. It is not softened, and keeps the full tension stiffening.
  • Edgewise motion is in the rotor plane. It is softened in full, and the softening is very nearly the size of the stiffening, so the two mostly cancel.

How nearly they cancel is worth stating exactly, because it is what makes the effect large rather than a refinement. For in-plane motion the softening contributes
$$-\Omega^{2}\mathbf{M}$$
, whose Rayleigh quotient against the mode is exactly
$$-\Omega^{2}$$
, so the two Southwell coefficients of a uniform cantilever differ by exactly one:

$$S_{\mathrm{flap}} \approx 1.17, \qquad S_{\mathrm{edge}} = S_{\mathrm{flap}} - 1 \approx 0.17$$

So an edgewise mode retains about a seventh of the stiffening an equally stiff flapwise mode gets. Without the softening term it would get all of it, and the edgewise lines of the diagram would climb with rotor speed at the flapwise rate instead of staying nearly flat.

On a real turbine the term is worth between nothing and a few percent, depending entirely on how much of a mode's motion lies in the plane of rotation. Measured on the NREL 5-MW at 10 rpm, by computing the diagram with and without it: no restoring moment from the centrifugal force at all, so its in-plane frequency is exactly zero at every rotor speed. Tension alone would predict
$$\omega = \Omega$$
, i.e. a 1P line where the true answer is the horizontal axis. The softening term is what makes the cancellation come out right.

NREL 5-MW at 10 rpm Tension only [Hz] With softening [Hz] Change
1st flapwise, collective 0.7627 0.7623 -0.06 %
1st flapwise, backward whirl 0.5099 0.5093 -0.12 %
1st edgewise pair, rotating-frame mean 1.1222 1.1102 -1.1 %
Tower side-to-side 0.3198 0.3116 -2.6 %
Drivetrain torsion 0.6386 0.6188 -3.1 %

The flapwise family barely moves, as it should: what little it moves by is a cyclic flapwise mode tilting the rotor and so carrying a little blade mass through the plane of rotation. The largest corrections are not in the blades at all but in the two modes that move the whole rotor in its own plane - drivetrain torsion, which twists the blades round collectively, and the tower side-to-side mode, which swings the rotor sideways. Both of those rise with rotor speed when only the tension is modelled. With the softening the tower side-to-side mode instead falls - 0.3174 Hz at rest to 0.3116 Hz at 10 rpm, where tension alone had it rising to 0.3198 Hz - and the drivetrain mode still rises, but by about a seventh of what it did - which is the same fraction the two Southwell coefficients stand in. That is the reason this term matters beyond the blades it is usually discussed in terms of.

Note: Ashes builds
$$\mathbf{K}_{\mathrm{s}}$$
from the translational mass of the rotating elements, projected with
$$\mathbf{P}$$
on both sides so that the result stays symmetric. This is exact for the default lumped mass formulation, and for any element whose axis is perpendicular to the rotation axis - a blade element, up to precone and tilt. Rotational inertia is not softened, which is a higher-order effect. The same element masses are used as for the tension of Equation 1, so the two halves of the rotational effect are built from one mass model.

1.3 What is modelled, and what is not

Both of the stiffness effects above are included, so the two bending directions of a blade are treated on their own terms. What the solve at each rotor speed does not contain is Coriolis and gyroscopic terms: it is a standard, undamped eigenvalue problem on a rotor frozen at one azimuth, and those terms are proportional to velocity, which would make the eigenvalue problem quadratic.

The practical consequences are that the computed frequencies carry a small high bias, under 1 % on the NREL 5-MW at rated speed (see section 7); and that the split within a cyclic pair is not physical, which is why section 4.2 averages each pair before shifting it.

Note: because the softening is included, a mode can also lose frequency as the rotor speeds up, and in principle reach zero. That is not a numerical artefact: it is the rotating-frame statement of a whirl stability limit, the same
$$\sqrt{k/m - \Omega^{2}}$$
that governs a mass on a spring rotating with its frame. It needs a structure that is soft in the plane of rotation to happen anywhere near an operating speed, and a real turbine is not; but on a very flexible shaft or hinged rotor a line can descend across the diagram and disappear. What the diagram cannot tell you is whether that limit is benign, because it carries no damping (see section 8).

1.4 The solve at each speed

The sweep does not use the inverse-iteration solver of the standard eigenmode analysis. It assembles the global mass and stiffness matrices densely and solves the generalised eigenvalue problem with a QZ eigensolver. Two reasons:
  • Inverse iteration walks the spectrum upwards from a shift, which is reliable when the spectrum is fixed but can misidentify modes when it moves — and adding geometric stiffness moves it at every step of the sweep. The dense solve returns all eigenvalues at once, cleanly sorted.
  • The mode shapes are needed, not just the frequencies. Everything from section 3 onwards is a statement about shapes.

QZ is used rather than a faster symmetric-definite method because either matrix can be singular: a lumped-mass model leaves massless rotational degrees of freedom, so
$$\mathbf{M}$$
is only semi-definite, and any direction the supports leave free makes
$$\mathbf{K}$$
singular too. Massless directions appear as infinite eigenvalues and free directions as zero ones; both are discarded. The shapes that are kept are mass-normalised,
$$\boldsymbol{\phi}^{\mathrm{T}}\mathbf{M}\boldsymbol{\phi} = 1$$
, so that they are comparable with each other.

Note: one dense modal solve per rotor speed is considerably more expensive than a single eigenmode search. This is why the rotating sweep is an option rather than the default, and why the number of rotor speeds is worth choosing deliberately.

2 Rotating frame and fixed frame

The solve freezes the rotor at one azimuth. The support structure does not rotate, so its degrees of freedom — and hence its frequencies — are expressed in the fixed (ground) frame. The blades do rotate, so theirs come out in the rotating frame, as seen by an observer riding on the blade.

This matters because the per-rev lines are a fixed-frame concept: 1P and 3P excitation is what the tower and the nacelle feel. Comparing a rotating-frame blade frequency against them is comparing two numbers measured in different frames.

The relation between the two is amplitude modulation. A blade oscillating at frequency
$$f$$
in its own frame, whose direction in space turns at
$$\Omega$$
, is seen from the ground multiplied by
$$\cos(\Omega t)$$
:

$$\cos(2\pi f t)\cos(\Omega t) = \tfrac{1}{2}\cos\!\left[(2\pi f + \Omega)t\right] + \tfrac{1}{2}\cos\!\left[(2\pi f - \Omega)t\right]$$
Equation 2 One rotating-frame line becomes two fixed-frame sidebands

One rotating-frame line therefore appears from the ground as two lines, at
$$f - 1P$$
and
$$f + 1P$$
, where
$$1P = \mathrm{rpm}/60$$
in Hz. These are the backward whirl (or regressive) and forward whirl (progressive) modes. No dynamics is added or removed by Equation 2 — it is a change of viewpoint, and the same trigonometric identity that underlies AM radio.

Whirl is used here in the sense it has in rotordynamics. When the blades deform cyclically — that is, not all in phase — the deflected rotor is no longer symmetric about its axis: the disc is tilted, or yawed, or its effective centre is pushed to one side. That tilt or offset points in some direction in the plane of the rotor, and it is that direction, rather than any blade, that whirls: it travels round the rotor axis at its own rate. A direction travelling the same way as the rotor turns is a forward (progressive) whirl; one travelling against it is a backward (regressive) whirl. The blades themselves of course go round with the rotor in both cases.

The two senses are the two members of a cyclic pair, and they are indistinguishable from a blade — each blade just oscillates at
$$f$$
. They separate only in the fixed frame, where the whirl direction is either overtaking the observer or falling behind, which is exactly the
$$f + 1P$$
and
$$f - 1P$$
of Equation 2. This is why the tower, which stands in the fixed frame, feels two frequencies where the blade feels one.

Crucially, this applies only to modes that have an orientation in space that travels round with the rotor. If all three blades move in phase, the deflected rotor has no such orientation and the mode is seen at the same frequency in both frames. Deciding which modes are which is therefore the whole of the work, and it is the subject of the next two sections. This is the same reasoning as the multi-blade coordinate transformation used for turbine stability analysis; see Bir (2008) and Jonkman and Jonkman (2016).

3 Classifying the modes

At each rotor speed, every mode is sorted into one of three categories.
  • Support — the blades barely deform; a tower or foundation mode. Already fixed-frame.
  • Collective — the blades deform in phase with each other. No orientation in space, so the frequency is the same in both frames. Drivetrain torsion falls into this category, since it moves the blades collectively in-plane.
  • Cyclic — the blades deform in a pattern 120 degrees apart in phase. This is the category that needs the
    $$\pm 1P$$
    shift.

3.1 Blade deformation

Blade motion is measured as deformation relative to the blade root, with the root's rigid translation and its rotation about the root removed. This matters: the blades carry much of the rotor mass and ride along with the nacelle, so without removing the rigid part every mode that moves the nacelle would look like a blade mode.

The blade participation of a mode is then the mass-weighted blade deformation as a share of the whole motion, split the same way:

$$p = \frac{E_{\mathrm{def}}}{E_{\mathrm{def}} + E_{\mathrm{rigid}} + E_{\mathrm{other}}}$$

where
$$E_{\mathrm{def}}$$
is the blade deformation,
$$E_{\mathrm{rigid}}$$
the rigid-body motion the blades inherit from their roots, and
$$E_{\mathrm{other}}$$
everything else in the model. Because every term is non-negative, this is a genuine fraction between 0 and 1. A mode with
$$p < 0.05$$
is classed as a support mode and needs no further analysis.

3.2 The Coleman transform

The remaining modes are decomposed with the Coleman (multi-blade coordinate) transform. Each blade's deformation is first rotated back by that blade's azimuth
$$\psi_{b}$$
, which puts all blades in a common blade-local frame and makes them directly comparable. Writing
$$\mathbf{u}_{b,k}$$
for the deformation of node
$$k$$
of blade
$$b$$
, with
$$N$$
blades:

$$\mathbf{u}^{0}_{k} = \frac{1}{N}\sum_{b}\mathbf{u}_{b,k}, \qquad \mathbf{u}^{\cos}_{k} = \frac{2}{N}\sum_{b}\mathbf{u}_{b,k}\cos\psi_{b}, \qquad \mathbf{u}^{\sin}_{k} = \frac{2}{N}\sum_{b}\mathbf{u}_{b,k}\sin\psi_{b}$$
Equation 3 Coleman decomposition of a mode shape into a collective and a cyclic part

For three blades this is an exact, invertible mapping, so every rotor mode decomposes with no remainder. The collectivity of a mode is the share of its mass-weighted magnitude carried by the collective part,

$$c = \sqrt{\frac{E_{0}}{E_{0} + E_{\mathrm{cyc}}}}, \qquad E_{0} = \sum_{k}\mathbf{u}^{0\,\mathrm{T}}_{k}\mathbf{m}_{k}\mathbf{u}^{0}_{k}, \qquad E_{\mathrm{cyc}} = \sum_{k}\left(\mathbf{u}^{\cos\mathrm{T}}_{k}\mathbf{m}_{k}\mathbf{u}^{\cos}_{k} + \mathbf{u}^{\sin\mathrm{T}}_{k}\mathbf{m}_{k}\mathbf{u}^{\sin}_{k}\right)$$

and the mode is called collective when
$$c \geq 0.5$$
, cyclic otherwise.

Note that the transform is applied to the whole deformation shape, not to a single amplitude per blade. A mode is free to mix two blade families — flapwise and edgewise, say, when they are close in frequency — and no single number per blade can represent such a pattern, whereas the shape form is exact for any pattern.

Note: on an idealised rotor the collectivity comes out at exactly 1 or exactly 0. On a real turbine it does not, because a tower is not symmetric under a 120-degree rotation about the shaft: it is soft fore-aft and stiff along its axis, so the modes are genuine mixtures and the classification is a judgement about which part dominates.

4 Converting to the fixed frame

Support and collective modes are reported at the frequency they were solved at. Cyclic modes come in pairs — one pattern can whirl two ways — and each pair produces two fixed-frame lines.

On an ideal rotor the two members of such a pair have exactly the same frequency. Two distinct mode shapes sharing one frequency are called degenerate, and this word recurs below because degeneracy has an awkward consequence. When an eigenvalue is repeated, every linear combination of the two shapes is itself a valid mode at that frequency: the eigensolver does not return two particular shapes, it returns an arbitrary basis of the two-dimensional space the pair spans. Which basis it happens to pick carries no physical meaning and can change from one rotor speed to the next. Near-degenerate means the two frequencies are not exactly equal but close enough that the shapes still come back as an essentially arbitrary mixture. Both the pairing test below and the mode tracking of section 6 are built to be blind to that mixture.

4.1 Pairing

Two cyclic modes belong to the same pair when they are close in frequency and describe the same blade deformation whirling. Frequency proximity alone is not enough, because two different families can land close together. The shape test uses a signature built from the Coleman shapes,

$$q_{k,i} = \sqrt{\left(u^{\cos}_{k,i}\right)^{2} + \left(u^{\sin}_{k,i}\right)^{2}}$$

taken component by component:
$$u^{\cos}_{k,i}$$
is component
$$i \in \{x, y, z\}$$
of the cosine-cyclic shape
$$\mathbf{u}^{\cos}_{k}$$
of Equation 3 at blade node
$$k$$
, so the signature is a vector with one entry per node per direction. Its value is that it does not depend on the whirl phase: rotating that phase mixes the cosine and sine shapes orthogonally, which leaves
$$\cos^{2} + \sin^{2}$$
untouched. This matters because a near-degenerate pair comes back from the eigensolver as an arbitrary mixture of its two members, so any test that is to recognise the pair must be blind to that mixture. Two modes are paired when their frequencies agree to within 25 % and their signatures agree to a modal-assurance ratio of at least 0.7.

4.2 The sidebands

A pair is first averaged to a single rotating-frame frequency
$$\bar{f}$$
, then shifted:

$$f_{\mathrm{BW}} = \left|\bar{f} - 1P\right|, \qquad f_{\mathrm{FW}} = \bar{f} + 1P, \qquad 1P = \frac{\mathrm{rpm}}{60}\ \mathrm{[Hz]}$$
Equation 4 Backward and forward whirl frequencies in the fixed frame

So a flapwise family that the solver returns as three rotating-frame frequencies — one collective and two cyclic — becomes three fixed-frame lines: collective, backward whirl and forward whirl.

The pair is averaged rather than each member being shifted on its own because the two members should be almost exactly degenerate, and in this formulation they are not. The split of a pair is the difference between the two members' rotating-frame frequencies,
$$\left|f_{2} - f_{1}\right|$$
. On an isotropic rotor the two members are the same blade deformation whirling the two ways, so the split should be essentially zero. Without a Coriolis term the frozen-azimuth solve opens it up roughly nine times too wide. The mean is accurate; the split is an artefact, and shifting the members separately would put four lines on the diagram at a spacing that means nothing.

Note: the split is not the same thing as the gap between the backward and forward whirl lines. That gap is
$$2 \times 1P$$
 wherever the backward branch has not folded through zero, it is physical, and it opens up as the rotor speeds up. The split is a within-pair discrepancy in the rotating frame that ought not to be there at all.

Two situations are flagged as approximate, and drawn dashed on the diagram:
  • a cyclic mode that could not be paired — because its partner fell outside the mode count, or because the classification was ambiguous. Both sidebands are then computed from its own frequency rather than from a pair mean.
  • a backward whirl whose
    $$\bar{f} - 1P$$
    is negative. What the diagram shows is a frequency, so the magnitude is plotted; the sign only says which way the mode whirls relative to the rotor.

5 Why zero rotor speed does not reproduce the mode shapes tab

The sweep's first point is a turbine at rest, so it is natural to expect the diagram to start from exactly the frequencies listed in the Mode shapes tab. It does not, and the difference is by design rather than an inconsistency.

The visible cause is the averaging of section 4.2. At zero rotor speed
$$1P = 0$$
, so Equation 4 collapses to
$$f_{\mathrm{BW}} = f_{\mathrm{FW}} = \bar{f}$$
. Every cyclic pair is therefore reported twice at one and the same number, the mean of its two members, while the Mode shapes tab reports each mode exactly as the solver returned it, with no averaging at all. A first asymmetric flapwise pair that the tab lists as two slightly different frequencies appears in the diagram as a single value, repeated:

First asymmetric flapwise pair at 0 rpm (illustration) Mode shapes tab [Hz] Campbell diagram [Hz]
First member 0.6398 0.6443 (backward whirl)
Second member 0.6488 0.6443 (forward whirl)

The averaged value is the one to trust, for the reason given in section 4.2: part of that split is real, because a tower is not symmetric under a 120-degree rotation about the shaft, but the frozen-azimuth formulation exaggerates it by roughly an order of magnitude. The mean is accurate; the split is mostly artefact. The diagram discards it deliberately, and reporting the two members separately at zero rotor speed only to average them at every speed above it would make the first point inconsistent with the rest of the curve.

Two smaller differences sit underneath that one:
  • The two tabs do not use the same solver. The Mode shapes tab uses shifted inverse iteration over a search range; the sweep assembles dense matrices and uses QZ, for the reasons in section 1.4. Both solve the same eigenvalue problem, so they agree to within their convergence tolerances, but the last digits need not match.
  • The two tabs do not necessarily show the same set of modes. The Mode shapes tab returns what it finds inside its search range, in ascending order; the sweep returns everything the dense solve produces and then classifies it. A mode present in one list can be absent from the other.

Note: support modes and collective modes are not averaged — they are reported at the frequency they were solved at. For those, the two tabs should agree to solver tolerance at zero rotor speed. Only cyclic pairs are affected.

6 Tracking modes across rotor speeds

Each rotor speed is solved independently and returns its frequencies sorted ascending. Joining the
$$n$$
th frequency of one speed to the
$$n$$
th of the next is only correct where no two modes cross. Where they do, the drawn line jumps from one physical mode to another, and what the user reads as one curve is two half-curves stitched together.

This is unavoidable here rather than occasional, because a backward-whirl line descends across the whole diagram while the blade modes rise. It is designed to cut through everything above it.

Mode shapes are the only thing that identifies a mode across a change of rotor speed, since the frequency ordering is exactly what is unreliable. Ashes matches them with the Modal Assurance Criterion:

$$\mathrm{MAC}(\mathbf{a},\mathbf{b}) = \frac{\left|\mathbf{a}\cdot\mathbf{b}\right|^{2}}{(\mathbf{a}\cdot\mathbf{a})(\mathbf{b}\cdot\mathbf{b})}$$

which is 1 when two shapes are the same up to scale and sign, and 0 when they are orthogonal. Both speeds solve the same model with the same degrees of freedom — centrifugal pre-stress changes the stiffness, not the layout — so the shapes are directly comparable component by component. Each mode of a step is matched to the previous step's modes by descending MAC and inherits its line identity; a mode with no acceptable match starts a new line.

Matching is done on groups of near-degenerate modes rather than on single modes. Two modes spanning one degenerate subspace come back in an arbitrary basis of it, so their two shapes can be nearly parallel; matched individually, both would claim the same predecessor and one line would break. Whatever the group matching leaves over — two lines converging into one group, or one group splitting — is then matched mode against mode at a lower threshold.

Note: on an exactly degenerate pair this is weaker than it looks. The dense solve returns two eigenvectors for a repeated eigenvalue that are numerically the same vector, so only one direction of the pair's two-dimensional subspace is ever recovered, and which direction that is is arbitrary and moves with any change to the matrices. The group scoring recognises the pair anyway, because two copies of one direction still resemble two copies of another one strongly enough - but on a perfectly symmetric rotor the identity of a line across a rotor speed rests on that resemblance rather than on the subspace itself, and can break. A real turbine is not perfectly symmetric and does not have exactly repeated eigenvalues, so this affects idealised models rather than models of machines.

Within a cyclic pair, which member is which cannot be tracked, and does not need to be: the two members span one subspace, and any basis of it is an equally valid answer. What the tracking has to preserve is that the pair stays the same pair, since the pair is averaged before being shifted and its members are never used separately.

7 Validation

The conversion has been checked against Ashes' own time-domain solver, which is a full nonlinear co-rotational simulation in the inertial frame and therefore contains Coriolis, spin-softening and gyroscopic effects automatically. The check is the Campbell diagram verification nightly benchmark: on the NREL 5-MW, with aerodynamic loads and gravity removed, the rotor is held at each of 15 speeds from 0 to 14 rpm in turn, a blade tip is pulled and released, and the free decay is recorded with a blade sensor (rotating frame) and a hub sensor (fixed frame). The decay's backward-whirl, collective and forward-whirl lines are then compared against the diagram's own first flapwise cluster at the same rotor speed.

This is a flapwise ring-down, so it validates the family that the centrifugal softening leaves alone: adding the softening term moves the flapwise frequencies by at most 0.15 %, which is the second-order effect of a cyclic flapwise mode tilting the rotor and so carrying a little blade mass through the plane of rotation. The edgewise family, which is where the softening does its work, has not been ring-down tested. There the evidence is the uniform rotating cantilever of section 1.2, whose two Southwell coefficients must differ by exactly one and do. An edgewise ring-down on the NREL 5-MW is the measurement that would close that gap.

8 Summary of limitations

  • Rotation enters as centrifugal stiffening and centrifugal softening - the axial tension in the blades, and the loss of stiffness for motion in the plane of rotation. No Coriolis, no gyroscopic coupling.
  • Flapwise and edgewise families are both modelled, but they do not rest on the same evidence. The flapwise result is validated against a full nonlinear simulation of the NREL 5-MW (section 7). The edgewise result depends on the softening term, which is verified against the Southwell relation for a uniform rotating cantilever - where the two coefficients must differ by exactly one, and do - but has not been checked against a turbine ring-down.
  • Frequencies carry a small high bias, under 1 % on the NREL 5-MW's flapwise family.
  • The split within a cyclic pair is not physical, which is why the pair is averaged. The diagram therefore shows one backward and one forward whirl line per family, never four.
  • The analysis is structural and undamped: no aerodynamic damping, no controller. It locates resonances; it does not say whether they are stable.
  • Classification requires a rotor whose blades are meshed identically. Where the modes cannot be classified, the diagram falls back to the frequencies exactly as solved and says so in its subtitle and in the exported file.
  • The classification cutoffs — the participation threshold
    $$p < 0.05$$
    , the collectivity threshold
    $$c \geq 0.5$$
    , the pairing modal-assurance ratio of 0.7 and the 25 % frequency window — are arbitrary but empirical. They are implementation choices, tuned so that the categories come out right on the turbines Ashes ships with, not values derived from theory; the thresholds used to track lines across rotor speeds are of the same nature. They behave well when the mode families are well separated, but on a model whose frequencies crowd together, or whose blades are unusually soft or stiff relative to the support structure, a mode can fall on the wrong side of a cutoff and be labelled or paired incorrectly. The frequencies themselves do not depend on them — only the categories, the fixed-frame conversion and the continuity of the plotted lines do.

A fuller treatment of rotating-frame stability analysis, including the terms omitted here, is given in Hansen (2007).