1 Introduction

The generation of renewable energies is increasing rapidly when compared to fossil fuels. According to [2], wind is the fastest growing renewable energy source. In the last two decades, modeling the control components of Wind Turbine Generators (WTGs) and their dynamics has been a rapidly growing area of research. As found in [3], type-3 (wind turbine with three blades) WTGs are more efficient in extracting power than other types. This is due to the fact that Coefficients of Performance (\(C_p\)) for type-3 can go up to a 0.4–0.5 efficiency of extraction, as explained in the introduction of [1, 4,5,6,7,8]. Most of the studies in the literature, such as General Electric’s (GE) studies [9, 10] and Electric Power Institute/NREL study [11], suggested Doubly Fed Asynchronous/Induction Generator (DFAG/DFIG) technology for WTGs. Therefore, we consider the type-3 DFAG/DFIG in our paper.

In the literature, there are many sources and studies, mostly in transfer functions (frequency) domain for type-3 WTGs DFIG-based models. A good summary for these models can be found in the introduction of [1, 4,5,6,7,8]. The models considered in these references mostly follow General Electric (GE) modeling effort [9, 10, 12], which cited [13] as a major source for building the model. We do notice that the literature is almost empty or incomplete when it comes to studies that analyzes WTGs in time domain, or studies that explore the different time structure inside the WTGs dynamics. It is important to recognize some of the studies that attempted to study WTGs in time domain, such as [14,15,16], while studies such as [17,18,19] tried to consider the different time structure in WTGs, with a way or another. We can notice that some of these studies are not mathematically rigorous and have not been validated. The reason behind this lack of research is due to the small amount of work invested in nonlinear time domain modeling of wind turbines dynamics, as opposed to frequency domain-based studies. In this paper, we use the mathematical modeling and analysis work in [1], extend it to the model under consideration in this paper, perform stability, eigenvalues and sensitivity analysis, verify the model versus GE and NREL models through Simulink, and eventually, mathematically, construct and simulate the multiple time scale structure that exists in the wind turbines dynamics with validation versus real measured data. This should have a significant importance to understand the nonlinear effect resulting from integrating WTGs with other systems, such as other power systems that are faster or slower than the WTG system, or energy storage systems that have to act fast to back up or store energy from and to the wind turbines system. As a result, we may have better sensors that focus on pre-specified variables to conduct measurements depend on the time scale and the application. That is, fast systems that are connected with WTGs, will be in direct interaction with the fast time scale dynamics, and vise versa. Also, having a well-constructed multiple time scale structure will eventually improve the computational efficiency for wind turbines simulators, as the simulation will be running using smaller sizes of the system, depending on the time scale. Therefore, we need better understanding for the different time scale structure in WTGs. While the mathematical analysis for the two and three time scales have been briefly introduced in our earlier work [1]. We remark that the two and three time scale results introduced in this paper, are original and substantially new in the literature of WTGs nonlinear analysis and simulation (based on our up to date search and cited papers).

The structure of this paper

  1. 1.

    In the second section of this paper, we introduce and construct the WTGs mathematical model of interest. This will be by following and extending our previous work in [1, 4,5,6,7,8]. Then, we perform time domain (stability, eigenvalues and sensitivity) analysis for the nonlinear model, similar to what was conducted particularly in [4,5,6]. Also, we perform Simulink analysis, similar to [12], to verify our time domain-based model. We do verify our model versus the transfer functions-based GE and NREL models.

  2. 2.

    In the third section, we introduce the mathematical process used for the multiple time scale approximations.

  3. 3.

    In the fourth section of this paper we provide all performed two and three time scale simulations with discussion, in addition to comparison of our time scale results versus other models and real time measured data from a wind farm.

2 The mathematical model

In this section, we build a full time domain mathematical model that can be used by stiff numerical solvers of differential equations (such as ODE15s solve in Matlab). This should allow for deeper and better control studies since the WTG system is highly nonlinear. Also, having the system in time domain allows for non-autonomous simulations that are more practical to present the different scenarios. In order to do that, we explain the control blocks and translate them to differential equations and provide parameter values, \(C_p\) coefficients values, and limiters values (control limits). From our result in [1], we can rigorously eliminate the algebraic equation (the network equation), resulting in a system of differential equations instead of a system of differential-algebraic equations, allowing for simpler implementation within numerical solvers. The proposed DFIG-based model is reduced only for the WTG being exposed to lower wind speeds. As mentioned and explained in [5], Sect. 2.C] the operating regions for the system (see figure 8 in [5]) are: low wind speeds \(3<v_{wind}<8.2\), transitional stage \(8.2<v_{wind}<11.4\) and high wind speeds \(11.4<v_{wind}<25\). The model in this paper focuses on lower range. Also, following [12], the transients are neglected through the model.

2.1 The block diagrams, state variables, and steady states

Fig. 1
figure 1

Block diagram of wind turbine model’s components

Fig. 2
figure 2

The reference speed function as a quadratic before \(v_{wind}=8.2\) m/s and constant after that

We summarize the model blocks and dynamics for the model of interest (low wind speeds) in Fig. 1, as it shows the primary components of the model as explained in [4, 9, 10, 12]. Units are Per Unit (pu) except for the pitch which is in degrees. The blocks with bold font are the one activated, otherwise they are deactivated.

  • The wind power model The power extracted by the turbine is the power in the air-stream multiplied by \(C_p\). As mentioned in [10], \(C_p(\lambda ,\theta )=\sum _{i=0}^{4} \sum _{j=0}^{4} \alpha _{i,j} \theta ^i\lambda ^j\) where \(\alpha _{i,j}\) are the polynomials coefficients, the tip ratio is \(\lambda =\frac{K_b(w_{t}+w_0)}{v_{wind}}\), \(\theta \) is the pitch angle, and \(K_b\) is a constant. In the case of this paper \(3<v_{wind}<11.4\) m/s, \(\theta \) will be zero during the computation of \(C_p\) to extract the maximum allowed power. Note that \(C_p\) given in this paper is also used in [12] and it is an empirical approximation. The mechanical power \( P_{mech} = \frac{1}{2} C_p \rho A_r v_{wind}^3 \).

  • Rotor model One mass model, as in [20], or two mass model, as in [9, 10, 12]. This paper considers the two mass model as in our previous work [1, 5, 6]. The shaft speed is controlled by a reference speed given by \(w_{ref} = -0.75P^2_{elec}+1.59P_{elec}+0.63 \). \(w_{ref}\) in this paper as in low wind speeds \(w_{ref}\) cannot reach the rated speed, which is 1.2 (pu). Figure 2 shows the reference speed function. Equations (1)–(3) represent the two mass model. \( w_t, w_g \) represent the turbine and generator speeds respectively, after adding \( w_0 \), an initial speed that prevent singularity in the model [9, 10, 12]. Note that this initial value will not have any physical effect as the generator speed is \( w = w_g+w_0 \) and the turbine speed is \( w_{rotor} = w_t+w_0 \). The steady state occurs when \( w_g=w_t \) so \( \frac{d(\Delta \theta )}{dt}=0 \) [see Eq. (3)] and \( P_{elec}=P_{mech}\). This is one of the main assumptions in the model we are following, that no power loss occurs inside the WTG.

  • The power order The power order is mainly dependent on the difference between the shaft speed and the reference speed, as well as the shaft speed itself. Equation (6) shows that the steady state for the power order \(P_{inp}\) happens when \( w = w_{ref}\) and \( P_{inp}=K_{itrq}w_{generator}f_1\).

  • Reactive power control This block feeds reactive power command to the generator and controls the reactive power. This control can use a power factor or supervisory voltage modes. The power factor angle PFA can be designed as needed. In our study, we assume it as a small constant, so we get a small reactive power compared to the active power. Equation (8) shows how to generate the reference voltage after having the reactive power command \(Q_{cmd}=\tan (PFA)P_{1elec}\), where \(P_{1elec}\) is a filtered version of \(P_{elec} \) and they are equivalent in the steady state. Equation (9) shows the reactive voltage command \(E_{qcmd}\) that goes to the generator.

  • DFIG generator This block models the generator and how both the reactive and active powers are delivered to the grid. The model has two branches that feed the generator, the reactive and the active branches. Equations (10)–(11) show how the the active current \(I_{plv}\) and the reactive voltage \(E_q\) behave. The network equation provides an algebraic constraint that relates the terminal voltage to the dynamics based on the infinite-bus model of the grid to which the single wind turbine is connected, as in [12], also see Fig. 3. This algebraic constraint is given by Eq. (12). In this equation, V represents the terminal voltage as a magnitude. In the whole model, as shown in [12], the electric power delivered to the grid is given by \(P_{elec}=V I_{plv}\) and \(Q_{gen}=\frac{V(E_q-V)}{X_{eq}}\). \(E_{qcmd}\), \(E_q\) , and \(I_{plv}\) are the generator state variables. The steady state occurs when the reference and the terminal voltages are the same, the reactive voltage \(E_q\) equals the reactive voltage command \(E_{qcmd}\), and the active current \(I_{plv}\) equals the power order divided by the magnitude of the terminal voltage.

Fig. 3
figure 3

Single-Machine Infinite-Bus test system

2.2 Differential equations, parameters, and control limits

Two-mass rotor:

$$\begin{aligned}&\frac{dw_g}{dt} = \frac{1}{2H_g}\left[ - \frac{P_{elec}}{w_g+w_0}-D_{tg}(w_g-w_t) -K_{tg} \Delta \theta _m\right] . \end{aligned}$$
(1)
$$\begin{aligned}&\frac{dw_t}{dt} = \frac{1}{2H}\left[ \frac{P_{mech}}{w_t+w_0}+D_{tg}(w_g-w_t) +K_{tg} \Delta \theta _m\right] . \end{aligned}$$
(2)
$$\begin{aligned}&\frac{d(\Delta \theta _m)}{dt} = w_{base}(w_g-w_t). \end{aligned}$$
(3)

A one-mass model can be used to simplify the two-mass model in group 1. This has been discussed in [10]. This one-mass differential equation was introduced in [15]. The following equation represents the one mass model:

$$\begin{aligned} \frac{dw}{dt} = \frac{1}{H w_{base}}[P_{mech}-P_{elec}]. \end{aligned}$$

Regardless of whether a two-mass model is used (as in this paper) or one-mass model, we use the following relations:

$$\begin{aligned} P_{mech}= \frac{1}{2}C_p(\lambda ,\theta ) \rho A_r v_{wind}^3= \frac{1}{2}\left( \sum _{i=0}^{4} \sum _{j=0}^{4} \alpha _{i,j} \theta ^i\lambda ^j\right) \rho A_r v_{wind}^3 \end{aligned}$$

and,

$$\begin{aligned} P_{elec}=V I_{plv}. \end{aligned}$$

Reference speed:

$$\begin{aligned} \frac{dw_{ref}}{dt} = \frac{1}{60}[-0.75P_{elec}^2+1.59P_{elec}+0.63-w_{ref}]. \end{aligned}$$
(4)

Power order:

The integrator \(f_1\) is given by,

$$\begin{aligned} \frac{df_1}{dt}= & {} w_g+w_0-w_{ref} \end{aligned}$$
(5)

and,

$$\begin{aligned} \frac{dP_{inp}}{dt}= & {} \frac{1}{T_{pc}}\left[ (w_g+w_0)(K_{ptrq}\left( w_g+w_0-w_{ref}\right) \right. \nonumber \\&\left. + K_{itrq}f_1)-P_{inp}\right] . \end{aligned}$$
(6)

Reactive power control (power factor case) and electrical control:

$$\begin{aligned}&\frac{dP_{1elec}}{dt}= \frac{1}{T_{pwr}}[P_{elec}-P_{1elec}]. \end{aligned}$$
(7)
$$\begin{aligned}&\frac{dV_{ref}}{dt}= K_{Qi}[Q_{cmd}-Q_{gen}] \end{aligned}$$
(8)

where,

$$\begin{aligned} Q_{gen}=\frac{V(E_q-V)}{X_{eq}}, \end{aligned}$$

and,

$$\begin{aligned} Q_{cmd} = P_{1elec}\cdot \tan (PFA_{ref}). \end{aligned}$$

DFIG generator/converter:

$$\begin{aligned}&\frac{dE_{qcmd}}{dt}= K_{vi}[V_{ref}-V ]. \end{aligned}$$
(9)
$$\begin{aligned}&\frac{dE_q}{dt}= \frac{1}{0.02}[E_{qcmd}-E_q]. \end{aligned}$$
(10)
$$\begin{aligned}&\frac{dI_{plv}}{dt}= \frac{1}{0.02}\left[ \frac{P_{ord}}{V}-I_{plv}\right] . \end{aligned}$$
(11)

The algebraic (network) equation:

$$\begin{aligned} 0= & {} (V^2)^2-[2(P_{elec}R+Q_{gen}X)+E^2]V^2 \nonumber \\&+(R^2+X^2)(P_{elec}^2+Q_{gen}^2). \end{aligned}$$
(12)

The algebraic equation (12) can be eliminated by using the unique terminal solution in Eq. (13).

$$\begin{aligned} V=f(I_{plv},E_q;X;R;E)=\frac{-B + \sqrt{B^2 - 4AC}}{2A}, \end{aligned}$$
(13)

