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

Dev #133

Merged
merged 2 commits into from
Jan 22, 2024
Merged

Dev #133

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
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
Loading