findMaximumRangeSpeed {afpt}R Documentation

Find maximum range speed

Description

This function performs a numerical optimization to find the airspeed for which \frac{P}{U} is minimum. For this it uses the function optimize.

Usage

findMaximumRangeSpeed(bird,lower=NULL,upper=NULL,windSpeed=0,windDir=0,...)

Arguments

bird

bird description object (see Bird)

lower

lower speed limit (optional)

upper

upper speed limit (optional)

windSpeed

wind magnitude (in m/s; optional)

windDir

wind direction (in degrees; optional)

...

optional arguments: climbAngle (in degrees), and optional arguments for computeFlappingPower.

Details

This function performs a numerical optimization to find the airspeed for which \frac{P}{U} is minimum. For this it uses the function optimize. This airspeed is searched for between lower and upper (if not provided, it will make a guess based on bird). Flying in wind changes the ground speed, and therefore the optimum flight speed for maximum range. This can be taken into account through the optional arguments for wind magnitude (windSpeed in m/s) and wind direction relative to the track direction (windDir in degrees; windDir = 0 tail wind); see e.g. Liechti et al. 1994.

Value

Returns data.frame (power.chemical) of flight performance at maximum range speed for bird.

Author(s)

Marco Klein Heerenbrink

References

Liechti, F., Hedenström, A. and Alerstam, T. (1994). Effects of Sidewinds on Optimal Flight Speed of Birds. J. Theor. Biol. 170, 219–225.

See Also

computeChemicalPower, computeFlappingPower

Examples

## Define a bird:
myBird = Bird(
  massTotal = 0.215, #  (kg) total body mass
  wingSpan = 0.67, #  (m) maximum wing span
  wingArea = 0.0652, #  (m2) maximum wing area
  type = "passerine"
)

maximumRangeSpeed.chem <- findMaximumRangeSpeed(myBird)
maximumRangeSpeed.chem[c('speed','power','strokeplane','amplitude','frequency')]
#      speed    power strokeplane amplitude frequency
# 1 11.02543 14.32754    18.17729  36.69311  5.948083

maximumRangeSpeed.chem.wind <- findMaximumRangeSpeed(
  myBird,
  windSpeed = 5,
  windDir = 90
)
maximumRangeSpeed.chem.wind[c('speed','power','strokeplane','amplitude','frequency')]
#      speed    power strokeplane amplitude frequency
# 1 11.81974 15.47758    16.33727  38.17508  5.948083

[Package afpt version 1.1.0.4 Index]