Table of Contents

Blade Coordinate Systems Theory

The following sections will give an overview over the coordinate transformations Bladed uses to interpret the given blade input data.

Mathematical Description of Transforms

The rotation \(\underline{R} \in SO(3)\) that describes a rotation around an unit vector \(\underline{n}\) by an angle of \(\phi\) is given by (Rodrigues formula):

\[ \begin{equation} \underline{R}(\underline{n},\phi) = \underline{I}_3 + \sin{\phi} \cdot[\underline{n}]_x + (1-\cos{\phi}) \cdot [\underline{n}]_x^2 \label{eq:rodrigues} \end{equation} \]

with \([\underline{n}]_x\) being the cross product matrix of \(\underline{n}\) such that \([\underline{n}]_x \cdot \underline{b} = \underline{n} \times \underline{b}\).

The unit rotations are then given by:

\[ \begin{align} \begin{split} \underline{R}(\underline{x},\phi) &= \begin{bmatrix} 1 & 0 & 0\\\\ 0 & \cos{\phi} & -\sin{\phi}\\\\ 0 & \sin{\phi} & \cos{\phi} \end{bmatrix}\\\\ \underline{R}(\underline{y},\theta) &= \begin{bmatrix} \cos{\theta} & 0 & \sin{\theta}\\\\ 0 & 1 & 0\\\\ -\sin{\theta} & 0 & \cos{\theta} \end{bmatrix}\\\\ \underline{R}(\underline{z},\psi) &= \begin{bmatrix} \cos{\psi} & -\sin{\psi} & 0\\\\ \sin{\psi} & \cos{\psi} & 0\\\\ 1 & 0 & 1 \end{bmatrix} \end{split} \end{align} \]

To get the rotation matrix \(\underline{R}\) that rotates a unit vector \(\underline{u}\) on top of the unit vector \(\underline{v}\) such that \(\underline{v} = \underline{R}\cdot \underline{u}\) and \(\underline{u} = \underline{R}^T\cdot \underline{v}\) we define the operator \(rot(\cdot)\) as

\[ \begin{equation} rot(\underline{u} ,\underline{v} ) = \underline{R}\left(\underline{u} \times \underline{v}, \cos^{-1}\left(\underline{u}^T\cdot \underline{v}\right) \right) \label{eq:rotoperator} \end{equation} \]

Applying transformations

We will use the notation \(T _{b}^{a} = \left\{\underline{R} _{b}^{a}, \underline{o} _{b}^{a}\right\}\) to denote the transformation that expresses a vector defined in \(\mathcal{F} _b\) in coordinates of \(\mathcal{F} _a\). Here \(\underline{R} _{b}^{a}\) denotes the orientation of \(\mathcal{F} _b\) relative to \(\mathcal{F} _a\) and \(\underline{o} _{b}^{a}\) the origin of \(\mathcal{F} _b\) given in coordinates of \(\mathcal{F} _a\).

Using this convention we can express an arbitrary point defined in frame \(b\), \(\underline{p} _{b}\), in frame \(a\) with \(\underline{p} _{a} =T _{b}^{a}\cdot \underline{p} _{b} = \underline{R} _{b}^{a}\cdot \underline{p} _{b} + \underline{o} _{b}^{a}\), where the columns of \(\underline{R} _{b}^{a}\) are the unit vectors of frame \(b\) expressed in frame \(a\), i.e.:

\[ \begin{equation*} \underline{R} _{b}^{a} = \begin{bmatrix} \underline{x} _{b}^{a}, \underline{y} _{b}^{a}, \underline{z} _{b}^{a} \end{bmatrix} \end{equation*} \]

Transformations can also be chained to express the result of successive transformations. Given three frames \(\mathcal{F} _a\), \(\mathcal{F} _b\) and \(\mathcal{F} _c\) the transformation between \(c\) and \(a\) via frame \(b\) can be expressed as

\[ \begin{equation} T _{c}^{a} = T _{b}^{a} \cdot T _{c}^{b} \label{eq:chaining_transformations} \end{equation} \]

where the transformations are expressed in the frame denoted in the superscript.

Coordinatetransformation.svg

