foxes.models

This package contains all concrete model classes.

Package

Description

foxes.models.farm_controllers

Wind farm controller models. They execute turbine models.

foxes.models.farm_models

Wind farm models, i.e., turbine models for all turbines.

foxes.models.ground_models

Ground models, for example reflecting wakes

foxes.models.partial_wakes

Partial wake models, computing rotor effective wake deltas.

foxes.models.point_models

Point models, calculating results at points of interest.

foxes.models.rotor_models

Rotor models, computing rotor effective ambient results.

foxes.models.turbine_models

Turbine models, calculating data at turbines.

foxes.models.turbine_types

Turbine types, providing power and thrust.

foxes.models.vertical_profiles

Vertical profiles, for atmospheric input.

foxes.models.axial_induction

Axial induction models, computing axial induction factors.

foxes.models.wake_frames

Wake frames, defining the wake propagation.

foxes.models.wake_models

Wake models, computing variable changes due to wakes.

foxes.models.wake_superpositions

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.