class foxes.models.wake_models.induction.SelfSimilar(foxes.core.TurbineInductionModel)[source]

The self-similar induction wake model from Troldborg and Meyer Forsting

The individual wake effects are superposed linearly, without invoking a wake superposition model.

Notes

References: [1] Troldborg, Niels, and Alexander Raul Meyer Forsting. “A simple model of the wind turbine induction zone derived from numerical simulations.” Wind Energy 20.12 (2017): 2011-2020. https://onlinelibrary.wiley.com/doi/full/10.1002/we.2137

[2] Forsting, Alexander R. Meyer, et al. “On the accuracy of predicting wind-farm blockage.” Renewable Energy (2023). https://www.sciencedirect.com/science/article/pii/S0960148123007620

Attributes

pre_rotor_only: bool

Calculate only the pre-rotor region

induction: foxes.core.AxialInductionModel or str

The induction model

Public members

SelfSimilar(superposition='ws_linear', induction='Madsen', ...)[source]

Constructor.

__repr__()[source]

Return repr(self).

sub_models()[source]

List of all sub-models

initialize(algo, verbosity=0, force=False)[source]

Initializes the model.

new_wake_deltas(algo, mdata, fdata, tdata)[source]

Creates new empty wake delta arrays.

contribute(algo, mdata, fdata, tdata, downwind_index, ...)[source]

Modifies wake deltas at target points by contributions from the specified wake source turbines.

finalize_wake_deltas(algo, mdata, fdata, amb_results, wake_deltas)[source]

Finalize the wake calculation.

property affects_downwind

Flag for downwind or upwind effects on other turbines

classmethod new(induction_type, *args, **kwargs)[source]

Run-time turbine induction model factory.

property model_id

Unique id based on the model type.

var(v)[source]

Creates a model specific variable name.

property initialized

Initialization flag.

load_data(algo, verbosity=0)[source]

Load and/or create all model data that is subject to chunking.

property running

Flag for currently running models

set_running(algo, data_stash, sel=None, isel=None, verbosity=0)[source]

Sets this model status to running, and moves all large data to stash.

unset_running(algo, data_stash, sel=None, isel=None, verbosity=0)[source]

Sets this model status to not running, recovering large data from stash

finalize(algo, verbosity=0)[source]

Finalizes the model.

get_data(variable, target, lookup='smfp', mdata=None, ...)[source]

Getter for a data entry in the model object or provided data sources