Skip to content

byuflowlab/FLOWVPM.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pic here
Meshless large eddy simulation through the reformulated vortex particle method


FLOWVPM implements the reformulated vortex particle method (rVPM) developed in E. J. Alvarez' doctoral dissertation Reformulated Vortex Particle Method and Meshless Large Eddy Simulation of Multirotor Aircraft, 2022 [PDF][VIDEO]. The rVPM is a meshless CFD method solving the LES-filtered incompressible Navier-Stokes equations in their vorticity form. It uses a Lagrangian scheme, which not only avoids the hurdles of mesh generation, but it also conserves vortical structures over long distances with minimal numerical dissipation while being orders of magnitude faster than conventional mesh-based CFD.

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 adaption 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 re-inforce conservations laws, which makes the reformulated VPM numerically stable.

This meshless CFD has several advantages over conventional mesh-based CFD. In the absence of a mesh, the rVPM (1) does not suffer from the conventional CFL condition, (2) does not suffer from the numerical dissipation introduced by a mesh, and (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, making it 100x faster than conventional mesh-based LES.

FLOWVPM is implemented in Julia, which is a modern, high-level, dynamic programming language for high-performance computing. The FMM acceleration has been tested in Linux-based machines (including supercomputing HPC clusters). Limited support is provided for MacOs and Windows machines, and we would graciously accept pull requests automating the compilation of the FMM for these architectures (see FLOWExaFMM). Paraview is recommended for visualization of simulations.

Features

  • Fast-multipole acceleration through ExaFMM
  • Threaded CPU parallelization through OpenMP
  • Meshless
  • 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

FLOWVPM is a stand-alone simulation framework, but it has also been integrated and used in the following codes: FLOWUnsteady, SUAVE.

This is an open-source project. Improvements and further development by the community are accepted and encouraged.

Theory and Validation

  • E. J. Alvarez, 2022, Reformulated Vortex Particle Method and Meshless Large Eddy Simulation of Multirotor Aircraft. Doctoral Dissertation, Brigham Young University. [PDF][VIDEO]
  • E. J. Alvarez & A. Ning, 2022, Reviving the Vortex Particle Method: A Stable Formulation for Meshless Large Eddy Simulation. In review. [PDF]
  • E. J. Alvarez, J. Mehr, & A. Ning, 2022, FLOWUnsteady: An Interactional Aerodynamics Solver for Multirotor Aircraft and Wind Energy. AIAA AVIATION 2022 Forum. [PDF]

Sponsors

Pic here

Examples

Turbulent Jet: examples/roundjet/ [VIDEO1] [VIDEO2] Pic here

Vortex Ring Leapfrog: examples/vortexrings/ Pic here

Isolated Vortex Ring: examples/vortexrings/ Pic here

Rotor in Hover: FLOWUnsteady [VIDEO] Pic here

Ring with Toroidal Vorticity: [LINK] [VIDEO] Pic here

eVTOL Aircraft: FLOWUnsteady [VIDEO] Pic here

About

About

Meshless large eddy simulation through the reformulated vortex particle method

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages