Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation: Solver Descriptions #633

Draft
wants to merge 5 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ parts:
- caption: Theory and Background
chapters:
- file: wake_models
- file: solvers
- file: bibliography

- caption: Developer Reference
Expand Down
62 changes: 62 additions & 0 deletions docs/solvers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Solver Descriptions

FLORIS includes a collection of solver algorithms to support different
types of simulations and details for all wake models. The solver
is selected and configured in the `solver` block of the main input file
by specifying a type of grid, and each solver type has specific
configuration options.

The following solver-types are available:
- `sequential_solver`
- Required grid: `TurbineGrid`
- Primary use: AEP
- This is the general purpose solver for any wake model that doesn't
have a corresponding solver. It is often used in other solver
algorithms to initialize the velocities at the turbines.
- `full_flow_sequential_solver`:
- Required grid: `FullFlowGrid`, `FullFlowPlanarGrid`
- Primary use: Visualization
- This is a widely used solver typically for visualization of a plane
of points within the fluid domain. It is compatible with any wake
model that doesn't have a corresponding solver.
- `cc_solver`:
- Required grid: `TurbineGrid`
- Primary use: AEP with Cumulative-Curl model
- This is a version of the `sequential_solver` specific to the
Cumulative-Curl wake model.
- `full_flow_cc_solver`:
- Required grid: `FullFlowGrid`, `FullFlowPlanarGrid`
- Primary use: Visualization with Cumulative-Curl model
- This is a version of the `full_flow_sequential_solver` specific to the
Cumulative-Curl wake model.
- `turbopark_solver`:
- Required grid: `TurbineGrid`
- Primary use: AEP with TurbOPark model
- This is a version of the `sequential_solver` specific to the
TurbOPark wake model.
- `full_flow_turbopark_solver`:
- Required grid: `FullFlowGrid`, `FullFlowPlanarGrid`
- Primary use: Visualization with TurbOPark model
- This is a version of the `full_flow_sequential_solver` specific to the
TurbOPark wake model.



## Sequential Solvers

This collection of solvers iterates over each turbine in order from
upstream to downstream and applies the current turbine's wake impacts
onto the downstream grid points. The grid points are typically
associated with a turbine's rotor grid. The wake effect is calculated
for the entire downstream domain, and masks are used to apply the wake
only to points within a box of influence. The velocity deficit due to the
wake is combined with the freestream velocity via the chosen wake
combination model.

## Full Flow Solvers

These solvers are typically used for visualization of a 3d or 2D
collection of points. First, a sequential solver is used to calculate
the wake as described above. Then, another loop over all turbines
allows to add the impact of each turbine onto the points throughout
the fluid domain.