with \(A=1+\frac{2X}{X_{eq}}+\frac{R^2+X^2}{X_{eq}}\), \(B=-\left[ 2I_{plv}R+\frac{2XE_q}{X_{eq}} +\frac{2(R^2+X^2)E_q}{X_{eq}}\right] \), and \(C=\frac{R^2+X^2}{X_{eq}}+(R^2+X^2)I^2_{plv}-E^2\). The elimination of the algebraic constraint was given as a proof in [1].

Tables 1 and 2 show the parameters used in the model (also see [4, 10, 12]).

Table 1 Parameter used in the Model are in Per Unit base
Table 2 \(C_p\) coefficients \(\alpha _{i,j}\)
Fig. 4
figure 4

V and \(V_{ref}\) (the upper curve), and \(E_{qcmd}\) and \(E_q\) (the lower curve) in steady state versus \(v_{wind}\)

2.3 Time domain analysis

In this subsection, we perform a nonlinear analysis that build better understanding and characterization of the model under consideration. Stability, eigenvalues and sensitivity analysis are always considered an essential aspect of any nonlinear modeling analysis-based work. In this regard, we will provide a comprehensive and including analysis following the papers [4, 5, 8].

2.3.1 The steady sates and eigenvalues

By setting the derivatives in Eqs. (1)–(11) to zero, we can solve numerically to find the steady state. The steady state is function of \(v_{wind}\). Figures 4, 5 and 6 show the steady states versus wind speed. One of the assumptions about the model is that there are no power losses, therefore as expected \(P_{elec}=P_{mech}=P_{inp}\) in the steady state. We notice that \(P_{elec}=I_{plv} V =\) constant for every given wind speed and \(Q_{gen}\) has the same distribution as \(P_{elec}\), which comes from the power factor \(\frac{Q_{gen}}{P_{elec}}=\tan ({ PFA}_{ref})\) (\(\tan ({ PFA}_{ref})=\frac{\pi }{20}\) in this trial). It is clear that both \(w_g\) and \(w_t\) differ by one from \(w_{ref}\) because, \(w_{generator}=w_0+w_g ,\, w_{turbine}=w_0+w_t\) and in this trial \(w_0=1\) (initial speed that prevents singularity in the system [10, 12]). We linearize about the steady states and compute the eigenvalues. We notice that the eigenvalues are not changing much with different \(v_{wind}\). Table 3 shows the eigenvalues around at the steady state. Since the real part of all eigenvalues is less than zero, we guarantee local stability. Our code changed \(v_{wind}\) from 3 to 8.2 (by steps of 0.01) and for every given wind speed we construct the Jacobian about the steady state and compute the eigenvalues. All eigenvalues have negative real parts for all different wind speeds. Sensitivity analysis will be discussed later (Sect. 2.3.3).

Fig. 5
figure 5

All the powers (the upper solid curve) and \(I_{plv}\) (the dashed curve) in steady state versus \(v_{wind}\)

Fig. 6
figure 6

\(w_{ref}\) (the solid line), \(w_g\) and \(w_t\) (the dashed line), and \(Q_{gen}\) (the doted line) in steady state versus \(v_{wind}\)

2.3.2 Grid parameters and stability

The grid parameters that we focus on are the resistance R and the reactance X, as shown in Fig. 3, where \(X=X_{tr}+X_l\). Any change in these parameters with fixed \(v_{wind}\) (7 m/s in this trial) will affect the terminal voltage as \(V =f(I_{plv},E_q;R;X)\). Any change in V will produce a change in the whole dynamics as it is involved in many controls as a feedback. We ran a code that discretizes the parameter space of R and X using a high resolution unit square grid, and found the steady states based on the given parameters at each point. The code computes the Jacobian matrix and linearizes about the steady states. By checking the eigenvalues, the code checks local stability. If the point is stable it is assigned ’red star’, otherwise, it is assigned ’black star’. Figure 7 shows this result of local stability in \(\mathbb {R}^{2}\) of R and X.

Table 3 Eigenvalues of the system in the steady state
Fig. 7
figure 7

Region of guaranteed local stability in the parameter space of R and X, [\(Red \,(light) \rightarrow Stable , Black \, (dark) \rightarrow Unstable\)]

Fig. 8
figure 8

Real(V) in stable and unstable regions

Fig. 9
figure 9

Image (V) in stable and unstable regions

Fig. 10
figure 10

Real(\(P_{elec}\)) in stable and unstable regions

Fig. 11
figure 11

Imag(\(P_{elec}\)) in stable and unstable regions

Fig. 12
figure 12

\(I_{plv}\) in stable and unstable regions

The combinations of the parameters in the black region in Fig. 7 might produce no real steady state or unstable ones. Figures 8, 9, 10, 11, and 12 represent the steady state as a function of R and X. It is noticeable, that in the stable region we have the steady states as a smooth surface and the values are reasonable and match the functions of the control. Also, it is interesting to notice that the “Safe Region”, analytically provided in Fig. 2 [1], is included in our computational result in Fig. 7. This means that the sample value of R and X in table 2.2 or neighboring values are giving steady state within the control limits, while the surface of the steady state gradually goes out of the control limits as the values of R and X become more extreme. Figures 8 and 9 show the real and the imaginary parts for V. V is defined as a magnitude, which means that we should not expect complex roots for V anywhere in the stable region. This is what Figs. 8 and 9 show as V has only real values in the stable region, while in some parts of the unstable region it has imaginary values. This part where V has imaginary part is the part where no real steady state exists. The resultant \(P_{elec}\) is expected to be constant for a given constant wind speed, as the controls of the system reduce the active current \(I_{plv}\) to correspond to any increase in V , so \(P_{elec}\) stays stable and constant. This is expected to be the case in the stable region, and not to hold otherwise. Figures 10 and 11 show the real and the imaginary parts of the computed \(P_{elec}\). As expected, we have only constant real \(P_{elec}\) in the stable region. In our simulation we noticed that in the unstable part \(P_{elec}\) does not match \(P_{mech}\).

Table 4 Sensitivity of the steady state for \(10\%\) change in parameter
Table 5 Sensitivity of the steady states for \(1\%\) change in parameter

2.3.3 Sensitivity analysis

