pc: Import power curve from file

View source: R/pc.R

pcR Documentation

Import power curve from file

Description

Imports a power curve from a WAsP 'wgt' file or a WindPower program 'pow' file.

Usage

pc(pc, ...)

## Default S3 method:
pc(pc, rho=1.225, rated.p, desc, ...)
## S3 method for class 'read'
pc(pc, ...)
## S3 method for class 'pc'
plot(x, cp=TRUE, ct=TRUE, ...)

Arguments

pc

list or data.frame of power curve variables – v (wind speed in m/s), p (corresponding power output in kW), cp (power coefficient, optional), ct (thrust coefficient, optional), all as numeric vectors of same length. Or the name of, or the path to a 'wgt' or 'pow' file containing power curve data.

rho

Air density as numeric value. Default is 1.225 kg/m3 according to the International Standard Atmosphere (ISA) at sea level and 15 degrees Celsius.

rated.p

Rated power of wind turbine in kW as numeric value. If not given, the rated power is set to the maximum value of p.

desc

Plain text information about the wind turbine as string (optional).

x

Power curve object created by pc.

cp

If TRUE (the default), the power coefficient (cp) is added to the plot (if available).

ct

If TRUE (the default), the thrust coefficient (ct) is added to the plot (if available).

...

Arguments to be passed to methods. For optional graphical parameters see below.

Details

Power curve

A power curve characterizes the power production of a wind turbine and gives the amount of generated electrical power output as a function of wind speed. The theoretical power curve of a turbine is defined as:

P \propto v^3 \mbox{for} \ v<v_{rated}
P = P_{rated} \mbox{for} \ v>v_{rated}

Hence the generated power is proportional to the wind speed cubed, for wind speeds lower than rated wind speed. For higher wind speeds the generated power is equal to the rated power of the turbine.

Conventionally a power curve consists of pairs of wind speed and power in 0.5 or 1 m/s wind speed bins, starting at 0 m/s or the cut-in wind speed of the turbine and ending with the cut-out wind speed, e.g. at about 25 m/s.

Coefficients

The power coefficient c_p is defined as:

c_p = \frac{P_t}{P}

where P_t is the ratio of the electrical power extracted by the wind turbine and P is the energy available in the wind stream. According to Betz's law, the theoretically achievable power coefficient is approximately 0.59. However, no wind turbine will obtain this value, due to inefficiencies and various losses of the machine.

The thrust coefficient is a turbine specific characteristic and used for the modelling of wake effects. Therefore it is an important parameter for wind farm configuration.

bReeze provides several power curves of common manufacturers, that can be read from the package directory. See examples for usage.

Available 'wtg' files

Nordex_N80_2.5MW Nordex_N90_2.5MW_HS Nordex_N90_2.5MW_LS
Nordex_N100_2.5MW PowerWind_56_900kW PowerWind_90_2.5MW
Vestas_V52_850kW Vestas_V60_850kW Vestas_V80_2.0MW_os
Vestas_V80_2.0MW Vestas_V82_1650kW Vestas_V90_1.8MW
Vestas_V90_2.0MW Vestas_V90_3.0MW Vestas_V100_1.8MW_50Hz
Vestas_V100_1.8MW_60Hz Vestas_V112_3.0MW

Available 'pow' files

