Skip to content

Commit

Permalink
Merge pull request #133 from byuflowlab/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
EdoAlvarezR authored Jan 22, 2024
2 parents 2e485e6 + 47fbfd9 commit a3c558d
Show file tree
Hide file tree
Showing 7 changed files with 161 additions and 82 deletions.
25 changes: 14 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.*
Expand All @@ -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)

<p><br></p>

### Examples
### Examples and Tutorials

**Propeller:** [[Tutorial](https://flow.byu.edu/FLOWUnsteady/examples/propeller-J040)] [[Validation](https://flow.byu.edu/FLOWUnsteady/theory/validation/#Propeller)]

Expand All @@ -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)]

<p align="center">
<img src="http://edoalvar2.groups.et.byu.net/public/FLOWUnsteady/prowimhtp-wvol34-cropped00.jpg" alt="img" style="width:100%">
</p>
<p align="center"> <a href="https://www.youtube.com/watch?v=GfS3NoVrFfU&hd=1"> <img src="http://edoalvar2.groups.et.byu.net/public/FLOWUnsteady/youtube-rotorwing.png" alt="youtube.com/watch?v=GfS3NoVrFfU" style="width:70%"> </a> </p>


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

<p align="center"> <a href="https://www.youtube.com/watch?v=BQpar3A0X-w&hd=1"> <img src="http://edoalvar2.groups.et.byu.net/public/FLOWUnsteady/youtube-edf.png" alt="youtube.com/watch?v=BQpar3A0X-w" style="width:70%"> </a> </p>

<p><br></p>

**Airborne-Wind-Energy Aircraft:** [[Video](https://www.youtube.com/watch?v=iFM3B4_N2Ls)]

Expand All @@ -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)]

<p align="center"> <a href="https://www.youtube.com/watch?v=ntQjP6KbZDk&hd=1"> <img src="http://edoalvar2.groups.et.byu.net/public/FLOWUnsteady/youtube-vahananoise.png" alt="youtube.com/watch?v=ntQjP6KbZDk" style="width:70%"> </a> </p>

<p align="center">
<img src="http://edoalvar2.groups.et.byu.net/public/FLOWUnsteady/cfdnoise_ningdji_multi_005D_03_20.gif" alt="Vid" style="width:60%"/>
</p>

<p align="center"> <a href="https://www.youtube.com/watch?v=ntQjP6KbZDk&hd=1"> <img src="http://edoalvar2.groups.et.byu.net/public/FLOWUnsteady/youtube-vahananoise.png" alt="youtube.com/watch?v=ntQjP6KbZDk" style="width:70%"> </a> </p>



Expand Down Expand Up @@ -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
Expand Down
50 changes: 36 additions & 14 deletions docs/src/examples/prowim-aero.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# [Prop-on-Wing Interactions](@id prowimaero)

```@raw html
<img src="https://edoalvar2.groups.et.byu.net/public/FLOWUnsteady//veldhuis2004-expsetup01.png" alt="Pic here" style="width: 49%;"/>
```

```@raw html
<br><br>
```

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
Expand All @@ -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
<div style="position:relative;padding-top:50%;">
<iframe style="position:absolute;left:0;top:0;height:80%;width:72%;"
src="https://www.youtube.com/embed/GfS3NoVrFfU?hd=1"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen></iframe>
</div>
```


```julia
Expand Down Expand Up @@ -626,7 +647,8 @@ end
```
```@raw html
<span style="font-size: 0.9em; color:gray;"><i>
Mid-low fidelity run time: 13 minutes a Dell Precision 7760 laptop. <br>
Low fidelity run time: 13 minutes a Dell Precision 7760 laptop. <br>
Mid-low fidelity run time: 25 minutes a Dell Precision 7760 laptop. <br>
Mid-high fidelity run time: 70 minutes a Dell Precision 7760 laptop. <br>
High fidelity runtime: ~2 days on a 16-core AMD EPYC 7302 processor.
</i></span>
Expand Down
50 changes: 36 additions & 14 deletions docs/src/generate_examples_prowim.jl
Original file line number Diff line number Diff line change
Expand Up @@ -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
<img src="$(remote_url)/veldhuis2004-expsetup01.png" alt="Pic here" style="width: 49%;"/>
```
```@raw html
<br><br>
```
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
Expand All @@ -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
<div style="position:relative;padding-top:50%;">
<iframe style="position:absolute;left:0;top:0;height:80%;width:72%;"
src="https://www.youtube.com/embed/GfS3NoVrFfU?hd=1"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen></iframe>
</div>
```
""")

Expand Down Expand Up @@ -73,7 +94,8 @@ open(joinpath(output_path, output_name*"-aero.md"), "w") do fout
println(fout, """
```@raw html
<span style="font-size: 0.9em; color:gray;"><i>
Mid-low fidelity run time: 13 minutes a Dell Precision 7760 laptop. <br>
Low fidelity run time: 13 minutes a Dell Precision 7760 laptop. <br>
Mid-low fidelity run time: 25 minutes a Dell Precision 7760 laptop. <br>
Mid-high fidelity run time: 70 minutes a Dell Precision 7760 laptop. <br>
High fidelity runtime: ~2 days on a 16-core AMD EPYC 7302 processor.
</i></span>
Expand Down
49 changes: 33 additions & 16 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.*
Expand All @@ -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
<p><br></p>
```

### Examples
### Examples and Tutorials

**Propeller:** [[Tutorial](https://flow.byu.edu/FLOWUnsteady/examples/propeller-J040)] [[Validation](https://flow.byu.edu/FLOWUnsteady/theory/validation/#Propeller)]

Expand Down Expand Up @@ -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
<p align="center">
<img src="http://edoalvar2.groups.et.byu.net/public/FLOWUnsteady/prowimhtp-wvol34-cropped00.jpg" alt="img" style="width:100%">
</p>
<div style="position:relative;padding-top:50%;">
<iframe style="position:absolute;left:0;top:0;height:80%;width:71.0%;"
src="https://www.youtube.com/embed/GfS3NoVrFfU?hd=1"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen></iframe>
</div>
```



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

```@raw html
<p><br></p>
<div style="position:relative;padding-top:50%;">
<iframe style="position:absolute;left:0;top:0;height:80%;width:71.0%;"
src="https://www.youtube.com/embed/BQpar3A0X-w?hd=1"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen></iframe>
</div>
```



**Airborne-Wind-Energy Aircraft:** [[Video](https://www.youtube.com/watch?v=iFM3B4_N2Ls)]

```@raw html
Expand Down Expand Up @@ -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
<p align="center">
<img src="http://edoalvar2.groups.et.byu.net/public/FLOWUnsteady/cfdnoise_ningdji_multi_005D_03_20.gif" alt="Vid" style="width:60%"/>
</p>
```

```@raw html
<div style="position:relative;padding-top:50%;">
<iframe style="position:absolute;left:0;top:0;height:80%;width:71.0%;"
Expand All @@ -290,6 +300,13 @@ High-fidelity
```


```@raw html
<p align="center">
<img src="http://edoalvar2.groups.et.byu.net/public/FLOWUnsteady/cfdnoise_ningdji_multi_005D_03_20.gif" alt="Vid" style="width:60%"/>
</p>
```





Expand Down Expand Up @@ -319,9 +336,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
Expand Down
Loading

0 comments on commit a3c558d

Please sign in to comment.