A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

FLOWUnsteady

An interactional aerodynamics and acoustics solver for multirotor aircraft and wind energy.
https://github.com/byuflowlab/FLOWUnsteady

Category: Renewable Energy
Sub Category: Wind Energy

Keywords

acoustics aeroacoustics aerodynamics aircraft cfd computational-fluid-dynamics rotorcraft vortex-methods vpm vtol wind-turbine

Keywords from Contributors

airfoil xfoil

Last synced: 32 minutes ago
JSON representation

Repository metadata

An interactional aerodynamics and acoustics solver for multirotor aircraft and wind energy

README.md


FLOWUnsteady is an open-source variable-fidelity framework for unsteady
aerodynamics and aeroacoustics based on the
reformulated vortex particle method
(rVPM).
This suite brings together various tools developed by the
FLOW Lab at Brigham Young University: Vortex lattice
method, strip theory, blade elements, 3D panel method, and rVPM.
The suite also integrates an FW-H solver and a BPM code for tonal
and broadband prediction of aeroacoustic noise.
In the low end of fidelity, simulations are similar to a free-wake method,
while in the high end simulations become meshless large eddy simulations.

What is the Reformulated VPM?

The reformulated VPM is a meshless
CFD method solving the LES-filtered incompressible Navier-Stokes equations in
their vorticity form,

The rVPM uses particles to discretize the Navier-Stokes equations, with the
particles representing radial basis functions that construct a continuous
vorticity/velocity field. The basis functions become the LES filter, providing a
variable filter width and spatial adaptation as the particles are convected and
stretched by the velocity field. The local evolution of the filter width
provides an extra degree of freedom to reinforce conservation laws, which makes
the reformulated VPM numerically stable (overcoming the numerical issues that
plague the classic VPM).

This meshless LES has several advantages over conventional mesh-based CFD.
In the absence of a mesh,

  1. the rVPM does not suffer from the numerical dissipation introduced by a mesh
  2. integrates over coarser discretizations without losing physical accuracy
  3. derivatives are calculated analytically rather than approximated through a stencil.

Furthermore, rVPM is highly efficient since it uses computational elements only
where there is vorticity (rather than meshing the entire space), usually being ~100x
faster than conventional mesh-based LES with comparable accuracy.

While rVPM is well suited for resolving unbounded flows (wakes), complications
arise when attempting to impose boundary conditions (solid boundaries) on the flow.
This is because (1) the method is meshless, and (2) boundary conditions must
be imposed on the Navier-Stokes equations in the form of vorticity.
FLOWUnsteady is a framework designed to introduce solid boundaries into the rVPM
using actuator models.
Wings and rotors are introduced in the computational domain through actuator
line and surface models that use low-fidelity aerodynamic methods
(e.g., VLM, lifting line,
panels, etc) to compute forces and embed the associated
vorticity back into the LES domain.

Variable Fidelity

rVPM considerably reduces engineering time by avoiding the hurdles of mesh
generation. Furthermore, since it is not limited by the time-step and stability
constraints of conventional mesh-based CFD, rVPM can be used across all levels
of fidelity, all in the same framework by simply coarsening or refining the
simulation.
In the low end of fidelity, simulations are similar to a free-wake method,
while in the high end simulations become meshless large eddy simulations.
Thus, FLOWUnsteady can be used as a high-fidelity tool that is orders of
magnitude faster than mesh-based CFD, or as a variable-fidelity tool for
the different stages of design.

Capabilities

Simulation:
Tilting wings and rotors
• Rotors with variable RPM and variable pitch
• Asymmetric and stacked rotors
• Maneuvering vehicle with prescribed kinematics

rVPM Solver:
Fast-multipole acceleration through ExaFMM
• CPU parallelization through OpenMP
• Second-order spatial accuracy and third-order RK time integration
• Numerically stable by reshaping particles subject to vortex stretching
• Subfilter-scale (SFS) model of turbulence associated to vortex stretching
• SFS model coefficient computed dynamically or prescribed
• Viscous diffusion through core spreading

Wing Models:
Actuator line model through lifting line + VLM
• Actuator surface model through vortex sheet + VLM
• Parasitic drag through airfoil lookup tables

Rotor Model:
Actuator line model through blade elements
• Airfoil lookup tables automatically generated through XFOIL
• Aeroacoustic noise through FW-H (PSU-WOPWOP) and BPM

Geometry:
Simple lofts and bodies of revolution through FLOWUnsteady
• Import complex geometry from OpenVSP

Under development (🤞coming soon):
Advanced actuator surface models through 3D panel method (for ducts, wings, and fuselage)
• Unstructured surface grids
• Bluff bodies through vortex sheet method

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)

Coded in the Julia language for Linux, MacOS, and Windows WSL.

More about the models inside FLOWUnsteady:

Selected Publications

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] [PDF]
  • E. J. Alvarez (2022), "Reformulated Vortex Particle Method and Meshless Large Eddy Simulation of Multirotor Aircraft.," Doctoral Dissertation, Brigham Young University. [VIDEO] [PDF]
  • E. J. Alvarez & A. Ning (2023), "Stable Vortex Particle Method Formulation for Meshless Large-Eddy Simulation," AIAA Journal. [PDF]

Examples and Tutorials

Propeller: [Tutorial] [Validation]

Rotor in Hover: [Tutorial] [Validation]

Blown Wing: [Tutorial] [Validation]

Ducted Fan: [Slides]

Airborne-Wind-Energy Aircraft: [Video]

eVTOL Transition: [Tutorial]

Mid-fidelity

High-fidelity

Aeroacoustic Noise: [Tutorial] [Validation]

Sponsors

About

FLOWUnsteady is an open-source project jointly led by the
FLOW Lab at Brigham Young University and
Whisper Aero.
All contributions are welcome.

If you find FLOWUnsteady useful in your work, we kindly request that you cite the following paper [URL] [PDF]:

Alvarez, E. J., Mehr, J., and Ning, A., “FLOWUnsteady: An Interactional Aerodynamics Solver for Multirotor Aircraft and Wind Energy,” AIAA AVIATION 2022 Forum, Chicago, IL, 2022. DOI:10.2514/6.2022-3218.

If you were to encounter any issues or have questions, please first read through
the documentation, open/closed
issues
,
and the discussion forum.
If the issue still persists, please participate in
the discussion forum
and/or open a new issue.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 770
Total Committers: 8
Avg Commits per committer: 96.25
Development Distribution Score (DDS): 0.336

Commits in past year: 13
Committers in past year: 1
Avg Commits per committer in past year: 13.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
EdoAlvarezR E****R@g****m 511
Judd Mehr j****r@g****m 204
cardoza2 a****m@c****e 24
cibinjoseph c****2@g****m 22
rymanderson r****n@g****m 5
Eric-P-Green 8****n 2
dcaprace d****e@b****u 1
Kevin Moore m****1@g****m 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 117
Total pull requests: 31
Average time to close issues: about 1 month
Average time to close pull requests: 25 days
Total issue authors: 49
Total pull request authors: 8
Average comments per issue: 2.52
Average comments per pull request: 0.16
Merged pull request: 21
Bot issues: 0
Bot pull requests: 6

Past year issues: 28
Past year pull requests: 5
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 13 minutes
Past year issue authors: 14
Past year pull request authors: 2
Past year average comments per issue: 1.07
Past year average comments per pull request: 0.2
Past year merged pull request: 3
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/byuflowlab/FLOWUnsteady

Top Issue Authors

  • juddmehr (15)
  • NM1293 (10)
  • inse0918 (9)
  • AndreaRapi (7)
  • philippmandl (6)
  • Ajaykrishna0703 (4)
  • tylercritchfield (4)
  • christianhauschel (4)
  • Liuhaosheng1 (4)
  • sakurakikiki (3)
  • MarcoPic99 (3)
  • cibinjoseph (3)
  • jackyw123 (2)
  • Cardoza2 (2)
  • wjsjtu123 (2)

Top Pull Request Authors

  • EdoAlvarezR (12)
  • github-actions[bot] (6)
  • cibinjoseph (5)
  • timothyharlow-hub (3)
  • Eric-P-Green (2)
  • juddmehr (1)
  • catchhead (1)
  • DGCaprace (1)

Top Issue Labels

  • documentation (18)
  • enhancement (4)
  • help wanted (1)

Top Pull Request Labels


Dependencies

.github/workflows/CompatHelper.yml actions
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/docs.yaml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia latest composite

Score: 7.8632667240095735