Coder Social home page Coder Social logo

flowvpm.jl's Introduction

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

flowvpm.jl's People

Contributors

edoalvarezr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

flowvpm.jl's Issues

MPI parallel processing

“Single-node CPU parallel processing through OpenMPI”
I don't find mpi in the code,what is the default number of cores used by VPM?
How should I change the number of cores used by VPM?

thank u very much!!

About precompile FLOWExaFMM before using FLOWVPM

When I try to precompile FLOWExaFMM, something wrong like this:

[ Info: Precompiling FLOWExaFMM [a07d1f4e-0e34-4d8b-bfef-e5b961477d34]
ERROR: LoadError: could not load library "C:\Users\G.julia\packages\FLOWExaFMM\SwcNX\src\fmm"
The specified module could not be found.

What should I do next?
Thank you so much!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.