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)] -

- img -

+

youtube.com/watch?v=GfS3NoVrFfU

+ + +**Ducted Fan:** [[Paper](https://scholarsarchive.byu.edu/cgi/viewcontent.cgi?article=7676&context=facpub)] + +

youtube.com/watch?v=BQpar3A0X-w

-


**Airborne-Wind-Energy Aircraft:** [[Video](https://www.youtube.com/watch?v=iFM3B4_N2Ls)] @@ -204,11 +206,12 @@ High-fidelity **Aeroacoustic Noise:** [[Tutorial](https://flow.byu.edu/FLOWUnsteady/examples/rotorhover-acoustics)] [[Validation](https://flow.byu.edu/FLOWUnsteady/theory/validation/#Rotor)] +

youtube.com/watch?v=ntQjP6KbZDk

+

Vid

-

youtube.com/watch?v=ntQjP6KbZDk

@@ -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 + Pic here +``` + +```@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 + Pic here + ``` + + ```@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 -

- img -

+
+ +
``` + + +**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 -

- Vid -

-``` - ```@raw html