Bonus_82.4m_2.3MW Bonus_MKIV_600kW Clipper_LibertyC89_2.5MW
Clipper_LibertyC93_2.5MW Clipper_LibertyC96_2.5MW Clipper_LibertyC100_2.5MW
Enercon_E33_330kW Enercon_E40_500kW Enercon_E44_900kW
Enercon_E48_800kW Enercon_E53_800kW Enercon_E66_1870kW
Enercon_E66_2000kW Enercon_E70_2.3MW Enercon_E82_2.0MW
Enercon_E82_2.3MW Enercon_E82_3.0MW Enercon_E101_3.0MW
Enercon_E126_7.5MW EWT_DW52_500kW EWT_DW54_500kW
EWT_DW90_2MW EWT_DW96_2MW Gamesa_G52_850kW
Gamesa_G58_850kW Gamesa_G80_2.0MW Gamesa_G83_2.0MW
Gamesa_G87_2.0MW Gamesa_G90_2.0MW GE_1.5sl_1.5MW
GE_1.5sle_1.5MW GE_1.5xle_1.5MW GE_1.6MW
GE_2.5xl_2.5MW GE_3.6sl_3.6MW Leitwind_LTW70_1.7MW
Leitwind_LTW70_2.0MW Leitwind_LTW77_1.5MW Leitwind_LTW80_1.5MW
Leitwind_LTW80_1.8MW Leitwind_LTW101_3.0MW Nordex_N60_1.3MW
Nordex_N70_1.5MW Nordex_N90_2.5MW Nordex_N100_2.5MW
Nordex_S70_1.5MW Nordex_S77_1.5MW Nordic_1000_1.0MW
PowerWind_56_500kW Repower_5M_5.0MW Repower_MM82_2.0MW
Repower_MM92_2.0MW Siemens_SWT-2.3MW-93m Siemens_SWT-2.3MW-101m
Siemens_SWT-3.6MW-107m Siemens_SWT-3.6MW-120m Suzlon_S64_1.25MW
Suzlon_S64_950kW Suzlon_S66_1.25MW Suzlon_S88_2.1MW
VensysEnergy_77_1.5MW Vensys_82_1.5MW Vensys_100_2.5MW
Vensys_109_2.5MW Vensys_112_2.5MW Vestas_V27_225kW
Vestas_V39_500kW Vestas_V52_850kW Vestas_V80_2.0MW_os
Vestas_V80_2.0MW Vestas_V82_1.65MW Vestas_V90_2.0MW
Vestas_V90_3.0MW Vestas_V112_3MW Vestas_V164_7.0MW_os

Value

Returns a data frame binding the given data

Optional graphical parameters

The following graphical parameters can optionally be added to customize the plot:

  • bty: Type of box to be drawn around the plot region. Allowed values are "o" (the default), "l", "7", "c", "u", or "]". The resulting box resembles the corresponding upper case letter. A value of "n" suppresses the box.

  • bty.leg: Type of box to be drawn around the legend. Allowed values are "n" (no box, the default) and "o".

  • cex: Amount by which text on the plot should be scaled relative to the default (which is 1), as numeric. To be used for scaling of all texts at once.

  • cex.axis: Amount by which axis annotations should be scaled, as numeric value.

  • cex.lab: Amount by which axis labels should be scaled, as numeric value.

  • cex.leg: Amount by which legend text should be scaled, as numeric value.

  • col: Vector of colours. The first colour is used for the power curve. If only one coefficient is available, the second colour is used for this coefficient, if both coefficients are available, the second colour is used for pc and the third for ct.

  • col.axis: Colour to be used for axis annotations – default is "black".

  • col.box: Colour to be used for the box around the plot region (if bty) – default is "black".

  • col.lab: Colour to be used for axis labels – default is "black".

  • col.leg: Colour to be used for legend text – default is "black".

  • col.ticks: Colours for the axis line and the tick marks respectively – default is "black".

  • las: Style of axis labels. One of 0 (always parallel to the axis, default), 1 (always horizontal), 2 (always perpendicular to the axis), 3 (always vertical).

  • legend: If TRUE (the default) a legend is drawn.

  • leg.text: A character or expression vector to appear in the legend.

  • lty: Vector of line types, assigned like col. See par for available line types.

  • lwd: Vector of line widths, assigned like col. See par for usage.

  • mar: A numerical vector of the form c(bottom, left, top, right) which gives the number of lines of margin to be specified on the four sides of the plot – default is c(5, 5, 1, 5) for one y axis and c(5, 5, 1, 1) for two y axes.

  • mgp: A numerical vector of the form c(label, annotation, line), which gives the margin line for the axis label, axis annotation and axis line. The default is c(3, 1, 0).

  • pos.leg: Position of legend – one of "bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right" or "center". Use NULL to hide the legend.

  • xlab: Alternative label for the x axis.

  • ylab: Alternative labels for the y axis, as vector of the form c(left axis label, right axis label).

  • ylim: Limits of the y axis, as vector of two values.

  • x.intersp: Horizontal interspacing factor for legend text, as numeric – default is 0.4.

  • y.intersp: Vertical line distance for legend text, as numeric – default is 0.4.

Note

All power curves are provided without any warranty of accuracy and timeliness. Reliable data can only be received from the respective manufacturer directly.

Author(s)

Christian Graul

Source

Wind turbine generator files (*.wtg) were collected from the WAsP website:

http://www.wasp.dk/Download/PowerCurves.aspx