We can study the sensitivity to the parameters by analyzing the effect of changing one parameter while fixing the others. We consider the reference values of the parameters as in table 2.2. Since there is a difference between [10] and [12] about the coefficients of the quadratic representing \(w_{ref}=f(P_{elec})\), we consider \(w_{ref}=a_2P^2_{elec}+a_1P_{elec}+a_0\) in the steady states, where the reference values for \(a_2\), \(a_1\), and \(a_0\) are as given in [10] (− 0.75, 1.59, and 0.63 respectively). By studying the sensitivity of these coefficients we can see how the results of the models in [10, 12] differ from each other for low wind speeds (the focus in this paper). One of the most important parameters to study is \(v_{wind}\) as it is realistic to expect in real life at least small changes around the reference wind speed. During our study of the parameters the wind speed should by some where between 3 m/s (the cut off speed) and 8.2 m/s, so we fix it at \(v_{wind}=7\) m/s. By looking at the differential equations in this study [Eqs. (1)–(11)], we see that the state variables in the steady state can be affected by \(v_{wind}\), \(K_{itrq}\), \(a_2\), \(a_1\), \(a_0\), and the grid parameters (R, X, and E). We built a code that approximated the derivatives of the state variables with respect to a given parameter using a regular finite difference scheme. We studied first the state variables versus the parameters and found that the curves are monotone and smooth reasonably well, so finite differences should approximate the derivatives. The derivatives tell how the state variables change with a given parameter. Also, they allow us to analyze the sensitivity of the parameters when we perturb around the reference values of the parameters. For a given parameter x and a state variable y, \(x_0\) is a specified parameter value, then \(\Delta y \approx \Delta x\frac{\partial y}{\partial x}|_{x_0}\), where \(\Delta y=y_2-y_1\), \(\Delta x=x_2-x_1\), \(x_0 \in [x_1, x_2]\), and \(y(x_0) \in [y_1, y_2]\). By having an idea about the sensitive parameters, we can explore how the state variables change in two dimensions by changing two parameters at once. Also, we can explore how the eigenvalues change with the parameters.

Fig. 13
figure 13

V in \(v_{wind}\) and E space

Fig. 14
figure 14

\(E_q\) in \(v_{wind}\) and E space

We ran a code that used the derivative at the reference values for the parameters and found the percent change of the state variables, by increasing the parameter reference values by \(10\%\). Table 4 summarizes the result of this trial. From Table 4, we see that the highest sensitivity results comes from changing \(v_{wind}\), \(a_2\), \(a_1\), and \(a_0\), so we repeated the trials again for those specific parameters but with only a \(1\%\) increase of their reference values. Table 5 summarizes the results of this trial.

  • \(v_{wind}\): All state variables show sensitivity to wind speed. \(w_g\) and \(w_t\) are highly sensitive. We found that the derivative of \(w_g\) is very large compared to its steady state value, which is close to zero. \(w_{ref}\) shows sensitivity for \(v_{wind}\) as well, but not as high as \(w_g\) because \(w_{ref}=w_g+w_0\) and \(w_0=\)constant\(=1\) and is independent on \(v_{wind}\). When compared to their steady state values, sensitivity of \(P_{inp}\), \(I_{plv}\), and V to \( v_{wind}\) are relatively high, while \(E_q\) shows small sensitivity to \( v_{wind}\).

  • \(a_2\), \(a_1\), and \(a_0\): The quadratic fitting for \(w_{ref}\) varies in the literature ([10] and [12]). This suggests studying the sensitivity to \(a_2\), \(a_1\), and \(a_0\). \(w_g\) has high and very high sensitivity to \(a_2\), \(a_1\), and \(a_0\) when compared to the steady state values, while other state variables show small and very small sensitivity to them. The sensitivity to \(a_2\) is small compared to \(a_1\) and \(a_0\), and the derivatives are constants, \(w'_{ref}(a_2) \approx 0.084\), \(w'_g(a_2) \approx 0.084\), \(P'_{inp}(a_2) \approx 0.005\), \(E'_q(a_2) \approx 0.0007\), \(I'_{plv}(a_2) \approx 0.005\), and \(V'_{term}(a_2) \approx 0.0012\) (see Table 4 for percent changes). The models ([10] and [12]) have \(w_{ref}\) gradually following the changes in \(P_{elec}\) until it reaches \(w_{ref}=1.2\). Due to the differences in \(a_2\), \(a_1\), and \(a_0\) between the two models the rated reference speed is approached at \(P_{elec} \approx 0.45\) in [10] and another time \(\approx 0.75\) as in [12]. This can’t be true in real life. Our sensitivity analysis suggests that this part of the model is ill defined. It is necessary to model this part with a higher order polynomial or other fitting that cause lower sensitivity. In the current time, we follow GE models [9, 10] since they verified their model with many simulations and measured data.

  • The grid parameters X, R, and E: The state variables in general did not show show high sensitivity to the grid parameters, see Table 4 for percent changes when compared to the steady state values. The sensitivity to X and R is very small (almost negligible) for all of the state variables. \(E_q\), \(I_{plv}\), and V show sensitivity to E. The derivatives of these three state variables with respect to E are almost constants. \(E'_q(E) \approx 0.958\), \(I'_{plv}(E) \approx -0.27\), and \(V'_{term}(E) \approx 0.993\).

  • \(K_{itrq}\), \(K_{ptrq}\), \(K_{tg}\), and \(D_{tg}\): As shown in Table 4 the state variables have almost no sensitivity to these parameters. The derivatives of the state variables with respect to them are \(\approx \) zero.

For sensitivity to double parameters, we built a code that computed the steady state values in two dimensional parameter space by changing two parameters in a way that contain the reference value and fixing the others. Sensitivity in \(a_1\) and \(a_2\) space is high for \(P_{elec}\) and therefore many other state variables. Other sensitivity we found, was V and \(E_q\) in \( v_{wind}\) and E space. Figure 13 shows how change in wind speed over the range 3–8.2 with change of E over 1 to 1.02 can cause a change of up to \(3\%\) in V. Figure 14 shows how similar changes of \(v_{wind}\) and E can make a change up to \(8\%\) in \(E_q\). A noticeable similar percentages of change happen in case of changing V and \(E_q\) in \(v_{wind}\) and R space, although R changes over 0.01–0.04 only.

Sensitivity of the eigenvalues is almost negligible to wind speed. This is why the eigenvalues in Table 3 are almost the same for any given wind speed in the range 3–8.2 m/s. The eigenvalues show sensitivity of \(1\%\) change for a relatively large change in \(a_2\), \(a_1\), and \(a_0\). Table 6 summarizes this result by showing the final change for the real parts of some of the eigenvalue (from Table 3) by changing the parameter over a given interval.

Table 6 \(1\%\) changes of real parts of some of the eigenvalues for a large change in \(a_2\), \(a_1\), and \(a_0\)
Fig. 15
figure 15

Response of implementations in Matlab ODE15s solver (solid line) and Simulink simulation (stars) to the same initial conditions

Fig. 16
figure 16

\(P_{elec}\) response to oscillating wind speed from ODE15s solver (solid line) and Simulink simulation (stars)

2.4 Verification of the model and comparison with general electric and NREL

We built Simulink models that simulate the blocks and transfer functions of the model given by GE [9, 10, 21] and NREL [11] to verify the similarity of the results between the Simulink simulations and the numerical solutions of the differential equations [Eqs. (1)–(11)]. Both GE and NREL are similar in their transfer functions for the model of interest in this paper. However, the reader is recommended to review what we have provided at the beginning of Sect. 2 regarding the operating condition of the model. Also, it is important to mention that the NREL model [11] (also see [21]) did not give explicit parameter values, but they gave range of values, which GE parameters fit. This is why, by fixing the parameters as given by GE, both of the GE and NREL models are essentially the same.

First, we built a Simulink model for the system of GE and NREL and ran an autonomous case for a fixed wind speed of \(v_{wind}=8.2\) m/s. We found the results similar for all the state variables; \(P_{mech}\), \(P_{elec}\), and V. Figure 15 shows a sample of the results for V by setting the initial conditions to be the same in both Simulink and ODE15s (numerical solver) and captures the behavior until it settles down to the steady state. The reason we choose this sample is that V is a direct function of two state variables, the main term to calculate both the active and reactive power, and the most indicative factor for faults. Thus, it is important to capture its behavior. Second, we built another Simulink model for the GE and NREL system with a wind speed that is oscillating at \(v_{wind}=8+\sin (10t)\) and captured the response of the model. We solved the differential equations system numerically with time dependent wind speed. The result shows the reliability of our mathematical model. It gives comparable results as Simulink and allows us to analyze and understand the controls and their functions. Figure 16 show \(P_{elec}\) responses to the continuous oscillation of the wind speed.

3 Multiple time scale approximations: mathematical analysis

Multi-time scale analysis is often possible when there are some variables that change quickly in comparison to some other variables. If we consider the wind speed range \(3<v_{wind}<8.2\) and linearize the system consists of Eqs. (1)–(11) with V from Eq. (13), we can see that, at least locally, variables correspond to eigenvalues with significant differences in magnitude. As seen in Table 3, \(\lambda _{1-4}\) are significantly larger in magnitude than the other eigenvalues. Also, the opposite holds true for \(\lambda _{11}\), as it is significantly smaller in magnitude compared to the other eigenvalues.

Another factor that encourages a multi-time scale study, is that, for the given range of wind speeds, eigenvalues are not sensitive to wind speed. Locally we can linearize around the steady state and diagonalize in such a way that we have a new eleven variables that correspond one to one with the eigenvalues. Locally then, we can divide the system into smaller systems within different time scales. After that, we can test how far from the steady state the new systems can approximate the main system.

Since the eigenvalues in the range \(3<v_{wind}<8.2\) are not sensitive to \(v_{wind}\) (concluded in [4]), then we choose any wind speed value in that range to compute the eigenvectors and the Jacobian matrix. We start with fixing \(v_{wind}=5\) m/s and the parameters in Tables 1 and 2. We compute the Jacobian matrix (A) at the steady state for the differential equations system consisting of Eqs. (1)–(5), (4)–(6), (7)–(8), (9)–(11). For this system of 11 nonlinear differential equations, we eliminate the algebraic equation using Eq. (13), and compute the matrices P, \(P^{-1}\), and D such that,

$$\begin{aligned} P^{-1} A P = D \,,\, A = P D P^{-1} \end{aligned}$$
(14)

where \(D={\textit{diag}}(\vec {\lambda })\) with \(\vec {\lambda }\) the eigenvalues in order as in Table 3.

Now, let ij be indices for the rows and columns respectively of the matrix P. We construct a matrix

$$\begin{aligned} PP=\left[ \begin{array}{c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c} \phi _1&\phi _2&\phi _3&\phi _4&\phi _5&\phi _6&\phi _7&\phi _8&\phi _9&\phi _{10}&\phi _{11} \end{array}\right] \end{aligned}$$

such that \(\phi _k=P_{i=1\ldots 11,j=k}\) for \( k=1,2,3,4,11\). Those columns are the eigenvectors associated with the real eigenvalues \(\lambda _{1,2,3,4,11}\). However, \(\phi _5=Real[P_{i=1\ldots 11,j=5}]\), \(\phi _6=Imag[P_{i=1\ldots 11,j=5}]\), \(\phi _7=Real[P_{i=1\ldots 11,j=7}]\), \(\phi _8=Imag[P_{i=1\ldots 11,j=7}]\), \(\phi _9=Real[P_{i=1\ldots 11,j=9}]\), and \(\phi _{10}=Imag[P_{i=1\ldots 11,j=9}]\).

We can see now that

$$\begin{aligned} PP^{-1} \cdot A \cdot PP = DD \,,\, A = PP \cdot DD \cdot PP^{-1} \end{aligned}$$
(15)
$$\begin{aligned} \mathrm{where}\, DD=\left[ \begin{array}{c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c} -51.61 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} -48.66 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} -20 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} -16.47 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} -1.42 &{} 12.03 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} -12.03 &{} -1.42 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} -0.68 &{} 2.13 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} -2.13 &{} -0.68 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} -0.19 &{} 0.19 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} -0.19 &{} -0.19 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} -0.014 \end{array}\right] . \end{aligned}$$

