︠f3c27a41-6c2a-4dc7-be6c-70450caca465si︠ %hide %html

Modeling the energy produced by a wind turbine

(Content prepared with help from former student Amara Yeb, EC '15)



Introduction

The overall objective here is to explore the feasibility of meeting the energy needs of our campus (Earlham College) using wind turbines. For simplicity, we will model the operation of one turbine.


As a first step, we must estimate the average or typical energy usage of our campus. Shown below is the annual electricity usage for the years 2008-2013.
Year Electric Consumption (kWh)
2008-2009 13,571,150
2009-2010 13,754,406
2010-2011 12,657,243
2011-2012 13,674,575
2012-2013 11,703,801

Note that the campus also consumes energy in other forms, such as natural gas, particularly for heating. But for the purpose of this study we only consider electric consumption.

Wind energy modeling: Some background

In a nutshell, here is how a wind turbine works:

It is theoretically possible, from a simplified 1-D form of energy conservation laws, to estimate

$~~~~~~~~~~~~\displaystyle P_w = \frac{1}{2}\rho A u^3 ~~~~~~~~~~~~ \displaystyle P_e = C_p C_t C_g P_w$

where $\rho=$ air density, $A=$ swept area, $u=$ wind speed.
However, in practice, it is very difficult to estimate reliable values for all the needed parameters. Therefore, a more common way to model the electric power output of a wind turbine is to use a "power curve," such as the one shown in the sketch.

From the curve, the electric power is a function of $u$, and has the form

$~~~~~~~~P_e(u)=\left\{\begin{array}{ll} a + b u^\alpha, & \mbox{ if } u_c \le u \le u_r \\ P_{er}, & \mbox{ if } u_r < u \le u_f \\ 0, & \mbox{ if } u>u_f \end{array}\right.$
Wind turbine power curve
where
$~~~~u_c=$ cut-in wind speed, where electric power output rises above 0
$~~~~u_r=$ rated wind speed
$~~~~u_f=$ furling wind speed, at which turbine is shut off to prevent damage
$~~~~\alpha$ is a fitting parameter whose value is typically close to 2
$~~~~P_{er}$ is the rated power output under optimal wind conditions.
Numerical values of all these parameters depend on design, manufacture and installation properties of the wind turbine.

How to estimate total power output?

By integration, of course! But we need one more piece of information, i.e., the distribution of actual wind speeds at the turbine location. This typically comes from historical meteorological data, in the form of a probability density function. For example, a Weibull distribution is frequently used to model wind speed data.

Weibull pdf (probability density function): $\displaystyle f(u)=\frac{\frac{k}{c}(\frac{u}{c})^{k-1}}{e^{(\frac{u}{c})^k}}$
$k$ and $c$ are model parameters that depend on the median and variability in wind speeds.

Estimated power output: $\displaystyle P_{tot}=\int_0^\infty P_e(u) f(u) du$
where $P_e(u)$ and $f(u)$ are both given by expressions above.

Wind speed distribution
︡fa885c6f-b401-425e-9c89-a13afd844b26︡{"hide":"input"}︡{"html":"\n

\nModeling the energy produced by a wind turbine\n

\n\n(Content prepared with help from \n former student Amara Yeb, EC '15)\n\n


\n\n\n \n \n \n \n \n \n \n

\n \n
\n

Introduction

\n The overall objective here is to explore the feasibility \nof meeting the energy needs of our campus (Earlham College) using \nwind turbines. For simplicity, we will model the operation \nof one turbine.


\n \nAs a first step, we must estimate the average or typical energy \nusage of our campus. Shown below is the annual electricity \nusage for the years 2008-2013.\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n Year\n \n Electric Consumption (kWh)\n
\n 2008-2009\n \n 13,571,150\n
\n 2009-2010\n \n 13,754,406\n
\n 2010-2011\n \n 12,657,243\n
\n 2011-2012\n \n 13,674,575\n
\n 2012-2013\n \n 11,703,801\n
\n\n

\nNote that the campus also consumes energy in other forms,\nsuch as natural gas, particularly for heating. But for the \npurpose of this study we only consider electric consumption.\n
\n \n\n

Wind energy modeling: Some background

\n\nIn a nutshell, here is how a wind turbine works:

\n\n\nIt is theoretically possible, from a \nsimplified 1-D form of energy conservation laws, \nto estimate

\n$~~~~~~~~~~~~\\displaystyle P_w = \\frac{1}{2}\\rho A u^3 ~~~~~~~~~~~~\n\\displaystyle P_e = C_p C_t C_g P_w$

\nwhere $\\rho=$ air density, $A=$ swept area, $u=$ wind speed.
\n\n\n \n \n \n \n
\nHowever, in practice, it is very difficult to estimate reliable \nvalues for all the needed parameters. Therefore, a more common \nway to model the electric power output of a wind turbine is \nto use a \"power curve,\" such as the one shown in the sketch. \n

\nFrom the curve, the electric power is a function of \n$u$, and has the form

\n$~~~~~~~~P_e(u)=\\left\\{\\begin{array}{ll} a + b u^\\alpha, & \\mbox{ if } u_c \\le u \\le u_r \\\\\n P_{er}, & \\mbox{ if } u_r < u \\le u_f \\\\ \n 0, & \\mbox{ if } u>u_f \\end{array}\\right.$\n
\n Wind turbine power curve
\n \n
\nwhere
\n$~~~~u_c=$ cut-in wind speed, where electric power output rises above 0
\n$~~~~u_r=$ rated wind speed
\n$~~~~u_f=$ furling wind speed, at which turbine is shut off to prevent damage
\n$~~~~\\alpha$ is a fitting parameter whose value is typically close to 2
\n$~~~~P_{er}$ is the rated power output under optimal wind conditions.
\n Numerical values of all these parameters depend on design, \nmanufacture and installation properties of the wind turbine.\n\n

How to estimate total power output?

\n\nBy integration, of course! But we need one more piece of \ninformation, i.e., the distribution of actual wind speeds at the \nturbine location. This typically comes from historical \nmeteorological data, in the form of a probability density \nfunction. For example, a Weibull distribution is frequently \nused to model wind speed data.\n

\n\n \n \n \n \n
\nWeibull pdf (probability density function): \n$\\displaystyle f(u)=\\frac{\\frac{k}{c}(\\frac{u}{c})^{k-1}}{e^{(\\frac{u}{c})^k}}$
\n$k$ and $c$ are model parameters that depend on the \nmedian and variability in wind speeds.

\nEstimated power output: $\\displaystyle P_{tot}=\\int_0^\\infty P_e(u) f(u) du$
\nwhere $P_e(u)$ and $f(u)$ are both given by expressions above.

\n
\n Wind speed distribution
\n \n
\n\n\n\n"}︡{"done":true}︡ ︠ea6d1f56-5236-49e4-956b-22623a7bee30si︠ %hide %html

Simulation studies

We want to compute the integral: $\displaystyle P_{tot}=\int_0^\infty P_e(u) f(u) du$

with $~~~~~P_e(u)=\left\{\begin{array}{ll} a + b u^\alpha, & \mbox{ if } u_c \le u \le u_r \\ P_{er}, & \mbox{ if } u_r < u \le u_f \\ 0, & \mbox{ if } u>u_f \end{array}\right.$       and $~~~~~~\displaystyle f(u)=\frac{\frac{k}{c}(\frac{u}{c})^{k-1}}{e^{(\frac{u}{c})^k}}$

The wind turbine we are investigating for installation is manufactured by General Electric, with model number GE 1.7-103. Based on the model and installation, we have the following estimates for the parameters
$~~~u_c ~ \sim ~ 3\mbox{ to }4 ~m/s$; $~~u_r ~ \sim ~ 12\mbox{ to }14 ~m/s$ $~~u_f = 20 ~m/s$;
$~~P_{er} ~ \sim ~ 3000\mbox{ to }4000 ~kW$ per hour, depending on value or $u_r$;
$~~\alpha ~ \sim ~ 2\mbox{ to }2.3$; $~~k = 2.323$; $~~c=6.52 ~m/s$.
$~~a$ and $b$ can be found if we know $u_c$, $u_r$, by curve-fitting.

The Sage code below computes the integral, which gives the average power generated per hour. Multiplying this by $24\times 365$ gives the average power generated per year in $kWh$. ︡08f8a984-6159-4ddb-909b-874d7a2b826e︡{"hide":"input"}︡{"html":"\n

Simulation studies

\n\nWe want to compute the integral: \n$\\displaystyle P_{tot}=\\int_0^\\infty P_e(u) f(u) du$

\nwith $~~~~~P_e(u)=\\left\\{\\begin{array}{ll} a + b u^\\alpha, & \\mbox{ if } u_c \\le u \\le u_r \\\\\n P_{er}, & \\mbox{ if } u_r < u \\le u_f \\\\ \n 0, & \\mbox{ if } u>u_f \\end{array}\\right.$\n      and \n$~~~~~~\\displaystyle f(u)=\\frac{\\frac{k}{c}(\\frac{u}{c})^{k-1}}{e^{(\\frac{u}{c})^k}}$\n

\nThe wind turbine we are investigating for installation \nis manufactured by General Electric, with model number \nGE 1.7-103. Based on the model and installation, we have \nthe following estimates for the parameters
\n$~~~u_c ~ \\sim ~ 3\\mbox{ to }4 ~m/s$; $~~u_r ~ \\sim ~ 12\\mbox{ to }14 ~m/s$ \n$~~u_f = 20 ~m/s$;
\n$~~P_{er} ~ \\sim ~ 3000\\mbox{ to }4000 ~kW$ per hour, depending on value or $u_r$;
\n$~~\\alpha ~ \\sim ~ 2\\mbox{ to }2.3$; $~~k = 2.323$; $~~c=6.52 ~m/s$.
\n$~~a$ and $b$ can be found if we know $u_c$, $u_r$, by curve-fitting.

\n\nThe Sage code below computes the integral, which gives the average \npower generated per hour. Multiplying this by $24\\times 365$ gives \nthe average power generated per year in $kWh$.\n"}︡{"done":true}︡ ︠589431e0-c2e1-4b8e-8138-7e5995bc4b07︠ # Define my own integration function, because for some reason # the builtin "integral" function hangs on my computation. # This is a very simple, mid-point rule based integration # function. The inputs are: the integrand, the end-points, # and "n," the number of (uniform) integration intervals. def my_integral(fcn, a, b, n): deltax = (b-a)*1.0/n xs = [ a + deltax*i for i in range(n+1) ] ysmid = [ fcn( (xs[i]+xs[i+1])/2.0 ) for i in range(n) ] return deltax*sum(ysmid) # Now we're ready to compute the integral: u = var('u') uc = 4 # cut-in speed ur = 12 # rated speed uf = 20 # furling speed per = 3157 # rated power output alpha = 2.2 # exponent in power curve c = 6.52 # speed parameter in Weibull distribution k = 2.323 # exponent in Weibull distribution f(u) = ( (k/c)*(u/c)^(k-1) ) / ( exp((u/c)^k) ) # the Weibull distribution a = (per*uc^alpha) / (uc^alpha - ur^alpha) b = - per / (uc^alpha - ur^alpha) # Next, define piecewise function to be integrated: piece1(u) = 0*f(u) piece2(u) = (a + b*u^alpha)*f(u) piece3(u) = per*f(u) pe = piecewise( [[(0,uc), piece1], [(uc,ur), piece2], [(ur,uf), piece3] ] ) # Integrate and find power generated per hour: pe_per_hour = my_integral(pe, 0, 20, 200) pe_per_year = pe_per_hour*24*365 print "Estimated power generated per hour = %.1f kW" % pe_per_hour print "Estimated power generated per year = %i kWh" % pe_per_year ︡ee8cfce4-4c12-4db4-890b-4f75af697adc︡{"stdout":"Estimated power generated per hour = 608.2 kW\n"}︡{"stdout":"Estimated power generated per year = 5327728 kWh\n"}︡{"done":true}︡ ︠c79f0530-c22d-4001-b0a1-1500d2255b82si︠ %hide %html
Exercise 1
Mathematically modeling real-world processes often involves making a variety of approximations at different stages. In order for the model to be useful, it is important to estimate the impact of our approximations on the model's results.


One key area of approximation in most math models is numerical estimates of parameter values. For example, in the wind turbine model, the values of $u_c$, $u_f$, etc., are empirical estimates that will necessarily have some errors. A question of practical interest is: How much will a small error in the value of $u_c$ affect the predicted power output?


In this exercise we will vary $u_c$ up and down by 10% and study the effect on the power output. Use the Sage code given above to do this.
︡8d3dde74-8039-4fe6-a7bd-cee0af48588b︡{"hide":"input"}︡{"html":"\n\n

Exercise 1
\n\nMathematically modeling real-world processes often \ninvolves making a variety of approximations at different \nstages. In order for the model to be useful, it is important \nto estimate the impact of our approximations on the \nmodel's results.


\n\nOne key area of approximation in most math models is \nnumerical estimates of parameter values. For example, in \nthe wind turbine model, the values of $u_c$, $u_f$, etc., \nare empirical estimates that will necessarily have some \nerrors. A question of practical interest is: How much \nwill a small error in the value of $u_c$ affect the predicted \npower output?


\n\nIn this exercise we will vary $u_c$ up and down by 10% and \nstudy the effect on the power output. Use the Sage code given \nabove to do this.\n\n\n
\n"}︡{"done":true}︡ ︠d0700bd2-84ef-43ff-9405-b52529ad74fais︠ %hide %html

Exercise 2
Suppose we were to install the same wind turbine somewhere on the campus of Kasetsart University to provide a portion of the electric power used on campus. Estimate how many kWh of energy would be generated per year.


Steps and hints:

Our model has 2 key components: the wind turbine power curve, and the probability density function (pdf) of wind speeds.

Assume the wind turbine power curve remains the same, since we are using the same turbine and installation type.

The pdf model of wind speeds will depend on local data from Bangkok and Kasetsart. To keep things simple, let's use a different pdf model (called the Rayleigh distribution) that only requires knowledge of mean wind speeds. It is given by $$f(u)=\frac{\pi}{2} \left(\frac{u}{u_m}\right) \exp\left(\frac{-\pi}{4} \left(\frac{u}{u_m}\right)^2 \right)$$ So, the only additional work to be done is, find a reasonable value for $u_m$, the mean wind speed at Kasetsart.

After that, compute the integral: $\displaystyle P_{tot}=\int_0^\infty P_e(u) f(u) du$ ︡1f87b4e2-1d56-4623-9937-72a49301a739︡{"hide":"input"}︡{"html":"\n\n

Exercise 2
\n\nSuppose we were to install the same wind turbine somewhere on \nthe campus of Kasetsart University to provide a portion of the \nelectric power used on campus. Estimate how many kWh of energy \nwould be generated per year.


\n\nSteps and hints:

\n\nOur model has 2 key components: the wind turbine power curve, \nand the probability density function (pdf) of wind speeds.

\n\nAssume the wind turbine power curve remains the same, since we are \nusing the same turbine and installation type.

\nThe pdf model of wind speeds will depend on local data from \nBangkok and Kasetsart. To keep things simple, let's use a \ndifferent pdf model (called the Rayleigh distribution) that only \nrequires knowledge of mean wind speeds. It is given by \n$$f(u)=\\frac{\\pi}{2} \\left(\\frac{u}{u_m}\\right) \n \\exp\\left(\\frac{-\\pi}{4} \\left(\\frac{u}{u_m}\\right)^2 \\right)$$\n\nSo, the only additional work to be done is, find a reasonable \nvalue for $u_m$, the mean wind speed at Kasetsart.

\n\nAfter that, compute the integral: \n$\\displaystyle P_{tot}=\\int_0^\\infty P_e(u) f(u) du$\n\n\n"}︡{"done":true}︡ ︠6f3b53e4-bef5-4294-9b63-11937e37b258s︠ f(u) = ( (pi/2)*(u/um) ) * ( exp((-pi/4)*(u/um)^2) ) ︡8f40bc03-fd8c-43a7-bb94-512eed31d8c4︡{"done":true}︡