floris.core.solver#

Functions

calculate_area_overlap(wake_velocities, ...)

compute wake overlap based on the number of points that are not freestream velocity, i.e. affected by the wake.

cc_solver(farm, flow_field, grid, model_manager)

empirical_gauss_solver(farm, flow_field, ...)

Algorithm: For each turbine, calculate its effect on every downstream turbine.

full_flow_cc_solver(farm, flow_field, ...)

full_flow_empirical_gauss_solver(farm, ...)

full_flow_sequential_solver(farm, ...)

full_flow_turbopark_solver(farm, flow_field, ...)

sequential_solver(farm, flow_field, grid, ...)

turbopark_solver(farm, flow_field, grid, ...)

floris.core.solver.calculate_area_overlap(wake_velocities, freestream_velocities, y_ngrid, z_ngrid)[source]#

compute wake overlap based on the number of points that are not freestream velocity, i.e. affected by the wake

floris.core.solver.sequential_solver(farm, flow_field, grid, model_manager)[source]#
Return type:

None

Parameters:
floris.core.solver.full_flow_sequential_solver(farm, flow_field, flow_field_grid, model_manager)[source]#
Return type:

None

Parameters:
floris.core.solver.cc_solver(farm, flow_field, grid, model_manager)[source]#
Return type:

None

Parameters:
floris.core.solver.full_flow_cc_solver(farm, flow_field, flow_field_grid, model_manager)[source]#
Return type:

None

Parameters:
floris.core.solver.turbopark_solver(farm, flow_field, grid, model_manager)[source]#
Return type:

None

Parameters:
floris.core.solver.full_flow_turbopark_solver(farm, flow_field, flow_field_grid, model_manager)[source]#
Return type:

None

Parameters:
floris.core.solver.empirical_gauss_solver(farm, flow_field, grid, model_manager)[source]#

Algorithm: For each turbine, calculate its effect on every downstream turbine. For the current turbine, we are calculating the deficit that it adds to downstream turbines. Integrate this into the main data structure. Move on to the next turbine.

Return type:

ndarray[Any, dtype[float64]]

Parameters:
Args:

farm (Farm) flow_field (FlowField) grid (TurbineGrid) model_manager (WakeModelManager)

Raises:

NotImplementedError: Raised if secondary steering is enabled with the EmGauss model. NotImplementedError: Raised if transverse velocities is enabled with the EmGauss model.

Returns:

NDArrayFloat: wake induced mixing field primarily for use in the full-flow EmGauss solver

floris.core.solver.full_flow_empirical_gauss_solver(farm, flow_field, flow_field_grid, model_manager)[source]#
Return type:

None

Parameters: