Source code for foxes.core.wake_superposition

from abc import abstractmethod

from .model import Model


[docs]class WakeSuperposition(Model): """ Abstract base class for wake superposition models. Note that it is a matter of the wake model if superposition models are used, or if the wake model computes the total wake result by other means. :group: core """
[docs] @abstractmethod def calc_wakes_plus_wake( self, algo, mdata, fdata, pdata, states_source_turbine, sel_sp, variable, wake_delta, wake_model_result, ): """ Add a wake delta to previous wake deltas. Parameters ---------- algo: foxes.core.Algorithm The calculation algorithm mdata: foxes.core.Data The model data fdata: foxes.core.Data The farm data pdata: foxes.core.Data The evaluation point data states_source_turbine: numpy.ndarray For each state, one turbine index for the wake causing turbine. Shape: (n_states,) sel_sp: numpy.ndarray of bool The selection of points, shape: (n_states, n_points) variable: str The variable name for which the wake deltas applies wake_delta: numpy.ndarray The original wake deltas, shape: (n_states, n_points) wake_model_result: numpy.ndarray The new wake deltas of the selected points, shape: (n_sel_sp,) Returns ------- wdelta: numpy.ndarray The updated wake deltas, shape: (n_states, n_points) """ pass
[docs] @abstractmethod def calc_final_wake_delta( self, algo, mdata, fdata, pdata, variable, amb_results, wake_delta, ): """ Calculate the final wake delta after adding all contributions. Parameters ---------- algo: foxes.core.Algorithm The calculation algorithm mdata: foxes.core.Data The model data fdata: foxes.core.Data The farm data pdata: foxes.core.Data The evaluation point data variable: str The variable name for which the wake deltas applies amb_results: numpy.ndarray The ambient results, shape: (n_states, n_points) wake_delta: numpy.ndarray The wake deltas, shape: (n_states, n_points) Returns ------- final_wake_delta: numpy.ndarray The final wake delta, which will be added to the ambient results by simple plus operation. Shape: (n_states, n_points) """ pass