foxes.models¶
This package contains all concrete model classes.
Package
Description
Wind farm controller models. They execute turbine models.
Wind farm models, i.e., turbine models for all turbines.
Ground models, for example reflecting wakes
Partial wake models, computing rotor effective wake deltas.
Point models, calculating results at points of interest.
Rotor models, computing rotor effective ambient results.
Turbine models, calculating data at turbines.
Turbine types, providing power and thrust.
Vertical profiles, for atmospheric input.
Axial induction models, computing axial induction factors.
Wake frames, defining the wake propagation.
Wake models, computing variable changes due to wakes.
Wake superposition models, evaluating multiple wakes deltas.
foxes.models.farm_controllers¶
The wind farm controller models. They are responsible for calling turbine models in the correct order and for the relevant subset of wind turbines.
- class foxes.models.farm_controllers.BasicFarmController(foxes.core.FarmController)[source]
The basic farm controller, running all turbine models in their order, without conditions.
foxes.models.farm_models¶
The wind farm models, ie., turbine models that are applied to all turbines of the wind farm.
- class foxes.models.farm_models.Turbine2FarmModel(foxes.core.FarmModel)[source]
Wrapper that promotes turbine models into farm models, simply by selecting all turbines.
foxes.models.ground_models¶
The ground models, for example reflecting wakes from horizontal planes.
- class foxes.models.ground_models.NoGround(foxes.core.GroundModel)[source]
No ground effects
- class foxes.models.ground_models.WakeMirror(foxes.core.GroundModel)[source]
Wake reflection from ground and/or other horizontal planes.
- class foxes.models.ground_models.GroundMirror(foxes.models.ground_models.WakeMirror)[source]
Wake reflection from the ground.
foxes.models.partial_wakes¶
The Partial wakes: models. They are responsible for computing rotor effective wake deltas.
- class foxes.models.partial_wakes.PartialCentre(foxes.models.partial_wakes.RotorPoints)[source]
Partial wakes calculated only at the rotor centre point.
- class foxes.models.partial_wakes.RotorPoints(foxes.core.PartialWakesModel)[source]
Partial wakes calculation directly by the rotor model.
- class foxes.models.partial_wakes.PartialTopHat(foxes.models.partial_wakes.PartialCentre)[source]
Partial wakes for top-hat models.
- class foxes.models.partial_wakes.PartialAxiwake(foxes.models.partial_wakes.PartialCentre)[source]
Partial wake calculation for axial wake models.
- class foxes.models.partial_wakes.PartialSegregated(foxes.core.PartialWakesModel)[source]
Add the averaged wake effects to the separately averaged ambient rotor results
- class foxes.models.partial_wakes.PartialGrid(foxes.models.partial_wakes.PartialSegregated)[source]
Partial wakes on a grid rotor that may differ from the one in the algorithm.
foxes.models.point_models¶
The Point models:. They compute state-point data for given points of interest.
- class foxes.models.point_models.WakeDeltas(foxes.core.PointDataModel)[source]
This point model simply subtracts ambient results from waked results.
- class foxes.models.point_models.SetUniformData(foxes.core.PointDataModel)[source]
Set uniform data (can be state dependent)
- class foxes.models.point_models.TKE2TI(foxes.core.PointDataModel)[source]
Calculates TI from TKE, using TI = sqrt( 3/2 * TKE) / WS
- class foxes.models.point_models.Ustar2TI(foxes.core.PointDataModel)[source]
Calculates TI from Ustar, using TI = Ustar / (kappa*WS)
foxes.models.rotor_models¶
The Rotor models:. They compute rotor effective ambient data from the ambient input states.
- class foxes.models.rotor_models.CentreRotor(foxes.core.RotorModel)[source]
The centre rotor model.
- class foxes.models.rotor_models.GridRotor(foxes.core.RotorModel)[source]
The weighted regular grid rotor model, composed maximally of n x n points, possibly kicking out the outside points.
- class foxes.models.rotor_models.LevelRotor(foxes.core.RotorModel)[source]
The weighted regular rotor level model, composed of of n points between lower and upper blade tip. Calculates a height-dependent REWS
foxes.models.turbine_models¶
The Turbine models:. They compute state-turbine data based on the currently available and model provided data.
- class foxes.models.turbine_models.kTI(foxes.core.TurbineModel)[source]
Calculates the wake model parameter k as a linear function of TI.
- class foxes.models.turbine_models.SetFarmVars(foxes.core.TurbineModel)[source]
Set farm data variables to given data.
- class foxes.models.turbine_models.Thrust2Ct(foxes.core.TurbineModel)[source]
Calculates ct from thrust force data.
- class foxes.models.turbine_models.PowerMask(foxes.core.TurbineModel)[source]
Invokes a maximal power value.
- class foxes.models.turbine_models.SectorManagement(foxes.core.TurbineModel)[source]
Changes variables based on variable range conditions.
- class foxes.models.turbine_models.TableFactors(foxes.core.TurbineModel)[source]
Multiplies variables by factors from a two dimensional table.
- class foxes.models.turbine_models.YAW2YAWM(foxes.core.TurbineModel)[source]
Calculates delta yaw (i.e. YAWM) from absolute yaw (i.e. YAW)
- class foxes.models.turbine_models.YAWM2YAW(foxes.core.TurbineModel)[source]
Calculates absolute yaw (i.e. YAWM) from delta yaw (i.e. YAWM)
- class foxes.models.turbine_models.Calculator(foxes.core.TurbineModel)[source]
Calculates variables based on given functions.
- class foxes.models.turbine_models.RotorCentreCalc(foxes.core.TurbineModel)[source]
Calculates data at the rotor centre
- class foxes.models.turbine_models.LookupTable(foxes.core.TurbineModel)[source]
Calculates the data by interpolation of lookup-table data
foxes.models.turbine_types¶
The Turbine types:. These are turbine models that represent the wind turbine machine, i.e, they specify rotor diameter, hub height and compute power and thrust.
- class foxes.models.turbine_types.PCtFile(foxes.core.TurbineType)[source]
Calculate power and ct by interpolating from power-ct-curve data file (or pandas DataFrame).
- class foxes.models.turbine_types.PCtFromTwo(foxes.core.TurbineType)[source]
Calculate power and ct by interpolating from power curve and ct curve data files.
- class foxes.models.turbine_types.CpCtFile(foxes.models.turbine_types.PCtFile)[source]
Calculate power and ct by interpolating from cp-ct-curve data file (or pandas DataFrame).
- class foxes.models.turbine_types.CpCtFromTwo(foxes.models.turbine_types.PCtFromTwo)[source]
Calculate power and ct by interpolating cp and ct from two files (or two pandas DataFrames).
- class foxes.models.turbine_types.NullType(foxes.core.TurbineType)[source]
A turbine type that does not compute any data.
- class foxes.models.turbine_types.WsRho2PCtFromTwo(foxes.core.TurbineType)[source]
Calculate air density dependent power and ct values, as given by two individual files.
- class foxes.models.turbine_types.WsTI2PCtFromTwo(foxes.core.TurbineType)[source]
Calculate turbulent intensity dependent power and ct values, as given by two individual files.
- class foxes.models.turbine_types.FromLookupTable(foxes.core.TurbineType)[source]
Calculate power and ct by interpolating by using a lookup-table
- class foxes.models.turbine_types.TBLFile(foxes.models.turbine_types.PCtFile)[source]
Reads turbine data from a TBL file.
foxes.models.vertical_profiles¶
The Vertical profiles:. They compute height dependent data in one dimension, e.g., wind speed profiles.
- class foxes.models.vertical_profiles.UniformProfile(foxes.core.VerticalProfile)[source]
A profile with uniform values.
- class foxes.models.vertical_profiles.ABLLogNeutralWsProfile(foxes.core.VerticalProfile)[source]
The neutral ABL wind speed log profile.
- class foxes.models.vertical_profiles.ABLLogStableWsProfile(foxes.core.VerticalProfile)[source]
The stable ABL wind speed log profile.
- class foxes.models.vertical_profiles.ABLLogUnstableWsProfile(foxes.core.VerticalProfile)[source]
The unstable ABL wind speed log profile.
- class foxes.models.vertical_profiles.ABLLogWsProfile(foxes.core.VerticalProfile)[source]
The neutral/stable/unstable ABL wind speed log profile.
- class foxes.models.vertical_profiles.ShearedProfile(foxes.core.VerticalProfile)[source]
A wind shear profile, based on a shear exponent.
- class foxes.models.vertical_profiles.DataProfile(foxes.core.VerticalProfile)[source]
A profile based on numerical data.
foxes.models.axial_induction¶
The axial induction models, basically providing a function ct2a.
- class foxes.models.axial_induction.BetzAxialInduction(foxes.core.AxialInductionModel)[source]
The classic axial induction from 1D momentum theory
- class foxes.models.axial_induction.MadsenAxialInduction(foxes.core.AxialInductionModel)[source]
Computes the induction factor through polynomial fit, extending validity for high ct values
foxes.models.wake_frames¶
The Wake frames:. They define the curves along which the wakes propagate.
- class foxes.models.wake_frames.RotorWD(foxes.core.WakeFrame)[source]
Align the first axis for each rotor with the local normalized wind direction.
- class foxes.models.wake_frames.Streamlines2D(foxes.core.WakeFrame)[source]
Streamline following wakes
- class foxes.models.wake_frames.Timelines(foxes.core.WakeFrame)[source]
Dynamic wakes for spatially uniform timeseries states.
- class foxes.models.wake_frames.YawedWakes(foxes.core.WakeFrame)[source]
Bend the wakes for yawed turbines, based on the Bastankhah 2016 wake model
- class foxes.models.wake_frames.FarmOrder(foxes.core.WakeFrame)[source]
Invokes turbine ordering as defined by the wind farm.
- class foxes.models.wake_frames.DynamicWakes(foxes.core.WakeFrame)[source]
Dynamic wakes for any kind of timeseries states.
foxes.models.wake_models¶
The Wake models:. They compute wake deltas due to source turbines at any set of evaluation points.
foxes.models.wake_superpositions¶
The wake superposition models. These models compute net wake effects from individual wake delta results. Note that wake models can but do not neccessarily have to make use of wake superposition models.
- class foxes.models.wake_superpositions.WSLinear(foxes.core.WakeSuperposition)[source]
Linear superposition of wind deficit results
- class foxes.models.wake_superpositions.WSLinearLocal(foxes.core.WakeSuperposition)[source]
Local linear superposition of wind deficit results
- class foxes.models.wake_superpositions.WSQuadratic(foxes.core.WakeSuperposition)[source]
Quadratic superposition of wind deficit results
- class foxes.models.wake_superpositions.WSQuadraticLocal(foxes.core.WakeSuperposition)[source]
Local quadratic superposition of wind deficit results
- class foxes.models.wake_superpositions.WSPow(foxes.core.WakeSuperposition)[source]
Power superposition of wind deficit results
- class foxes.models.wake_superpositions.WSPowLocal(foxes.core.WakeSuperposition)[source]
Local power superposition of wind deficit results
- class foxes.models.wake_superpositions.WSMax(foxes.core.WakeSuperposition)[source]
Max superposition of wind deficit results
- class foxes.models.wake_superpositions.WSMaxLocal(foxes.core.WakeSuperposition)[source]
Local max superposition of wind deficit results
- class foxes.models.wake_superpositions.WSProduct(foxes.core.WakeSuperposition)[source]
Product superposition of wind deficit results
- class foxes.models.wake_superpositions.TILinear(foxes.core.WakeSuperposition)[source]
Linear wake superposition for TI.
- class foxes.models.wake_superpositions.TIQuadratic(foxes.core.WakeSuperposition)[source]
Quadratic wake superposition for TI.
- class foxes.models.wake_superpositions.TIPow(foxes.core.WakeSuperposition)[source]
Power wake superposition for TI.
- class foxes.models.wake_superpositions.TIMax(foxes.core.WakeSuperposition)[source]
Max wake superposition for TI.