From 97b3611ab9b988224e1fb60d205a4b966fd6e8de Mon Sep 17 00:00:00 2001 From: RHammond2 <13874373+RHammond2@users.noreply.github.com> Date: Mon, 24 Apr 2023 17:40:27 -0600 Subject: [PATCH 1/3] add in baseline solver documentation --- docs/_toc.yml | 1 + docs/solvers.md | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 docs/solvers.md diff --git a/docs/_toc.yml b/docs/_toc.yml index a1bb6e4ee..5637e8f08 100644 --- a/docs/_toc.yml +++ b/docs/_toc.yml @@ -18,6 +18,7 @@ parts: - caption: Theory and Background chapters: - file: reference + - file: solvers - caption: Developer Reference chapters: diff --git a/docs/solvers.md b/docs/solvers.md new file mode 100644 index 000000000..995bc9d61 --- /dev/null +++ b/docs/solvers.md @@ -0,0 +1,15 @@ +# Solver Descriptions + +This page will explain the different solvers available in FLORIS. For each of the solvers (except TurbOPark) there is the regular solver, which computes the wake effects at each turbine, an a full flow solver, which calculates the wake effects across the entire layout, including non-turbine positions. The full flow solver is used primarily for visualizing the flow field because it's more computationally intensive, so runtimes are much slower for larger wind power plants. + +## Sequential + +For each turbine in the layout (sorted from upstream to downstream), we calculate its effect on every downstream turbine. This is accomplished by calculating the deficit that each turbine adds to downstream turbines, then integrating it into the main data structure. + +## CC Solver + +TODO + +## TurbOPark Solver + +TODO From 80534c8d9ef5c3dcc89b06ec6afd88981a4639c8 Mon Sep 17 00:00:00 2001 From: RHammond2 <13874373+RHammond2@users.noreply.github.com> Date: Mon, 24 Apr 2023 17:40:27 -0600 Subject: [PATCH 2/3] add in baseline solver documentation --- docs/_toc.yml | 1 + docs/solvers.md | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 docs/solvers.md diff --git a/docs/_toc.yml b/docs/_toc.yml index 360f2b422..a04e3b2cf 100644 --- a/docs/_toc.yml +++ b/docs/_toc.yml @@ -19,6 +19,7 @@ parts: - caption: Theory and Background chapters: - file: reference + - file: solvers - caption: Developer Reference chapters: diff --git a/docs/solvers.md b/docs/solvers.md new file mode 100644 index 000000000..995bc9d61 --- /dev/null +++ b/docs/solvers.md @@ -0,0 +1,15 @@ +# Solver Descriptions + +This page will explain the different solvers available in FLORIS. For each of the solvers (except TurbOPark) there is the regular solver, which computes the wake effects at each turbine, an a full flow solver, which calculates the wake effects across the entire layout, including non-turbine positions. The full flow solver is used primarily for visualizing the flow field because it's more computationally intensive, so runtimes are much slower for larger wind power plants. + +## Sequential + +For each turbine in the layout (sorted from upstream to downstream), we calculate its effect on every downstream turbine. This is accomplished by calculating the deficit that each turbine adds to downstream turbines, then integrating it into the main data structure. + +## CC Solver + +TODO + +## TurbOPark Solver + +TODO From 133f30816bfd88de39fd408b2c97150f336f666d Mon Sep 17 00:00:00 2001 From: Rafael M Mudafort Date: Tue, 25 Apr 2023 22:31:54 -0600 Subject: [PATCH 3/3] Add more descriptions of the solvers --- docs/solvers.md | 61 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 7 deletions(-) diff --git a/docs/solvers.md b/docs/solvers.md index 995bc9d61..e8879565d 100644 --- a/docs/solvers.md +++ b/docs/solvers.md @@ -1,15 +1,62 @@ # Solver Descriptions -This page will explain the different solvers available in FLORIS. For each of the solvers (except TurbOPark) there is the regular solver, which computes the wake effects at each turbine, an a full flow solver, which calculates the wake effects across the entire layout, including non-turbine positions. The full flow solver is used primarily for visualizing the flow field because it's more computationally intensive, so runtimes are much slower for larger wind power plants. +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. -## Sequential +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. -For each turbine in the layout (sorted from upstream to downstream), we calculate its effect on every downstream turbine. This is accomplished by calculating the deficit that each turbine adds to downstream turbines, then integrating it into the main data structure. -## CC Solver -TODO +## Sequential Solvers -## TurbOPark Solver +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. -TODO +## 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.