Figure 1: Describing a point \(p\) in frame \(\mathcal{F} _a\) and \(\mathcal{F} _b\).

Coordinate Transformations

The coordinate systems that can be used in Bladed to describe a blade are

  • ReferenceCoordinateSystem \(\mathcal{F}_{ref}\)
  • NeutralAxisCoordinateSystem \(\mathcal{F}_{n}\)
  • QuarterChordCoordinateSystem \(\mathcal{F}_{qc}\)
  • MassCoordinateSystem \(\mathcal{F}_{m}\)
  • ShearAxis \(\mathcal{F}_{s}\)

Please refer to Blade Section Definition for more information about the individual frames and how they connect to data schema.

The ReferenceCoordinateSystem is specified in blade root coordinates, whereas the other "property" frames are defined relative to the reference frame.

Using equation \(\eqref{eq:rodrigues}\) and \(\underline{k} _3 = (0,0,1)^T\) the individual transformations that express the property frames in reference frame coordinates are given by:

\[ \begin{equation} T _{n}^{ref} = \left\{\underline{R} _{n}^{ref}, \underline{o} _{n}^{ref}\right\} = \left\{\underline{R}(\underline{k} _3,\beta _{n}), \underline{o} _{n}^{ref}\right\} \end{equation} \]
\[ \begin{equation} T _{qc}^{ref} = \left\{\underline{R} _{qc}^{ref}, \underline{o} _{qc}^{ref}\right\} = \left\{\underline{R}(\underline{k} _3,\beta _{qc}), \underline{o} _{qc}^{ref}\right\} \end{equation} \]
\[ \begin{equation} T _{m}^{ref} = \left\{\underline{R} _{m}^{ref}, \underline{o} _{m}^{ref}\right\} = \left\{\underline{R}(\underline{k} _3,\beta _{m}), \underline{o} _{m}^{ref}\right\} \end{equation} \]
\[ \begin{equation} T _{s}^{ref} = \left\{\underline{I} _{3}, \underline{o} _{s}^{ref}\right\} \end{equation} \]

where \(\underline{o} _{x}^{ref}\) is the offset of property system \(x\) from the reference origin expressed in the reference coordinate system, and \(\beta _{x}\) is the orientation difference of property system \(x\) given around the reference Z axis.

Note that the shear centre does not have an orientation, therefore \(\underline{R} _{s}^{root}\) is set to the identity matrix \(\underline{I} _{3}\).

airfoil.png

Figure 2: A section of a clockwise rotating blade at azimuth \(\psi = 0°\) and pitch \(\beta = 0°\) seen from above.

To express the blade section property frames in the BladeRootCoordinateSystem we can apply equation \(\eqref{eq:chaining_transformations}\) to chain the transformations:

\[ \begin{equation} %reference frame \mathcal{F} _{ref} = \underline{T} _{ref}^{root} = \begin{cases} \underline{R} _{ref}^{root} = \begin{bmatrix} \underline{x} _{ref}^{root},\underline{y} _{ref}^{root},\underline{z} _{ref}^{root} \end{bmatrix}\\\\ \underline{o} _{ref}^{root} \end{cases}\\\\ \end{equation} \]
\[ \begin{equation} %neutral frame \mathcal{F} _{n} = \underline{T} _{ref}^{root} \cdot \underline{T} _{n}^{ref} = \begin{cases} \underline{R} _{n}^{root} &= \underline{R} _{ref}^{root}\cdot \underline{R} _{n}^{ref}\\\\ \underline{o} _{n}^{root} &= \underline{o} _{ref}^{root} + \underline{R} _{ref}^{root}\cdot \underline{o} _{n}^{ref} \end{cases}\\\\ \end{equation} \]
\[ \begin{equation} %quarter chord frame \mathcal{F}_{qc} = \underline{T} _{ref}^{root} \cdot \underline{T} _{qc}^{ref} = \begin{cases} \underline{R} _{qc}^{root} &= \underline{R} _{ref}^{root}\cdot \underline{R} _{qc}^{ref}\\\\ \underline{o} _{qc}^{root} &= \underline{o} _{ref}^{root} + \underline{R} _{ref}^{root}\cdot \underline{o} _{qc}^{ref} \end{cases}\\\\ \end{equation} \]
\[ \begin{equation} %mass frame \mathcal{F} _{m} =\underline{T} _{ref}^{root} \cdot \underline{T} _{m}^{ref} = \begin{cases} \underline{R} _{m}^{root} &= \underline{R} _{ref}^{root}\cdot \underline{R} _{m}^{ref}\\\\ \underline{o} _{m}^{root} &= \underline{o} _{ref}^{root} + \underline{R} _{ref}^{root}\cdot \underline{o} _{m}^{ref} \end{cases}\\\\ \end{equation} \]
\[ \begin{equation} %shear centre \mathcal{F} _{s} = \underline{T} _{ref}^{root} \cdot \underline{T} _{s}^{ref} = \begin{cases} \underline{R} _{s}^{root} &=\underline{I} _{3}\\\\ \underline{o} _{s}^{root} &= \underline{o} _{ref}^{root} + \underline{R} _{ref}^{root}\cdot \underline{o} _{s}^{ref} \end{cases} \end{equation} \]

Calculation of the Reference Frame

As stated in Blade Axis Systems the user may choose to specify the reference frame \(\mathcal{F} _{ref}\). The reference frame is computed from either two unit vectors (\(\underline{z}_{ref}\) and \(\underline{y}_{ref}\), assignable with ZAxis and YAxis) or a unit vector and a rotation (\(\underline{z}_{ref}\) and \(\psi_{ref}\), assignable with ZAxis and RotationAroundReferenceZ). Note that Bladed will set defaults for the unit vectors if not supplied by the user.

In the case the user supplied a unit vector and an angle the second unit vector is internally computed as

\[ \begin{equation} \underline{y}_{ref} =\underline{R}(\underline{z}_{ref}, \psi_{ref}) \cdot rot(\underline{z}_{root},\underline{z}_{ref}) \cdot \underline{y}_{root} \end{equation} \]

with \(rot(\cdot)\) being defined in equation \(\eqref{eq:rotoperator}\).

The remaining axis is then computed from the two given unit vectors as

\[ \begin{equation} \underline{x}_{ref} = \underline{y}_{ref} \times \underline{z}_{ref} \end{equation} \]

Orientation of the Element Frame

Wind turbine blades have properties that vary along the span, and are in general not straight. Bladed currently only supports straight beam elements (i.e. with zero initial curvature). Bladed therefore performs a discretisation of the blade input data to model the blade using several straight beam elements. Figure 3 depicts an example of this discretisation: the imagined spline that smoothly connects the neutral centers of all blade sections is replaced by a piecewise linear function and a new so-called element frame \(\mathcal{F} _{elem}\) is computed for each element. The structural dynamics code uses these element frames during its calculations.

discretisation.png

Figure 3: Discretisation of blade elements and resulting structural element frame \(\mathcal{F} _{elem,i}\).

The element frame \(\mathcal{F} _{elem,i}\) used to describe beam \(i\) is computed as:

\[ \begin{equation} \mathcal{F} _{elem,i} = T _{elem,i}^{root}= \left\{rot(\underline{z} _{n}^{root},\underline{r} _{i,i+1}^{root}) \cdot \underline{R} _{n}^{root},\underline{o} _{n}^{root}\right\} \label{eq:Felem} \end{equation} \]

with \(\underline{r} _{i,i+1}\) being the unit vector pointing from \(\text{node} _i\) to \(\text{node} _{i+1}\). Equation \(\eqref{eq:Felem}\) uses the \(rot(\cdot)\) operator defined in equation \(\eqref{eq:rotoperator}\). This transformation represents a rotation between the neutral axis definition plane normal \(\underline{z} _{n} ^{root}\) and the structural element's along beam axis \(\underline{r} _{i,i+1} ^{root}\) which defines the neutral axis orientation in the structural calculation.

Note that material properties such as stiffnesses are not transformed, but used by the structural dynamics code as if they had been defined in the element frame. This is a slight approximation. If a simulation requires a higher resolution the discretisation error can be reduced by adding more blade nodes. See Structural Properties for more details.