diff --git a/README.md b/README.md
index 2d2c96f4..ac59c109 100644
--- a/README.md
+++ b/README.md
@@ -140,7 +140,7 @@ the different stages of design.
> **Limitations:**
> *Viscous drag and separation is only captured through airfoil lookup tables, without attempting to shed separation wakes*
> *• Incompressible flow only (though wave drag can be captured through airfoil lookup tables)*
- > *• CPU parallelization through OpenMP without support for distributed memory (no MPI, i.e., only single-node* runs)
+ > *• CPU parallelization through OpenMP without support for distributed memory (no MPI, i.e., only single-node runs)*
>
> *Coded in [the Julia language](https://www.infoworld.com/article/3284380/what-is-julia-a-fresh-approach-to-numerical-computing.html) for Linux, MacOS, and Windows WSL.*
@@ -161,12 +161,12 @@ More about the models inside FLOWUnsteady:
See the following publications for an in-depth dive into the theory and validation:
* E. J. Alvarez, J. Mehr, & A. Ning (2022), "FLOWUnsteady: An Interactional Aerodynamics Solver for Multirotor Aircraft and Wind Energy," *AIAA AVIATION Forum*. [**[VIDEO]**](https://youtu.be/SFW2X8Lbsdw) [**[PDF]**](https://scholarsarchive.byu.edu/facpub/5830/)
-* E. J. Alvarez & A. Ning (2022), "Reviving the Vortex Particle Method: A Stable Formulation for Meshless Large Eddy Simulation," *(accepted in AIAAJ)*. [**[PDF]**](https://arxiv.org/pdf/2206.03658.pdf)
* E. J. Alvarez (2022), "Reformulated Vortex Particle Method and Meshless Large Eddy Simulation of Multirotor Aircraft.," *Doctoral Dissertation, Brigham Young University*. [**[VIDEO]**](https://www.nas.nasa.gov/pubs/ams/2022/08-09-22.html) [**[PDF]**](https://scholarsarchive.byu.edu/etd/9589/)
+* E. J. Alvarez & A. Ning (2023), "Stable Vortex Particle Method Formulation for Meshless Large-Eddy Simulation," *AIAA Journal*. [**[PDF]**](https://arc.aiaa.org/doi/epdf/10.2514/1.J063045)
-### Examples
+### Examples and Tutorials
**Propeller:** [[Tutorial](https://flow.byu.edu/FLOWUnsteady/examples/propeller-J040)] [[Validation](https://flow.byu.edu/FLOWUnsteady/theory/validation/#Propeller)]
@@ -180,11 +180,13 @@ See the following publications for an in-depth dive into the theory and validati
**Blown Wing:** [[Tutorial](https://flow.byu.edu/FLOWUnsteady/examples/blownwing-aero)] [[Validation](https://flow.byu.edu/FLOWUnsteady/theory/validation/#Rotor-Wing-Interactions)]
-
@@ -237,9 +240,9 @@ If you were to encounter any issues or have questions, please first read through
[the documentation](https://flow.byu.edu/FLOWUnsteady/), [open/closed
issues](https://github.com/byuflowlab/FLOWUnsteady/issues?q=is%3Aissue+is%3Aclosed),
and [the discussion forum](https://github.com/byuflowlab/FLOWUnsteady/discussions?discussions_q=).
-If the issue still persists, please
-[open a new issue](https://github.com/byuflowlab/FLOWUnsteady/issues) and/or
-participate in [the discussion forum](https://github.com/byuflowlab/FLOWUnsteady/discussions?discussions_q=).
+If the issue still persists, please participate in
+[the discussion forum](https://github.com/byuflowlab/FLOWUnsteady/discussions?discussions_q=)
+and/or [open a new issue](https://github.com/byuflowlab/FLOWUnsteady/issues).
* Developers/contributors : [Eduardo J. Alvarez](https://www.edoalvarez.com/) (main), [Cibin Joseph](https://github.com/cibinjoseph), [Judd Mehr](https://www.juddmehr.com/), [Ryan Anderson](https://flow.byu.edu/people/), [Eric Green](https://flow.byu.edu/people/)
* Created : Sep 2017
diff --git a/docs/src/examples/prowim-aero.md b/docs/src/examples/prowim-aero.md
index 2a5833b4..ff5bc642 100644
--- a/docs/src/examples/prowim-aero.md
+++ b/docs/src/examples/prowim-aero.md
@@ -1,5 +1,13 @@
# [Prop-on-Wing Interactions](@id prowimaero)
+```@raw html
+
+```
+
+```@raw html
+
+```
+
In this example we use the [actuator surface model](@ref asm) (ASM) to
more accurately predict the effects of props blowing on a wing.
This case simulates the PROWIM experiment in
@@ -10,25 +18,38 @@ This case simulates the PROWIM experiment in
In this example you can vary the fidelity of the simulation setting the
following parameters:
-| Parameter | Mid-low fidelity | Mid-high fidelity | High fidelity | Description |
-| :-------: | :--------------: | :---------------: | :-----------: | :---------- |
-| `n_wing` | `50` | `50` | `100` | Number of wing elements per semispan |
-| `n_rotor` | `12` | `20` | `50` | Number of blade elements per blade |
-| `nsteps_per_rev` | `36` | `36` | `72` | Time steps per revolution |
-| `p_per_step` | `2` | `5` | `5` | Particle sheds per time step |
-| `shed_starting` | `false` | `false` | `true` | Whether to shed starting vortex |
-| `shed_unsteady` | `false` | `false` | `true` | Whether to shed vorticity from unsteady loading |
-| `treat_wake` | `true` | `true` | `false` | Treat wake to avoid instabilities |
-| `vlm_vortexsheet_overlap` | `2.125/10` | `2.125/10` | `2.125` | Particle overlap in ASM vortex sheet |
-| `vpm_integration` | `vpm.euler` | RK3``^\star`` | RK3``^\star`` | VPM time integration scheme |
-| `vpm_SFS` | None``^\dag`` | Dynamic``^\ddag`` | Dynamic``^\ddag`` | VPM LES subfilter-scale model |
+| Parameter | Low fidelity | Mid-low fidelity | Mid-high fidelity | High fidelity | Description |
+| :-------: | :----------: | :--------------: | :---------------: | :-----------: | :---------- |
+| `n_wing` | `50` | `50` | `50` | `100` | Number of wing elements per semispan |
+| `n_rotor` | `12` | `12` | `20` | `50` | Number of blade elements per blade |
+| `nsteps_per_rev` | `36` | `36` | `36` | `72` | Time steps per revolution |
+| `p_per_step` | `2` | `5` | `5` | `5` | Particle sheds per time step |
+| `shed_starting` | `false` | `false` | `false` | `true` | Whether to shed starting vortex |
+| `shed_unsteady` | `false` | `false` | `false` | `true` | Whether to shed vorticity from unsteady loading |
+| `treat_wake` | `true` | `true` | `true` | `false` | Treat wake to avoid instabilities |
+| `vlm_vortexsheet_overlap` | `2.125/10` | `2.125/10` | `2.125/10` | `2.125` | Particle overlap in ASM vortex sheet |
+| `vpm_integration` | `vpm.euler` | `vpm.euler` | RK3``^\star`` | RK3``^\star`` | VPM time integration scheme |
+| `vpm_SFS` | None``^\dag`` | None``^\dag`` | Dynamic``^\ddag`` | Dynamic``^\ddag`` | VPM LES subfilter-scale model |
* ``^\star``*RK3:* `vpm_integration = vpm.rungekutta3`
* ``^\dag``*None:* `vpm_SFS = vpm.SFS_none`
* ``^\ddag``*Dynamic:* `vpm_SFS = vpm.SFS_Cd_twolevel_nobackscatter`
-(Mid-low fidelity settings may be inadequate for capturing prop-on-wing interactions, unless using `p_per_step=5`)
+(Low fidelity settings may be inadequate for accurately capturing
+prop-on-wing interactions, but mid-low or higher should do well)
+
+As a reference, high-fidelity looks like this (except that the video shows
+a tip-mounted configuration with ailerons):
+```@raw html
+
+
+
+```
```julia
@@ -626,7 +647,8 @@ end
```
```@raw html
- Mid-low fidelity run time: 13 minutes a Dell Precision 7760 laptop.
+ Low fidelity run time: 13 minutes a Dell Precision 7760 laptop.
+ Mid-low fidelity run time: 25 minutes a Dell Precision 7760 laptop.
Mid-high fidelity run time: 70 minutes a Dell Precision 7760 laptop.
High fidelity runtime: ~2 days on a 16-core AMD EPYC 7302 processor.
diff --git a/docs/src/generate_examples_prowim.jl b/docs/src/generate_examples_prowim.jl
index cacd0c80..dc9418b0 100644
--- a/docs/src/generate_examples_prowim.jl
+++ b/docs/src/generate_examples_prowim.jl
@@ -10,6 +10,14 @@ open(joinpath(output_path, output_name*"-aero.md"), "w") do fout
println(fout, """
# [Prop-on-Wing Interactions](@id prowimaero)
+ ```@raw html
+
+ ```
+
+ ```@raw html
+
+ ```
+
In this example we use the [actuator surface model](@ref asm) (ASM) to
more accurately predict the effects of props blowing on a wing.
This case simulates the PROWIM experiment in
@@ -20,25 +28,38 @@ open(joinpath(output_path, output_name*"-aero.md"), "w") do fout
In this example you can vary the fidelity of the simulation setting the
following parameters:
- | Parameter | Mid-low fidelity | Mid-high fidelity | High fidelity | Description |
- | :-------: | :--------------: | :---------------: | :-----------: | :---------- |
- | `n_wing` | `50` | `50` | `100` | Number of wing elements per semispan |
- | `n_rotor` | `12` | `20` | `50` | Number of blade elements per blade |
- | `nsteps_per_rev` | `36` | `36` | `72` | Time steps per revolution |
- | `p_per_step` | `2` | `5` | `5` | Particle sheds per time step |
- | `shed_starting` | `false` | `false` | `true` | Whether to shed starting vortex |
- | `shed_unsteady` | `false` | `false` | `true` | Whether to shed vorticity from unsteady loading |
- | `treat_wake` | `true` | `true` | `false` | Treat wake to avoid instabilities |
- | `vlm_vortexsheet_overlap` | `2.125/10` | `2.125/10` | `2.125` | Particle overlap in ASM vortex sheet |
- | `vpm_integration` | `vpm.euler` | RK3``^\\star`` | RK3``^\\star`` | VPM time integration scheme |
- | `vpm_SFS` | None``^\\dag`` | Dynamic``^\\ddag`` | Dynamic``^\\ddag`` | VPM LES subfilter-scale model |
+ | Parameter | Low fidelity | Mid-low fidelity | Mid-high fidelity | High fidelity | Description |
+ | :-------: | :----------: | :--------------: | :---------------: | :-----------: | :---------- |
+ | `n_wing` | `50` | `50` | `50` | `100` | Number of wing elements per semispan |
+ | `n_rotor` | `12` | `12` | `20` | `50` | Number of blade elements per blade |
+ | `nsteps_per_rev` | `36` | `36` | `36` | `72` | Time steps per revolution |
+ | `p_per_step` | `2` | `5` | `5` | `5` | Particle sheds per time step |
+ | `shed_starting` | `false` | `false` | `false` | `true` | Whether to shed starting vortex |
+ | `shed_unsteady` | `false` | `false` | `false` | `true` | Whether to shed vorticity from unsteady loading |
+ | `treat_wake` | `true` | `true` | `true` | `false` | Treat wake to avoid instabilities |
+ | `vlm_vortexsheet_overlap` | `2.125/10` | `2.125/10` | `2.125/10` | `2.125` | Particle overlap in ASM vortex sheet |
+ | `vpm_integration` | `vpm.euler` | `vpm.euler` | RK3``^\\star`` | RK3``^\\star`` | VPM time integration scheme |
+ | `vpm_SFS` | None``^\\dag`` | None``^\\dag`` | Dynamic``^\\ddag`` | Dynamic``^\\ddag`` | VPM LES subfilter-scale model |
* ``^\\star``*RK3:* `vpm_integration = vpm.rungekutta3`
* ``^\\dag``*None:* `vpm_SFS = vpm.SFS_none`
* ``^\\ddag``*Dynamic:* `vpm_SFS = vpm.SFS_Cd_twolevel_nobackscatter`
- (Mid-low fidelity settings may be inadequate for capturing prop-on-wing interactions, unless using `p_per_step=5`)
+ (Low fidelity settings may be inadequate for accurately capturing
+ prop-on-wing interactions, but mid-low or higher should do well)
+
+ As a reference, high-fidelity looks like this (except that the video shows
+ a tip-mounted configuration with ailerons):
+ ```@raw html
+
+
+
+ ```
""")
@@ -73,7 +94,8 @@ open(joinpath(output_path, output_name*"-aero.md"), "w") do fout
println(fout, """
```@raw html
- Mid-low fidelity run time: 13 minutes a Dell Precision 7760 laptop.
+ Low fidelity run time: 13 minutes a Dell Precision 7760 laptop.
+ Mid-low fidelity run time: 25 minutes a Dell Precision 7760 laptop.
Mid-high fidelity run time: 70 minutes a Dell Precision 7760 laptop.
High fidelity runtime: ~2 days on a 16-core AMD EPYC 7302 processor.
diff --git a/docs/src/index.md b/docs/src/index.md
index 2ac17425..0fb6aaa8 100644
--- a/docs/src/index.md
+++ b/docs/src/index.md
@@ -161,7 +161,7 @@ the different stages of design.
> **Limitations:**
> *Viscous drag and separation is only captured through airfoil lookup tables, without attempting to shed separation wakes*
> *• Incompressible flow only (though wave drag can be captured through airfoil lookup tables)*
- > *• CPU parallelization through OpenMP without support for distributed memory (no MPI, i.e., only single-node* runs)
+ > *• CPU parallelization through OpenMP without support for distributed memory (no MPI, i.e., only single-node runs)*
>
> *Coded in [the Julia language](https://www.infoworld.com/article/3284380/what-is-julia-a-fresh-approach-to-numerical-computing.html) for Linux, MacOS, and Windows WSL.*
@@ -186,14 +186,14 @@ More about the models inside FLOWUnsteady:
See the following publications for an in-depth dive into the theory and validation:
* E. J. Alvarez, J. Mehr, & A. Ning (2022), "FLOWUnsteady: An Interactional Aerodynamics Solver for Multirotor Aircraft and Wind Energy," *AIAA AVIATION Forum*. [**[VIDEO]**](https://youtu.be/SFW2X8Lbsdw) [**[PDF]**](https://scholarsarchive.byu.edu/facpub/5830/)
-* E. J. Alvarez & A. Ning (2022), "Reviving the Vortex Particle Method: A Stable Formulation for Meshless Large Eddy Simulation," *(accepted in AIAAJ)*. [**[PDF]**](https://arxiv.org/pdf/2206.03658.pdf)
* E. J. Alvarez (2022), "Reformulated Vortex Particle Method and Meshless Large Eddy Simulation of Multirotor Aircraft.," *Doctoral Dissertation, Brigham Young University*. [**[VIDEO]**](https://www.nas.nasa.gov/pubs/ams/2022/08-09-22.html) [**[PDF]**](https://scholarsarchive.byu.edu/etd/9589/)
+* E. J. Alvarez & A. Ning (2023), "Stable Vortex Particle Method Formulation for Meshless Large-Eddy Simulation," *AIAA Journal*. [**[PDF]**](https://arc.aiaa.org/doi/epdf/10.2514/1.J063045)
```@raw html
```
-### Examples
+### Examples and Tutorials
**Propeller:** [[Tutorial](https://flow.byu.edu/FLOWUnsteady/examples/propeller-J040)] [[Validation](https://flow.byu.edu/FLOWUnsteady/theory/validation/#Propeller)]
@@ -226,15 +226,31 @@ See the following publications for an in-depth dive into the theory and validati
**Blown Wing:** [[Tutorial](https://flow.byu.edu/FLOWUnsteady/examples/blownwing-aero)] [[Validation](https://flow.byu.edu/FLOWUnsteady/theory/validation/#Rotor-Wing-Interactions)]
```@raw html
-
-
-
+
+
+
```
+
+
+**Ducted Fan:** [[Paper](https://scholarsarchive.byu.edu/cgi/viewcontent.cgi?article=7676&context=facpub)]
+
```@raw html
-
+
+
+
```
+
+
**Airborne-Wind-Energy Aircraft:** [[Video](https://www.youtube.com/watch?v=iFM3B4_N2Ls)]
```@raw html
@@ -273,12 +289,6 @@ High-fidelity
**Aeroacoustic Noise:** [[Tutorial](https://flow.byu.edu/FLOWUnsteady/examples/rotorhover-acoustics)] [[Validation](https://flow.byu.edu/FLOWUnsteady/theory/validation/#Rotor)]
-```@raw html
-