The target for us now, is to diagonalize and have a set of new variables that correspond to the real canonical basis.

Let the new variables be \(V_i \,, \, i=1..11\) such that,

$$\begin{aligned} \vec {V}= & {} \big [V_1 \, V_2\, V_3\, V_4\, V_5\, V_6\, V_7\, V_8\, V_9\, V_{10}\, V_{11}\big ]^T=PP^{-1}\vec {y^*} \nonumber \\= & {} PP^{-1}\big [w_{ref}\,f_1\,w_g\,w_t\,\Delta \theta _m \,P_{inp}\,P_{1elec}\,V_{ref}\,E_{qcmd}\,E_q\,I_{plv}\big ]^T. \nonumber \\ \end{aligned}$$
(16)

The transformation between the new set of variables and the old ones is given by,

$$\begin{aligned} \vec {V}=PP^{-1}\cdot \vec {y^*} \,, \, \vec {y^*}=PP\cdot \vec {V}. \end{aligned}$$
(17)

We already have the system \(\frac{d\vec {y^*}}{dt}=f(\vec {y^*})\) and we want to construct \(\frac{d\vec {V}}{dt}=f(\vec {V})\). We start with the terminal voltage in Eq. (13). We let the terminal voltage in terms of the new variables be \(V_{new}\) and derived as following,

$$\begin{aligned} V= & {} V^*(E_q=y^*_{10},I_{plv}=y^*_{11})\nonumber \\= & {} V^*(PP_{i=10,j=1..11} \cdot \vec {V},PP_{i=11,j=1..11}\cdot \vec {V}) \nonumber \\= & {} V_{new}(\vec {V}). \end{aligned}$$
(18)

Since we have \(\frac{dy^*_k}{dt}=\frac{d}{dt}\left[ PP_{i=k,j=1..11}\cdot \vec {V}\right] \), for all k=1...11, then \(\frac{dy^*_k}{dt}\) can be rewritten,

$$\begin{aligned} \frac{dy^{*}_{k}}{dt}=\sum _{n=1}^{n=11} PP_{i=k,j=n} \frac{dV_n}{dt} \,\, \text {for all} k=1\ldots 11. \end{aligned}$$
(19)

For the vector function \(f(\vec {y^*})\), every vector component \(f_k(\vec {y^*})=f_k(PP\cdot \vec {V})\). Simply, in the right hand side of the differential equations, we substitute,

$$\begin{aligned} y^*_k=PP_{i=k,j=1, \ldots , 11}\cdot \vec {V}=\sum _{n=1}^{n=11} PP_{i=k,j=n} V_n \,\, \text {for all} k=1\ldots 11. \nonumber \\ \end{aligned}$$
(20)

Now we combine Eqs. (18)–(20), then we get:

$$\begin{aligned} \sum _{n=1}^{n=11} PP_{i=k,j=n} \frac{dV_n}{dt}=f_k(PP\cdot \vec {V}) \,\, \text {for all} k=1\ldots 11. \end{aligned}$$
(21)

For every given k, we have an equation out of Eq. (21). We stored the resulting values of the computations in the arrays Ca, Cb, Cc, Cd, Ce, Cf ,Cg ,Ci ,Cj ,Ck ,Cl ,and Cm where they have a size of 11 rows and 12 columns. The row k corresponds to the coefficients of \(V_{1\ldots 11}\) and the constant term respectively on the right hand side of the differential equation \(\frac{dV_k}{dt}\) in the system. After solving this system of 11 equations, we get:

$$\begin{aligned}&\frac{dV_k}{dt}=\sum _{n=1}^{n=11} Ca_{i=k,j=n}V_n+Ca_{i=k,j=12}+\frac{\sum _{n=1}^{n=11} Cl_{i=k,j=n}V_n+Cl_{i=k,j=12}}{V_{new}} +\left( \sum _{n=1}^{n=11} Cb_{i=k,j=n}V_n+Cc_{i=k,j=12}\right) \nonumber \\&\quad \left( \sum _{n=1}^{n=11} Cc_{i=k,j=n}V_n+Cc_{i=k,j=12}\right) +V_{new}\left( \sum _{n=1}^{n=11} Cd_{i=k,j=n}V_n+Cd_{i=k,j=12}+\frac{\sum _{n=1}^{n=11} Ce_{i=k,j=n}V_n+Ce_{i=k,j=12}}{\sum _{n=1}^{n=11} Cf_{i=k,j=n}V_n+Cf_{i=k,j=12}} \right) \nonumber \\&\quad +\frac{\left[ \sum _{n=1}^{n=11} Cg_{i=k,j=n}V_n+Cg_{i=k,j=12}+\left( \sum _{n=1}^{n=11} Ch_{i=k,j=n}V_n+Ch_{i=k,j=12}\right) ^2\right] }{\sum _{n=1}^{n=11} Ck_{i=k,j=n}V_n+Ck_{i=k,j=12}} \nonumber \\&\quad +\frac{\left[ \left( \sum _{n=1}^{n=11} Ci_{i=k,j=n}V_n+Ci_{i=k,j=12}\right) ^3+\left( \sum _{n=1}^{n=11} Cj_{i=k,j=n}V_n+Cj_{i=k,j=12}\right) ^4 \right] }{\sum _{n=1}^{n=11} Ck_{i=k,j=n}V_n+Ck_{i=k,j=12}} \nonumber \\&\quad +V_{new}^2\left( \sum _{n=1}^{n=11} Cm_{i=k,j=n}V_n+Cm_{i=k,j=12}\right) ^2\,\, \text {for all} k=1\ldots 11. \end{aligned}$$
(22)

The vector of the steady state, of the original system \(x_{states}\), relates to the vector of the steady state of the new system \(V_{state}\) as follows,

$$\begin{aligned} \vec {V}_{state}=PP^{-1}\cdot \vec {x}_{state} \,, \,\vec {x}_{state}=PP\cdot \vec {V}_{state}. \end{aligned}$$
(23)

The same holds for the vectors of initial conditions in the original and new systems respectively \(\vec {x}_{initial}\) and \(\vec {V}_{initial}\),

$$\begin{aligned} \vec {V}_{initial}=PP^{-1}\cdot \vec {x}_{initial} \,, \,\vec {x}_{initial}=PP\cdot \vec {V}_{initial}. \end{aligned}$$
(24)

For \(v_{wind}=5\) and parameters in Tables 1 and 2, we derived the new system as in Eq. (22). We computed \(\vec {V}_{state}\) both by the transformation in Eq. (23) and numerical solving of the system by setting the derivatives to zero. As a first validation, we found them matching. Table 7 shows the result in one to one correspondence between \(\vec {x}_{state}\) and \(\vec {V}_{state}\).

A second validation, will be by linearizing the new system and then substituting the new steady state into the Jacobian matrix. The eigenvalues are typical in values to the original system and Eq. (14) holds for D such that,

$$\begin{aligned} P_{new}^{-1}\cdot A_{new}\cdot P_{new} = D \,,\, A_{new} = P_{new}\cdot D\cdot P_{new}^{-1} \end{aligned}$$
(25)
$$\begin{aligned} \mathrm{where}\; P_{new}=\left[ \begin{array}{c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c} -~1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} -~1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} -~1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} -~0.7071 &{} -~0.7071 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} -~0.7071i &{} 0.7071i &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} -~0.7071i &{} 0.7071i &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0.7071 &{} 0.7071 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} -~0.7071i &{} 0.7071i &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0.7071 &{} 0.7071 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} -~1 \end{array}\right] , \end{aligned}$$

and \(A_{new}=DD\) (see Eq. (15)).

3.1 Two Time scales for any wind speed

Table 7 Steady state in both original and new systems

We ran a simulation for the 11 by 11 system generated by Eq. (22). Then, we constructed two time scale systems to approximate the solutions of the full system. Since locally \(V_{1\ldots 4}\) correspond to very large negative eigenvalues \(\lambda _{1\ldots 4}\) respectively, then we treat them as fast variables. Conversely, \(V_{5\ldots 11}\) correspond to \(\lambda _{5\ldots 11}\) which are slow variables. While the dynamics of the fast variables \(V_{1\ldots 4}\) are taking place in the fast time scale, the derivatives of the slow variables, with respect to the fast time scale, are approximately zero, which means that they stay constant as their initial conditions in the fast time scale. After the fast variables reach their steady state in the fast time scale, the slow variables start their dynamics in the slow time scale and the the derivatives of the fast variables become algebraic equations coupled with the slow system. This means that during the slow dynamics \(V_{1\ldots 4}\) change algebraically with \(V_{5\ldots 11}\) until they reach the steady state of the original system. This way the multiple time scale approximation is more rigorous mathematically, so we do not have different steady states between the fast dynamics and the original system if we neglect the algebraic coupling.

From the physical system, we have the initial conditions \(\vec {x}_{initial}\) and we calculate the corresponding \(\vec {V}_{initial}\) from Eq. (24). We let \(t_f\) and \(t_s\) represent the fast and slow time scales respectively, then we have the following two systems which approximate the behavior of the system in Eq. (22):

$$\begin{aligned} \frac{dV_k}{dt_f}= & {} f_k(t_f,V_{1..4}) \, \, \text {for all} k~=~1\ldots 4 \, \, \text {(system of 4 DEs)} \nonumber \\ V_k= & {} =\text {constant}=\text {initial condition} \, \, \text {for all} k~=~5\ldots 11 \nonumber \\ \end{aligned}$$
(26)

and,

$$\begin{aligned} \frac{dV_k}{dt_f}= & {} 0=f_k(t_s,V_{1\ldots 11}) \, \, \text {for all} k~=~1\ldots 4 \nonumber \\ \frac{dV_k}{dt_s}= & {} f_k(t_f,V_{5\ldots 11}) \, \, \text {for all} k~=~5\ldots 11 \nonumber \\&\text {(system of 7 DEs and 4 algabraic equations)}. \end{aligned}$$
(27)

3.2 Three time scales for any wind speed

By looking at the magnitudes of the eigenvalues, we notice that we can group them not only in two scales, but in three as well. The order of \(\lambda _{11}\) is, by far, the smallest and still significantly smaller than \(\lambda _{5\ldots 10}\). As a result, we ran another simulation for the system by approximating the solution behavior by three time scales smaller systems. \(t_f\) is still the fast time scale, in which \(V_{1\ldots 4}\) (the fast variables) dynamics take place while, \(V_{5\ldots 11}\) stay constant at their initial conditions. \(t_m\) is a medium time scale in which \(V_{1..4}\) are at their \(t_f\) steady state resulting in four algebraic equations, while \(V_{11}\) is still constant equal to its initial condition. The variables \(V_{5\ldots 10}\) are the medium variables for which their dynamics take place in \(t_m\). \(t_s\) represents the slow time scale in which the derivatives of \(V_{1\ldots 10}\) equal zero and only \(V_{11}\) dynamics take place in this time scale. We tested the system for initial conditions that are close enough to the steady state and the results were as expected, however, we prefer to present results of nonlinear behavior.

$$\begin{aligned} \frac{dV_k}{dt_f}= & {} f_k(t_f,V_{1\ldots 4}) \, \, \text {for all} k=1\ldots 4 \, \, \text {(system of 4 DEs)} \nonumber \\ V_k= & {} \text {constant}=\text {initial condition} \, \, \text {for all} k=5\ldots 11 \end{aligned}$$
(28)

and,

$$\begin{aligned} \frac{dV_k}{dt_f}= & {} 0=f_k(t_m,V_{1\ldots 11}) \, \, \text {for all} k=1\ldots 4 \nonumber \\ \frac{dV_k}{dt_m}= & {} f_k(t_m,V_{5\ldots 10}) \, \, \text {for all} k=5\ldots 10 \nonumber \\ V_k= & {} \text {constant}=\text {initial condition} \, \, \text {for}\,k=11 \nonumber \\&\text {(system of 6 DEs and 4 algabraic equations)} \end{aligned}$$
(29)

and,

$$\begin{aligned} \frac{dV_k}{dt_m}= & {} 0=f_k(t_s,V_{1\ldots 11}) \, \, \text {for all} k=1\ldots 10 \nonumber \\ \frac{dV_k}{dt_s}= & {} f_k(t_s,V_{5..11}) \, \, \text {for} k=11 \nonumber \\&\text {(one DE and 10 algabraic equations)}. \end{aligned}$$
(30)
Fig. 17
figure 17

Full picture of \(V_1\) solution in both the full system (solid line) and the reduced ones (dashed line for the slow and dotted line for the fast)

4 Simulations, comparison, and validation versus real data

We ran simulations when the initial conditions are very close to the steady states and the results were as expected, noticeably good (almost typical). That was not surprising, as the approximation is more accurate the closer the initial conditions are to the steady state (more local). This is due to the approximation utilized, as the fast, medium and slow approximating manifolds are first order ones (linear approximations). That is, the tangent space at the initial point of the dynamics on the original system manifold, acts as an approximating manifold to the original one, where the fast dynamics take place. Then, the dynamics move from the fast manifold (after reaching steady state) to the slow one, where the dynamics eventually reach the final destination that would have been reached using the original manifold, where the original dynamics take place. In the case of three time scales, the sequence of approximating linear manifolds has a an additional member in the middle (between the fast and the slow). Computationally speaking, order of complexity is better than the original system, as in each approximating manifold, the system is smaller, which is less complex for the numerical solver. The accuracy however, is an open problem, because most of what we know when we linearize is that the error is of second order, and for most highly nonlinear systems, this is the most we can prove. So, simulating the system from initial points that are close to the steady state might not be useful for the application and the concept of multiple time scale approximation.

Now, we want to test the nonlinear dynamics when the initial conditions are far from the steady state, so the benefit and the potential of multiple time scale approximations can be seriously tested. We ran a simulation for \(\vec {x}_{initial}= \vec {x}_{state}+\vec {0.5}\), which are extreme initial conditions that exceed the control limits (allowable control bounds, see Table 3 [1]) for some of the state variables. This should be a serious test for the potential benefits of the approximation.

4.1 Simulation results for two time scale approximations versus full system

Fig. 18
figure 18

Zoomed in figure to capture the behavior of slow solution of \(V_1\). The full system is in solid line and the reduced ones are dashed line for the slow and dotted line for the fast

Fig. 19
figure 19

Zoomed in figure to capture only the fast solution of \(V_1\) (solid line for the full system solution and dotted line for the fast solution)

Fig. 20
figure 20

Full picture of \(V_2\) solution in both the full system (solid line) and the reduced ones (dashed line for the slow and dotted line for the fast)

Fig. 21
figure 21

Zoomed in figure to capture the behavior of slow solution of \(V_2\). The full system is in solid line and the reduced ones are dashed line for the slow and dotted line for the fast

Fig. 22
figure 22

Zoomed in figure to capture the fast solution of \(V_2\) (solid line for the full system solution and dotted line for the fast solution)

Fig. 23
figure 23

