Skip to content

Commit

Permalink
PROWIM example and polish blown wing tutorial
Browse files Browse the repository at this point in the history
  • Loading branch information
EdoAlvarezR committed Jan 8, 2024
1 parent b44dcd0 commit 03187b8
Show file tree
Hide file tree
Showing 9 changed files with 1,515 additions and 39 deletions.
1 change: 1 addition & 0 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ makedocs(
"examples/blownwing-aero.md",
# "examples/blownwing-acoustics.md",
"examples/blownwing-asm.md",
"examples/prowim-aero.md",
],
"eVTOL Aircraft" => [
"examples/vahana-vehicle.md",
Expand Down
2 changes: 1 addition & 1 deletion docs/src/api/flowunsteady-openvsp.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# [Importing OpenVSP geometry](@id openvsp_import)
# [OpenVSP geometry](@id openvsp_import)

```@docs
FLOWUnsteady.read_degengeom
Expand Down
17 changes: 14 additions & 3 deletions docs/src/examples/blownwing-aero.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# [Aerodynamic Solution](@id blownwingaero)
# [Wing-on-Rotor Interactions](@id blownwingaero)

```@raw html
<div style="position:relative;padding-top:50%;">
Expand All @@ -10,6 +10,17 @@
</div>
```

In this example we show mount propellers on a swept wing.
The wing is modeled using the actuator line model that represents the wing
as a lifting line.
This wing model is accurate for capturing wing-on-rotor interactions.
For instance, the rotor will experience an unsteady blade loading (and
increased tonal noise) caused by the turning of the flow ahead of the wing
leading edge.
However, this simple wing model is not adecuate for capturing
rotor-on-wing interactions (see [the next two sections](@ref asm) to
accurately predict rotor-on-wing interactions).


```julia
#=##############################################################################
Expand Down Expand Up @@ -199,8 +210,8 @@ for ri in 1:nrotors

# Account for angle of attack of wing
nrm = sqrt(x^2 + z^2)
x = nrm*cosd(AOAwing)
z = -nrm*sind(AOAwing)
x = (x==0 ? 1 : sign(x))*nrm*cosd(AOAwing)
z = -(z==0 ? 1 : sign(z))*nrm*sind(AOAwing)

# Translate rotor to its position along wing
O = [x, y, z] # New position
Expand Down
44 changes: 26 additions & 18 deletions docs/src/examples/blownwing-asm.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,17 @@ vorticity at the three-quarter chord, as shown here:
The ALM is very accurate for isolated wings and even cases with mild wake
interactions.
However, for cases with stronger wake interactions (e.g., a wake directly
impinging on the wing surface), we have developed an actuator surface model
(ASM) that introduces the surface vorticity into the LES domain that better
represents the physics.
This is done by spreading the surface vorticity following a pressure-like
distribution, which ends up producing a velocity field at the wing surface
that minimizes the flow that crosses the airfoil centerline, thus better
representing a solid surface:
impinging on the wing surface), the ALM can lead to unphysical results as
the flow tends to cross the airfoil centerline.
To address this, we have developed an actuator surface model
(ASM) to embed the wing surface in the LES domain and better
represent the physics.

The ASM spreads the surface vorticity following a pressure-like
distribution.
This produces a velocity field at the wing surface that minimizes the mass
flow that crosses the airfoil centerline, thus better representing a solid
surface:

```@raw html
<center>
Expand All @@ -32,16 +36,22 @@ representing a solid surface:
</center>
<br>
```
For an in-depth discussion of the actuator line and surface models
implemented in FLOWUnsteady, see Chapter 6 in
[Alvarez' Dissertation](https://scholarsarchive.byu.edu/etd/9589).[^2]
For an in-depth discussion of the actuator models implemented in
FLOWUnsteady, see Chapter 6 in
[Alvarez' Dissertation](https://scholarsarchive.byu.edu/etd/9589)[^2]
(also published in
[Alvarez & Ning, 2023](https://arc.aiaa.org/doi/abs/10.2514/1.C037279)[^3]).


[^2]: 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/)
[^3]: E. J. Alvarez and A. Ning (2023), "Meshless Large-Eddy Simulation of
Propeller–Wing Interactions with Reformulated Vortex Particle Method,"
*Journal of Aircraft*.
[**[DOI]**](https://arc.aiaa.org/doi/abs/10.2514/1.C037279)[**[PDF]**](https://scholarsarchive.byu.edu/facpub/6902/)

In order to activate the actuator surface model, we define the following
parameters:
Expand Down Expand Up @@ -74,7 +84,7 @@ include_unsteadyforce = true # Include unsteady force
add_unsteadyforce = false # Whether to add the unsteady force to Ftot or to simply output it

include_parasiticdrag = true # Include parasitic-drag force
add_skinfriction = true # If false, the parasitic drag is purely parasitic, meaning no skin friction
add_skinfriction = true # If false, the parasitic drag is purely form, meaning no skin friction
calc_cd_from_cl = false # Whether to calculate cd from cl or effective AOA
wing_polar_file = "xf-rae101-il-1000000.csv" # Airfoil polar for parasitic drag
```
Expand All @@ -88,7 +98,7 @@ that uses the vortex sheet:
forces = []

# Calculate Kutta-Joukowski force
kuttajoukowski = uns.generate_calc_aerodynamicforce_kuttajoukowski(KJforce_type,
kuttajoukowski = uns.generate_aerodynamicforce_kuttajoukowski(KJforce_type,
sigma_vlm_surf, sigma_rotor_surf,
vlm_vortexsheet, vlm_vortexsheet_overlap,
vlm_vortexsheet_distribution,
Expand Down Expand Up @@ -173,10 +183,8 @@ uns.run_simulation( ...
)
```

!!! info "ASM and High Fidelity"
ASM uses a very high density of particles at the wing
surface (~100k particles per wing) to accuratelly introduce the solid
boundary into the LES.
This increases the computational cost of the simulation considerably.
Hence, we recommend using ASM only for high-fidelity simulations.
!!! info "ASM Example"
The [next section](@ref prowimaero) shows an example on how to
set up and run a simulation using the actuator surface model.


Loading

0 comments on commit 03187b8

Please sign in to comment.