Power curve files (*.pow) were collected from the WindPower Program website:

http://www.wind-power-program.com/download.htm

Both links are not active anymore and the turbine list is now a bit outdated.

References

Betz, A. (1966) Introduction to the Theory of Flow Machines. Oxford: Pergamon Press

Burton, T., Sharpe, D., Jenkins, N., Bossanyi, E. (2001) Wind Energy Handbook. New York: Wiley

International Electrotechnical Commission (2005) IEC 61400-12 Wind Turbines – Part 12-1: Power Performance Measurements of Electricity Producing Wind Turbines. IEC Standard

Milan, P., Wächter, M., Barth, S., Peinke, J. (2010) Power Curves for Wind Turbines. In: Wei Tong (Ed.), Wind Power Generation and Wind Turbine Design, Chapter 18, p. 595–612, Southampton: WIT Press

Ragheb, M., Ragheb, A.M. (2011) Wind Turbines Theory – The Betz Equation and Optimal Rotor Tip Speed Ratio. In: Rupp Carriveau (Ed.), Fundamental and Advanced Topics in Wind Power, Chapter 2, p. 19–38, InTech

Examples

## Not run: 
## create power curve
# minimal theoretic power curve
pc.1 <- pc(list(1:25, c(0, 0, seq(0,1000,length.out=8), rep(1000,15))))
pc.1
	
# detailed power curve
v <- seq(3, 25, 0.5)
p <- c(5, 15.5, 32, 52, 71, 98, 136, 182, 230, 285, 345, 419, 497, 594, 
  687, 760, 815, 860, 886, rep(900, 26))	
cp <- c(0.263, NA, 0.352, NA, 0.423, NA, 0.453, NA, 0.470, NA, 0.478, 
  NA, 0.480, NA, 0.483, NA, 0.470, NA, 0.429, NA, 0.381, NA, 0.329, 
  NA, 0.281, NA, 0.236, NA, 0.199, NA, 0.168, NA, 0.142, NA, 0.122, 
  NA, 0.105, NA, 0.092, NA, 0.080, NA, 0.071, NA, 0.063)
ct <- c(0.653, NA, 0.698, NA, 0.705, NA, 0.713, NA, 0.720, NA, 0.723, NA, 
  0.724, NA, 0.727, NA, 0.730, NA, 0.732, NA, 0.385, NA, 0.301, NA, 0.242, 
  NA, 0.199, NA, 0.168, NA, 0.146, NA, 0.128, NA, 0.115, NA, 0.103, NA, 
  0.094, NA, 0.086, NA, 0.079, NA, 0.073)	

# variables as list
pc.2 <- pc(list(v=v, p=p, cp=cp, ct=ct), 
  rho=1.195, rated.p=900, desc="PowerWind 56")
pc.2

# variables as data frame
pc.3 <- pc(data.frame(v=v, p=p, cp=cp, ct=ct), 
  rho=1.195, rated.p=900, desc="PowerWind 56")
pc.3

## import power curve
## note: XML package required for WAsP .wtg files
vestas.v90 <- pc("Vestas_V90_2.0MW.wtg")  # bReeze wtg file
repower.mm92 <- pc("Repower_MM92_2.0MW.pow")  # bReeze pow file
#my.pc <- pc("~/Projects/bReeze/Sandbox/myPC.wtg")  # user file


## plot power curve
plot(pc.2)  # default
plot(pc.2, cp=FALSE, ct=FALSE)  # drop coefficients

# customize plot
plot(pc.2, bty="u", bty.leg="o", cex.axis=0.8, cex.lab=0.9, 
  cex.leg=0.7, col=c("red", gray(0.4), gray(0.4)), col.axis=gray(0.2), 
  col.box=gray(0.5), col.lab=gray(0.2), col.leg=gray(0.2), 
  col.ticks=gray(0.5), las=2, leg.text=c("electric Power", 
  "power coefficient", "thrust coefficient"), lty=2:4, lwd=c(2,1,1), 
  mar=c(3.5,3.5,0.5,3.5), mgp=c(1.8,0.6,0), pos.leg="top", 
  xlab="velocity [m/s]", ylab=c("electric power", "coefficients"), 
  ylim=c(0,1100), x.intersp=1, y.intersp=1)

## End(Not run)

chgrl/bReeze documentation built on Feb. 10, 2024, 2:27 a.m.