Full picture of \(V_6\) solution in both the full system (solid line) and the reduced ones (dashed line for the slow and dotted line for the fast)

Fig. 24
figure 24

Zoomed in figure to capture the behavior of slow solution of \(V_6\). The full system is in solid line and the reduced ones are dashed line for the slow and dotted line for the fast

Fig. 25
figure 25

Zoomed in figure to capture the fast solution of \(V_6\) (solid line for the full system solution and dotted line for the fast solution)

Fig. 26
figure 26

Full picture of \(V_{11}\) solution in both the full system (solid line). The reduced ones are hard to notice because the variable is too slow

Fig. 27
figure 27

Zoomed in figure to capture the behavior of slow solution of \(V_{11}\). The full system is in solid line and the reduced ones are dashed line for the slow and dotted line for the fast

Fig. 28
figure 28

Zoomed in figure to capture the fast solution of \(V_{11}\) (solid line for the full system solution and dotted line for the fast solution)

Fig. 29
figure 29

\(V_2\) in solid line (full system), dotted line (fast), dashed (medium), and stars (slow). Slow system is almost not noticeable

Fig. 30
figure 30

Zoomed in figure to capture the behavior of medium solution of \(V_2\). The full system is in solid line and the reduced ones are dashed line for the medium and dotted line for the fast

Captures of a sample from the results are found in Figs. 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 and 28. We found the approximation is good for the big picture of the nonlinear dynamics starting from a far initial condition. We included the results of \(V_1\) and \(V_2\) as representatives for fast variables, \(V_6\) as a slow variable that locally corresponds to eigenvalue with an imaginary part (oscillatory) and \(V_{11}\) as it is the slowest variable. It is interesting to notice that for the fastest two variables, \(V_1\) and \(V_2\), the big picture of the dynamics looks very similar when compared to the original full size dynamics, as shown in Figs. 17 and 20. This is expected to be the case in local results, but this is a good indication that the WTG system maintains the good approximation results even for the nonlinear dynamics. For more focused versions of the simulation (Figs. 18, 19, 21, 22), it can be noticed that the fast solutions for the reduced fast dynamics are followed by a bit noticeable differences between the approximating dynamics and the original ones. Then, as time passes the approximating dynamics converge and eventually make it to the same final steady state as the original full size dynamics. Similar observation can made for \(V_6\) (Figs. 23, 24, 25), where actually the nonlinear oscillations were captured in the approximation, but the fast solution is just a constant function since \(V_6\) is a slow variable. The variable \(V_{11}\) corresponds to a very small real eigenvalue and therefore, it is by far the slowest variable in the system. Interestingly, this can be noticed from the approximations (Figs. 26, 27, 28), as the results are more similar and even the very focused version (Fig. 28) shows very small deviation between the constant fast solution and the full size original dynamics. This is because the variable is too slow to propagate away from the initial point until the dynamics take the system to slow manifold.

4.2 Simulation results for three time scale approximations versus full system

We ran the simulation with the same initial conditions as in the previous subsection. Figures 29, 30, 31, 32, 33, 34, 35 represent a sample from our captured results. We found the approximation is good for the big picture of the nonlinear dynamics starting from a far initial condition, but less accurate at times compared to the two time scales results. We included the results \(V_2\) as a representative for fast variables, \(V_6\) as a representative for medium variables and \(V_{11}\) as the only slow variable in the slow time scale.

Fig. 31
figure 31

Zoomed in figure to capture the fast solution of \(V_2\) (solid line for the full system solution and dotted line for the fast solution)

Fig. 32
figure 32

\(V_6\) in solid line (full system), dotted line (fast), dashed (medium), and stars (slow). Slow system is almost not noticeable

Fig. 33
figure 33

Zoomed in figure to capture the behavior of medium solution of \(V_6\). The full system is in solid line and the reduced ones are dashed line for the medium and dotted line for the fast

Fig. 34
figure 34

Zoomed in figure to capture the fast solution of \(V_6\) (solid line for the full system solution and dotted line for the fast solution)

Fig. 35
figure 35

\(V_{11}\) in solid line (full system), dotted line (fast and medium), and dashed (slow). Slow solution is significant in the full picture for the slow variable \(v_{11}\)

Fig. 36
figure 36

Real data of a WTG (stars) versus power-wind speed curves for the proposed model (solid) and [12, 13] (dashed)

It is interesting to notice that for the fast variable \(V_2\), the big picture of the dynamics looks very similar when compared to the original full size dynamics and the two time scales result, as shown in Fig. 29. This is a good indication that a three approximating (fast, medium and slow) manifolds are still good approximation for the nonlinear dynamics of the WTGs. For more focused versions of the simulation (Figs. 30, 31), it can be noticed that the fast dynamics solution is followed by a bit noticeable differences between the approximating dynamics and the original ones. Then, as time passes the approximating dynamics converge and eventually make it to the same final steady state as the original full size dynamics. Similar observation can made for \(V_6\) (Figs. 32, 33, 34), where actually the nonlinear oscillations were captured in the approximation. The variable \(V_{11}\) (Fig. 35) is the only slow variable and therefore, it is just a constant solution during the fast and medium scales (very clear in Fig. 35). As time passes, the approximation converges to the original full size dynamics. However, it is noticeable that large time simulation is needed for the slow variable to catch up with the original system dynamics. It is interesting to remember that all the simulations that is in the slow time scale is only solving ONE differential equations coupled with 10 algebraic equations, where all other non-slow variables are parametrized by \(v_{11}\) the slow variable. This should saves a lot of computational coast.

4.3 Comparison and validation for the model

In order to compare the proposed model with another one, we need to select a model that includes most of the WTGs control blocks similar to how our model is. The model proposed and studied by Tsourakis et al. [12] mainly cited [13], both of which are highly cited from scholars working on WTGs studies. Therefore, we will compare our results with them. We calculated \(P_{elec}\) from out multiple time scale approximations and transfered it back to the physical values using Eq. (17).

Observations from the comparison and the validation The power-wind speed profile results from our model are better than [12, 13] when compared to the real time measured data (Fig. 36). The stable steady state of \(P_{elec}\) does not have to average the dynamic measured data, but for large numbers of measured data (the case in our trial) we expect the data to be close to some form of normal distribution around the stable steady state. Our model shows better results in that sense.

5 Conclusion

In this paper, a nonlinear modeling for WTGs exposed to lower range of wind speeds, is proposed. The study covered steady state, stability, eigenvalues and sensitivity analysis. Moreover, a verification using Simulink to compare the model versus GE and NREL models, is given. The paper then introduces a multiple time scales (two and three scales) approximations followed by simulation results. To the best of our knowledge, this is original in literature as it has been done in a mathematically rigorous way. Finally, the paper presented a validation of the results versus real measured data from a wind farm and comparison versus some other models.