GridPotentialFlow.jl

A set of tools to solve potential flows past bodies on a Cartesian grid.

The objective of this package is to allow easy setup and fast simulation of potential flows. The package provides tools for

  • constructing grids, body shapes, and point vortices,
  • specifying the relevant parameters and setting their values,
  • specifying the edges where shedding occurs and setting their suction parameter,
  • solving the problem.

The underlying grids are uniform and Cartesian, making use of the CartesianGrids package. This package allows the use of the lattice Green's function (LGF) for inverting the Poisson equation. The presence of bodies is accounted for using the immersed boundary projection method, originally developed for viscous flow by Taira and Colonius [1]. The potential flow system with the no-penetration condition, any edge conditions, and Kelvin's circulation theorem is implemented with the ConstrainedSystems package. Tools for creating bodies are based on the RigidBodyTools package. The vortex dynamics are computed using the vortex-in-cell method of Christiansen [2]. For more details, please refer to Beckers, D. and Eldredge, J. D. (2021) "Planar potential flow on Cartesian grids," [arXiv:2102.11910].

vortexshedding

The plots in this documentation are generated using Plots.jl. You might want to install that, too, to follow the examples.

References

  • 1Taira, K. and Colonius, T. (2007) "The immersed boundary method: a projection approach," J. Comput. Phys., 225, 2118–2137.
  • 2Christiansen, J. (1973) "Numerical simulation of hydrodynamics by the method of point vortices," J. Comput. Phys., 13, 363–379.