The VM2D Open Source Code for Two-Dimensional Incompressible Flow Simulation by Using Fully Lagrangian Vortex Particle Methods
<p>Circumferential velocity induced by Rankine’s and Lamb’s vortices with unit circulation and vorticity distributions; <math display="inline"><semantics> <mi>ϵ</mi> </semantics></math> is Rankine’s vortex radius, Lamb’s vortex parameters are such that more, than 0.998 of total vorticity is inside the <math display="inline"><semantics> <mi>ϵ</mi> </semantics></math>-circle; difference of velocities at <math display="inline"><semantics> <mrow> <mi>r</mi> <mo>/</mo> <mi>ϵ</mi> <mo>></mo> <mn>1</mn> </mrow> </semantics></math> is less than 0.2%.</p> "> Figure 2
<p>Elliptical airfoil with 2:1 semiaxes ratio at angle of incidence <math display="inline"><semantics> <mrow> <mi>α</mi> <mo>=</mo> <mi>π</mi> <mo>/</mo> <mn>6</mn> </mrow> </semantics></math>; discretization is very coarse, number of panels <math display="inline"><semantics> <mrow> <msub> <mi>N</mi> <mi>p</mi> </msub> <mo>=</mo> <mn>28</mn> </mrow> </semantics></math>. Free vortex sheet intensity is shown for potential flow: exact distribution (red), piecewise-constant (green), and piecewise-linear (blue) representations.</p> "> Figure 3
<p>Vortex particles positions in steady-state regime for the Blasius flow.</p> "> Figure 4
<p>Horizontal (<b>a</b>) and vertical (<b>b</b>) velocity profiles for the Blasius flow in the cross-section distant at one-forth from the leading tip (black circles) and the analytical solution (red solid line).</p> "> Figure 5
<p>Symmetric vortex wake development after the impulsively started cylinder up to dimensionless time <math display="inline"><semantics> <mrow> <mover accent="true"> <mi>t</mi> <mo>¯</mo> </mover> <mo>=</mo> <mi>t</mi> <msub> <mi>V</mi> <mo>∞</mo> </msub> <mo>/</mo> <mi>D</mi> <mo>=</mo> <mn>3.0</mn> </mrow> </semantics></math>; <math display="inline"><semantics> <mrow> <mi>Re</mi> <mo>=</mo> <mn>200</mn> </mrow> </semantics></math>.</p> "> Figure 6
<p>Instability development for vortex wake after the cylinder up to dimensionless time <math display="inline"><semantics> <mrow> <mover accent="true"> <mi>t</mi> <mo>¯</mo> </mover> <mo>=</mo> <mi>t</mi> <msub> <mi>V</mi> <mo>∞</mo> </msub> <mo>/</mo> <mi>D</mi> <mo>=</mo> <mn>50.0</mn> </mrow> </semantics></math>; <math display="inline"><semantics> <mrow> <mi>Re</mi> <mo>=</mo> <mn>200</mn> </mrow> </semantics></math>; scheme <math display="inline"><semantics> <msup> <mi mathvariant="script">T</mi> <mn>0</mn> </msup> </semantics></math> is used.</p> "> Figure 7
<p>Calculated hydrodynamic load oscillations for flow simulation around impulsively starting cylinder: the <span class="html-italic">N</span>-scheme and scheme <math display="inline"><semantics> <msup> <mi mathvariant="script">T</mi> <mn>0</mn> </msup> </semantics></math>; <math display="inline"><semantics> <mrow> <mi>Re</mi> <mo>=</mo> <mn>200</mn> </mrow> </semantics></math>.</p> "> Figure 8
<p>Hydrodynamic load oscillations for flow simulation around impulsively starting cylinder: the schemes <math display="inline"><semantics> <msup> <mi mathvariant="script">T</mi> <mn>0</mn> </msup> </semantics></math> and <math display="inline"><semantics> <msup> <mi mathvariant="script">T</mi> <mn>1</mn> </msup> </semantics></math>; <math display="inline"><semantics> <mrow> <mi>Re</mi> <mo>=</mo> <mn>200</mn> </mrow> </semantics></math>.</p> "> Figure 9
<p>Unsteady drag force coefficient for the impulsively started circular cylinder at <math display="inline"><semantics> <mrow> <mi>Re</mi> <mo>=</mo> <mn>3000</mn> </mrow> </semantics></math>.</p> "> Figure 10
<p>Horizontal component of the flow velocity (<b>a</b>) and vortex particles positions (<b>b</b>) in steady-state regime in the channel with backward-facing step; sources and sinks are placed along the left (“inlet”) and right (“outlet”) cross-sections, respectively.</p> "> Figure 11
<p>Class diagram for <tt>VMlib</tt> library and <tt>VM2D</tt> core.</p> "> Figure 12
<p>Flowchart of the algorithm.</p> "> Figure 13
<p>The typical structure of the <tt>problems</tt> file.</p> "> Figure 14
<p>The typical structure of the <tt>passport</tt> file.</p> "> Figure 15
<p>The example of the <tt>copyPath</tt> parameter usage.</p> "> Figure 16
<p>Code for flow around system of airfoils simulation.</p> "> Figure 17
<p>The <tt>mechanics</tt> file structure.</p> "> Figure 18
<p>Angular velocity of Savonius rotor loaded with a torque <math display="inline"><semantics> <mrow> <msub> <mi>M</mi> <mi>z</mi> </msub> <mo>=</mo> <mo>−</mo> <mn>0.25</mn> </mrow> </semantics></math>.</p> "> Figure 19
<p>Vortex wake at the beginning of simulation (left figure, <math display="inline"><semantics> <mrow> <mover accent="true"> <mi>t</mi> <mo>¯</mo> </mover> <mo>=</mo> <mn>6</mn> </mrow> </semantics></math>) and developed vortex wake (right figure, <math display="inline"><semantics> <mrow> <mover accent="true"> <mi>t</mi> <mo>¯</mo> </mover> <mo>=</mo> <mn>32</mn> </mrow> </semantics></math>) around the rotating Savonius rotor (<math display="inline"><semantics> <mrow> <mi>Re</mi> <mo>=</mo> <msup> <mn>10</mn> <mn>5</mn> </msup> </mrow> </semantics></math>).</p> "> Figure 20
<p>Unsteady lift and drag forces for an autorotating rotor; <span class="html-fig-inline" id="axioms-12-00248-i001"><img alt="Axioms 12 00248 i001" src="/axioms/axioms-12-00248/article_deploy/html/images/axioms-12-00248-i001.png"/></span>—<tt>VM2D</tt>, <span class="html-fig-inline" id="axioms-12-00248-i002"><img alt="Axioms 12 00248 i002" src="/axioms/axioms-12-00248/article_deploy/html/images/axioms-12-00248-i002.png"/></span>—<tt>OpenFOAM</tt>.</p> "> Figure 21
<p>Speedup for different number of cores with OpenMP technology for flow simulation with different resolution; <span class="html-italic">N</span> is the approximate number of vortex particles in the wake.</p> "> Figure 22
<p>Speedup for different number of 28-core nodes with the MPI technology for flow simulation with different resolution; <span class="html-italic">N</span> is the average number of vortex particles.</p> "> Figure 23
<p>Speedup for different number of Tesla C2050 GPUs (horizontal axis); <span class="html-italic">N</span> is the average number of vortex particles in the wake.</p> "> Figure 24
<p>Speedup for different number of Tesla A100 GPUs (2, 4, and 6); <span class="html-italic">N</span> is the average number of vortex particles in the wake (horizontal axis).</p> ">
Abstract
:1. Introduction
- External and unbounded flows can be simulated with exact satisfaction of the perturbations decay boundary condition at infinity;
- FSI problems can be considered with arbitrary translations, rotations, and deformations of the streamlined surface;
- The most part of computational resources is “concentrated” in the part of the flow domain with non-zero vorticity; such area is usually rather compact;
- VPM belongs to a class of particle-based methods, where Lagrangian particles are considered as vorticity carriers; it follows therefore that VPM provides rather small numerical diffusion.
2. The Governing Equations
2.1. The Navier-Stokes Equations
2.2. Vorticity and Velocity Fields
2.3. Vorticity Generation
2.4. Fluid-Structure Interaction Problems
3. Vortex Particle Methods
3.1. Brief History of Vortex Methods for 2D Flow Simulation
3.2. Vortex Particle Method Algorithm Based on the VVD Method
3.2.1. Vorticity Representation
3.2.2. Convective Velocity Reconstruction
- The fast method, based on the FFT properties [19].
3.2.3. Vortex Particles Motion
- (1)
- Maximal permitted circulation of the vortex particles is preliminarily specified;
- (2)
- If the absolute value of total vorticity on the particular panel is higher than , the panel is split into the corresponding number of sub-panels (of different lengths for linear vortex sheet intensity representation) containing equal quantity of vorticity, and the markers are placed at the centers of the sub-panels; in the other case, one marker is placed at the center of the whole panel;
- (3)
- For all the markers, Equations (9) are solved at one time step, as the markers are vortex particles with zero circulation;
- (4)
- Vortex particles are placed at final positions of the markers, their circulations are equal to total vorticity on the sub-panels, corresponding to initial positions of the markers.
3.3. Vortex Wake Restructuring
- 1.
- Vortex particles that are located rather far from the airfoil can be excluded from the simulation since they do not practically influence the flow in the near-body region and hydrodynamic loads acting on the airfoil;
- 2.
- Vortex particles that are closer to each other than the preliminary chosen distance are merged (“collapsed”) into one summary particle, but only in case the circulation of the summary particle is smaller than . Note that the merging of the vortex particles with circulations of different signs is preferable to merging of particles of the same sign; so, the merging subroutine is executed twice in the VM2D code: at first for vortex pairs of opposite signs (without control and for merging distance , where factor is chosen equal to 2) and then for vortex pairs of the same sign;
- 3.
- Vortex particles penetration control is required since some of the vortex particles intersect the airfoil’s surface line. Such vortex particles are excluded from the simulation procedure, while their circulations and intersection points are stored in order to “compensate” the loss of vorticity at the next time step and to take into account correctly the influence of additionally generated circulation (at the next time step) on hydrodynamic loads.
3.4. Vorticity Generation on the Airfoil’s Surface Line
3.4.1. The N-Model
3.4.2. The T-Model
- For external flows, when the airfoil counterclockwise traversal coincides with tangent vector direction, the unique solution is picked out by condition (8), as earlier;
3.4.3. BIE Numerical Solution with the T-Schemes
4. The VM2D Code
4.1. General Description of the VM2D Code
- OpenMP for shared memory systems;
- MPI for distributed memory cluster systems (MPI implementation consistent with the compiler, is required even for computations on shared-memory systems);
- NVidia CUDA technology can be optionally used for graphic accelerators.
4.2. The Structure of the VM2D Code
The VMlib Library
- Queue stores the list of problems to be solved, organizes its solution in MPI parallel mode according to the number of required and available processors, it provides the “external” level of MPI-parallelization: different problems can be solved simultaneously on available cluster nodes;
- Task stores the state (in the queue) of the particular problem and its full description (called hereinafter “passport”);
- Parallel stores the properties of the MPI-communicator created for the particular problem and provides the “internal” level of MPI-parallelization according to which the particular problem is solved in parallel mode on several cluster nodes;
- Preprocessor is the tool for input file preprocessing; the result is used as input data for StreamParser;
- StreamParser contains the set of tools for input files (after being preprocessed) parsing; it is used for reading all the parameters and initial data, stored in text files;
- LogStream provides interfaces for the necessary information output (including in parallel mode); note that it is more useful for debugging rather than for typical computations;
- defs defines the namespace that contains default values for some parameters, the necessary mathematical functions, etc.
- numvector is a template class for geometric vector that inherits standard wrapper class std::array<type, n> and defines the most common operations on vectors (including “&” for scalar product, “^” for vector product, “|” for outer product); numvector’s inheritors nummatrix and numtensorX define fixed size matrix and higher rank tensors, respectively, together with the necessary operations;
- Point2D inherits numvector<double, 2> and has the necessary MPI-descriptor;
- Vortex2D stores properties of a vortex particle (its position and circulation) and has the MPI-descriptor.
- WorldGen—the “sandbox” for each problem of flow simulation being solved;
- PassportGen—full definition of the particular problem of flow simulation;
- TimesGen—structures for time statistics assembling and tools for storing to timestat file.
4.3. The Core Library VM2D
The VMcuda Library
- Convective velocities computation at a set of points induced by vortex particles in the vortex wake as well as by free and attached vortex sheets and attached source sheet;
- Diffusive velocities calculation for vortex particles in the vortex wake and “virtual vortices”—vortex particles introduced to model the vorticity transfer from the free vortex sheet to the flow domain;
- The right-hand side computation for the linear system that arises after discretization of the boundary integral equation on the airfoils’ contour lines, which are different depending on the applied numerical scheme;
- Vortex pairs recognizing placed at a rather small distance in the vortex wake for their merging in the framework of vortex wake restructuring algorithm.
4.4. Computational Pipeline
4.5. Problems Description in VM2D
timeStart | = 0.0 | distFar | = 10.0 |
accelVel | = RampLin(1.0) | delta | = 1.0 × 10 |
saveVtx | = ascii(100) | vortexPerPanel | = 1 |
saveVP | = ascii(0) | maxGamma | = 0.0 |
nameLength | = 5 |
- vRef is reference velocity magnitude; it is required in problems without incident flow as a scale for dimensionless parameters, otherwise, it is equal to the magnitude of the incident flow velocity;
- accelVel defines the way of the influence flow acceleration from zero to vInf value; it can take the following values:
- Impulse means that the flow starts instantly (impulsively);
- RampLin(T) means that the flow is accelerated linearly from zero to vInf during T seconds;
- RampCos(T) means that the flow accelerates according to the cosine law from zero to vInf during T seconds;
- saveVtx, saveVP zero values mean that the corresponding files should not be saved at all;
- maxGamma zero value means no limitation for —maximal value of the vortex particles intensity.
- basePoint—point at which the airfoil center should be placed;
- scale—scale factor for the airfoil;
- inverse—boolean switch for internal flow simulation inside the airfoil;
- angle—angle of incidence;
- mechanicalSystem—numerical scheme for coupling strategy implementation in coupled FSI problems.
4.6. Documentation
4.7. Results of Simulation
4.8. Parallelization of Computations
- tMatrRhs—calculating the coefficients of matrix and right-hand side of linear system;
- tSolve—solving the linear system (by Gaussian elimination);
- tConvVelo—calculating convective velocities of vortices;
- tDiffVelo—calculating diffusive velocities of vortices;
- tForce—calculating the hydrodynamic forces acting on the airfoils;
- tVelPres—calculating the velocity and pressure fields in the specified points;
- tMove—calculating new positions of vortex particles;
- tInside—detecting the vortices trapped inside the airfoil after movement;
- tRestr—vortex wake restructuring (merging closely spaced vortices, removing from the simulation of vortices that are too far from the airfoils, etc.);
- tSave—saving data to files.
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Branlard, E. Wind Turbine Aerodynamics and Vorticity-Based Methods: Fundamentals and Recent Applications; Springer: Berlin/Heidelberg, Germany, 2017; 634p. [Google Scholar]
- Cottet, G.-H.; Koumoutsakos, P.D. Vortex Methods: Theory and Practice; CUP: Cambridge, UK, 2000; 313p. [Google Scholar]
- Lewis, R.I. Vortex Element Methods for Fluid Dynamic Analysis of Engineering Systems; CUP: Cambridge, UK, 1991; 566p. [Google Scholar]
- Weissmann, S.; Pinkall, U. Filament-based smoke with vortex shedding and variational reconnection. ACM Trans. Graph. 2010, 29, 115. [Google Scholar] [CrossRef]
- Dynnikova, G.Y. Added mass in a model of a viscous incompressible fluid. Doklady Phys. 2019, 64, 397–400. [Google Scholar] [CrossRef]
- Leonard, A. Vortex methods for flow simulation. J. Comput. Phys. 1980, 37, 289–335. [Google Scholar] [CrossRef]
- Mimeau, C.; Mortazavi, I. A review of vortex methods and their applications: From creation to recent advances. Fluids 2021, 6, 68. [Google Scholar] [CrossRef]
- Sarpkaya, T. Computational Methods With Vortices—The 1988 Freeman Scholar Lecture. J. Fluid Eng. 1989, 111, 5–52. [Google Scholar] [CrossRef]
- Lighthill, M.J. Introduction. Boundary layer theory. In Laminar Boundary Layers; Rosenhead, J., Ed.; Oxford University Press: New York, NY, USA, 1963; pp. 54–61. [Google Scholar]
- vvflow: CFD Software for Performing Flow Simulations with Viscous Vortex Domains (VVD) Method. Available online: https://github.com/vvflow (accessed on 29 December 2022).
- Dynnikova, G.Y. The Lagrangian approach to solving the time-dependent Navier—Stokes equations. Doklady Phys. 2004, 49, 648–652. [Google Scholar] [CrossRef]
- Omega2D: Two-Dimensional Flow Solver with GUI Using Vortex Particle and Boundary Element Methods. Available online: Https://github.com/Applied-Scientific-Research/Omega2D (accessed on 29 December 2022).
- Omega3D: 3D Flow Solver with GUI Using Vortex Particle and Boundary Element Methods. Available online: Https://github.com/Applied-Scientific-Research/Omega3D (accessed on 29 December 2022).
- Stock, M.; Gharakhani, A. Open source accelerated vortex particle methods for unsteady flow simulation. In Proceedings of the ASME 2020 Fluids Engineering Division Summer Meeting, Orlando, FL, USA, 12–16 July 2020. [Google Scholar] [CrossRef]
- FLOW Unsteady Aerodynamics Suite. Available online: https://github.com/byuflowlab/FLOWUnsteady (accessed on 29 December 2022).
- Alvarez, E.J.; Ning, A. Development of a vortex particle code for the modeling of wake interaction in distributed propulsion. In Proceedings of the 2018 Applied Aerodynamics Conference, Atlanta, Georgia, 25–29 June 2018. [Google Scholar] [CrossRef]
- Chair of Modelling and Simulation of Structures. Prof. Dr. Guido Morgenthal. Available online: Https://www.uni-weimar.de/en/civil-engineering/chairs/modelling-and-simulation-of-structures/software/ (accessed on 29 December 2022).
- Chorin, A.J. Numerical study of slightly viscous flow. J. Fluid. Mech. 1973, 57, 785–796. [Google Scholar] [CrossRef]
- Morgenthal, G.; Walther, J.H. An immersed interface method for the Vortex-In-Cell algorithm. Comp. Struct. 2007, 85, 712–726. [Google Scholar] [CrossRef]
- Morgenthal, G. Aerodynamic Analysis of Structures Using High-Resolution Vortex Particle Methods. Ph.D. Thesis, University of Cambridge, Cambridge, UK, 2002. [Google Scholar]
- VM2D: Vortex Method for 2D Flow Simulation. Available online: https://github.com/vortexmethods/VM2D (accessed on 29 December 2022).
- Milne-Thomson, L.M. Theoretical Hydrodynamics; Macmillan and Co.: London, UK, 1938; 552p. [Google Scholar]
- Dynnikova, G.Y. Vortex motion in two-dimensional viscous fluid flows. Fluid Dyn. 2003, 38, 670–678. [Google Scholar] [CrossRef]
- Guvernyuk, S.; Dynnikova, G. Modeling the flow past an oscillating airfoil by the method of viscous vortex domains. Fluid Dyn. 2007, 42, 1–11. [Google Scholar] [CrossRef]
- Markov, V.V.; Sizykh, G.B. Vorticity evolution in liquids and gases. Fluid Dyn. 2015, 50, 186–192. [Google Scholar] [CrossRef]
- Ogami, Y.; Akamatsu, T. Viscous flow simulation using the discrete vortex model—the diffusion velocity method. Comput. Fluids 1991, 19, 433–441. [Google Scholar] [CrossRef]
- Dynnikova, G.Y. An analog of the Bernoulli and Cauchy—Lagrange integrals for a time-dependent vortex flow of an ideal incompressible fluid. Fluid Dyn. 2000, 35, 24–32. [Google Scholar] [CrossRef]
- Dynnikova, G.Y. General expression of aerodynamic force under different boundary conditions (slip, partial slip, no-slip). Phys. Fluids 2021, 33, 063104. [Google Scholar] [CrossRef]
- Dynnikova, G.Y. The integral formula for pressure field in the nonstationary barotropic flows of viscous fluid. J. Math. Fluid Mech. 2014, 16, 145–162. [Google Scholar] [CrossRef]
- Dynnikova, G.Y.; Andronov, P.R. Expressions of force and moment exerted on a body in a viscous flow via the flux of vorticity generated on its surface. Eur. J. Mech. B Fluids 2018, 72, 293–300. [Google Scholar] [CrossRef]
- Kempka, S.N.; Glass, M.W.; Peery, J.S.; Strickland, J.H.; Ingber, M.S. Accuracy considerations for implementing velocity boundary conditions in vorticity formulations. SANDIA Rep. 1996, 0583, 1–53. [Google Scholar] [CrossRef]
- Morino, L. Helmholtz decomposition revisited: Verticity generation and trailing edge condition. Comput. Mech. 1986, 1, 65–90. [Google Scholar] [CrossRef]
- Wu, J.C.; Thompson, J.F. Numerical solutions of time-dependent incompressible Navier—Stokes equations using an integro-differential formulation. Comput. Fluids 1973, 1, 197–215. [Google Scholar] [CrossRef]
- Anderson, C.R. Vorticity boundary conditions and boundary vorticity generation for two-dimensional viscous incompressible flows. J. Comput. Phys. 1989, 80, 72–97. [Google Scholar] [CrossRef]
- Gresho, P.M. Some interesting issues in incompressible fluid dynamics, both in the continuum and in numerical simulation. Adv. Appl. Mech. 1992, 28, 45–140. [Google Scholar] [CrossRef]
- Batchelor, G.K. An Introduction to Fluid Dynamics; Cambridge University Press: Cambridge, UK, 1967; 615p. [Google Scholar]
- Meleshko, V.V.; Konstantinov, M.Y. Dynamics of Vortex Structures; Naukova Dumka: Kiev, Ukraine, 1993; 279p. (In Russian) [Google Scholar]
- Cauchy, A.-L. Rèsumè des Leçons Sur le Calcul Infinit`’Esimal; Paris, France, 1823; 172p. [Google Scholar]
- Gakhov, F.D. Boundary Value Problems; Pergamon Press: Oxford, UK, 1966; 584p. [Google Scholar]
- Lifanov, I.K. Singular Integral Equations and Discrete Vortices. VSP: Utrecht, The Netherlands, 1996; 475p. [Google Scholar]
- Colton, D.; Kress, R. Integral Equation Methods in Scattering Theory; Interscience Publishers: New York, NY, USA, 1983; 290p. [Google Scholar]
- Andronov, P.R.; Grigorenko, D.A.; Guvernyuk, S.V.; Dynnikova, G.Y. Numerical simulation of plate autorotation in a viscous fluid flow. Fluid Dyn. 2007, 42, 719–731. [Google Scholar] [CrossRef]
- Stock, M.J. Summary of Vortex Methods Literature (a Living Document Rife with Opinion). Available online: Http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.133.1239 (accessed on 29 December 2022).
- Tokaty, G. A History and Philosophy of Fluid Mechanics; Courier Corporation: Dover, UK, 1994. [Google Scholar]
- Rosenhead, R.; Jeffreys, H. The formation of vortices from a surface of discontinuity. Proc. Math. Phys. Eng. Sci. 1931, 134, 170–192. [Google Scholar] [CrossRef]
- Falkner, V.M. The scope and accuracy of vortex lattice theory. Aero. Res. Counc. Lond. Rep. Mem. 1952, 2740, 30. [Google Scholar]
- Belotserkovsky, S.M.; Lifanov, I.K. Method of Discrete Vortices; CRC Press: Boca Raton, FL, USA, 1993; 464p. [Google Scholar]
- Beale, J.T.; Majda, A. High order accurate vortex methods with explicit velocity kernels. J. Comput. Phys. 1985, 58, 188–208. [Google Scholar] [CrossRef]
- Beale, J.T.; Majda, A. Vortex methods II: Higher order accuracy in two and three dimensions. Math. Comput. 1982, 29, 29–52. [Google Scholar] [CrossRef]
- Mycek, P.; Pinon, G.; Germain, G.; Rivoalen, E. Formulation and analysis of a diffusion-velocity particle model for transport-dispersion equations. Comput. Appl. Math. 2014, 35, 447–473. [Google Scholar] [CrossRef]
- Alvarez, E.J.; Ning, A. Reviving the vortex particle method: A stable formulation for meshless large eddy simulation. arXiv 2022, arXiv:2206.03658. [Google Scholar]
- Kuzmina, K.S.; Marchevskii, I.K. On the calculation of the vortex sheet and point vortices effects at approximate solution of the boundary integral equation in 2D vortex methods of computational hydrodynamics. Fluid Dyn. 2019, 54, 991–1001. [Google Scholar] [CrossRef]
- Kuzmina, K.S.; Marchevskii, I.K.; Moreva, V.S. Vortex sheet intensity computation in incompressible flow simulation around an airfoil by using vortex methods. Math. Models. Comput. Simul. 2018, 10, 276–287. [Google Scholar] [CrossRef]
- Kuzmina, K.S.; Marchevskii, I.K.; Moreva, V.S.; Ryatina, E.P. Numerical scheme of the second order of accuracy for vortex methods for incompressible flow simulation around airfoils. Russ. Aeronaut. 2017, 60, 398–405. [Google Scholar] [CrossRef]
- Marchevskii, I.K.; Sokol, K.S.; Izmailova, Y.A. T-schemes for mathematical modelling of vorticity generation on smooths airfoils in vortex particle methods. Her. Bauman Mosc. State Tech. Univ. Ser. Nat. Sci. 2022, 6, 33–59. (In Russia) [Google Scholar] [CrossRef]
- Barnes, J.; Hut, P. A hierarchical O(NlogN) force-calculation algorithm. Nature 1986, 324, 446–449. [Google Scholar] [CrossRef]
- Dynnikova, G.Y. Fast technique for solving the N-body problem in flow simulation by vortex methods. Compu. Math. Math. Phys. 2009, 49, 1389–1396. [Google Scholar] [CrossRef]
- Greengard, L. The Rapid Evaluation of Potential Fields in Particle Systems. Ph.D. Thesis, Yale University, New Haven, CT, USA, 1988; 101p. [Google Scholar]
- Greengard, L.; Rokhlin, V. A fast algorithm for particle simulations. J. Comput. Phys. 1987, 73, 325–348. [Google Scholar] [CrossRef]
- Ryatina, E.; Lagno, A. The Barnes—Hut-type algorithm in 2D Lagrangian vortex particle methods. J. Phys. Conf. Ser. 2021, 1715, 012069. [Google Scholar] [CrossRef]
- Lamb, H. Hydrodynamics; CUP: Cambridge, UK, 1932; 738p. [Google Scholar]
- Ingber, M.S.; Kempka, S.N. A Galerkin implementation of the generalized Helmholtz decomposition for vorticity formulations. J. Comput. Phys. 2001, 169, 215–237. [Google Scholar] [CrossRef]
- Mikhailov, E.A.; Marchevskii, I.K.; Kuzmina, K.S. Iterative approach to solving boundary integral equations in the two-dimensional vortex methods of computational hydrodynamics. J. Appl. Ind. Math. 2019, 13, 672–684. [Google Scholar] [CrossRef]
- Kuzmina, K.; Marchevsky, I.; Ryatina, E. Exact solutions of boundary integral equation arising in vortex methods for incompressible flow simulation around elliptical and Zhukovsky airfoils. J. Phys. Conf. Ser. 2019, 1348, 012099. [Google Scholar] [CrossRef]
- Kuzmina, K.S.; Marchevsky, I.K.; Moreva, V.S. On vortex sheet intensity computation for airfoils with angle point in vortex methods. Int. J. Mech. Eng. Tech. 2018, 9, 799–809. [Google Scholar]
- Kuzmina, K.; Marchevsky, I.; Moreva, V.; Ryatina, E. Cost-efficient numerical schemes for the boundary integral equation solution in 2D vortex methods. J. Phys. Conf. Ser. 2019, 1348, 012100. [Google Scholar] [CrossRef]
- Soldatova, I.A.; Marchevsky, I.K.; Kuzmina, K.S. Accurate solution of the boundary integral equation in 2D Lagrangian vortex method for flow simulation around curvilinear airfoils. In Proceedings of the 6th International Conference on Particle-Based Methods, Hannover, Germany, 28–30 October 2019; pp. 115–126. [Google Scholar]
- Pepin, F.M. Simulation of the Flow Past an Impulsively Started Cylinder Using a Discrete Vortex Method. Ph.D. Thesis, California Institute of Technology, Pasadena, CA, USA, 1990. [Google Scholar]
- Shankar, S. A New Mesh-Free Vortex Method. Ph.D. Thesis, FAMU-FSU College of Engineering, Tallahassee, FL, USA, 1996. [Google Scholar]
- Anderson, C.B.; Reider, M.B. A high order explicit method for the computation of flow about a circular cylinder. J. Comput. Phys. 1996, 125, 207–224. [Google Scholar] [CrossRef]
- Koumoutsakos, P.; Leonard, A. High-resolution simulations of the flow around an impulsively started cylinder using vortex methods. J. Fluid Mech. 1995, 296, 1–38. [Google Scholar] [CrossRef]
- Ploumhans, P.; Winckelmans, G.S. Vortex methods for high-resolution simulations of viscous flow past bluff bodies of general geometry. J. Comput. Phys. 2000, 165, 354–406. [Google Scholar] [CrossRef]
- Lakkis, I.; Ghoniem, A. A high resolution spatially adaptive vortex method for separating flows. Part I: Two-dimensional domains. J. Comput. Phys. 2009, 228, 491–515. [Google Scholar] [CrossRef]
- Liu, Z.; Kopp, G.A. High-resolution vortex particle simulations of flows around rectangular cylinders. Comp. Fluids. 2011, 40, 2–11. [Google Scholar] [CrossRef]
- Dergachev, S.A.; Marchevsky, I.K.; Shcheglov, G.A. Flow simulation around 3D bodies by using Lagrangian vortex loops method with boundary condition satisfaction with respect to tangential velocity components. Aerosp. Sci. Technol. 2019, 94, 105374. [Google Scholar] [CrossRef]
- Marchevsky, I.K.; Shcheglov, G.A. Double layer potential density reconstruction procedure for 3D vortex methods. Lect. Notes Comput. Sci. Eng. 2020, 132, 287–295. [Google Scholar] [CrossRef]
- Burtscher, M.; Pingali, K. Chapter 6—An efficient CUDA implementation of the tree-based Barnes Hut n-body algorithm. In GPU Computing Gems Emerald Edition; Applications of GPU Computing Series; Morgan Kaufmann Publishers: Burlington, MA, USA, 2011; pp. 75–92. [Google Scholar] [CrossRef]
- Nasef, M.H.; El-Askary, W.A.; AbdEL-hamid, A.A.; Gad, H.E. Evaluation of Savonius rotor performance: Static and dynamic studies. J. Wind Eng. Ind. Aerodyn. 2013, 123, 1–11. [Google Scholar] [CrossRef]
- Savonius, S.J. The S-rotor and its application. J. Mech. Eng. 1931, 53, 333–338. [Google Scholar]
- Sheldahl, R.E.; Blackwell, B.F.; Feltz, L.V. Wind tunnel performance data for two- and three-bucket Savonius rotors. J. Energy 1978, 2, 160–164. [Google Scholar] [CrossRef]
- Kuzmina, K.; Marchevsky, I.; Soldatova, I.; Izmailova, Y. On the scope of Lagrangian vortex methods for two-dimensional flow simulations and the POD technique application for data storing and analyzing. Entropy 2021, 23, 118. [Google Scholar] [CrossRef] [PubMed]
- Lumley, J.L. The structure of inhomogeneous turbulent flows. In Atmospheric Turbulence and Radio Wave Propagation; Yaglom, A.M., Tartarsky, V.I., Eds.; Nauka Publishing House: Moscow, Russia, 1967; pp. 166–178. [Google Scholar]
Code Name | vvflow | Omega2D | VXflow | VM2D |
---|---|---|---|---|
Open-source | 2018 | 2018 | — | 2017 |
Problems | FSI problems | immovable | 2D and quasi-3D | FSI problems |
for systems of | airfoils, | problems of | for systems of | |
non-deformable | visualization | industrial aerodyn. | non-deformable | |
movable airfoils | of buildings | movable airfoils | ||
Viscous | viscous vortex | adaptive | random | viscous vortex |
term | domains method | vorticity | walk | domains method |
approximation | (based on diffusive | redistribution | method | (based on diffusive |
velocity method) | method (VRM) | velocity method) | ||
Velocity | Barnes–Hut | Biot–Savart | FFT-based | Biot–Savart |
computation | method | method | method | method |
method | ||||
Parallelization | CPU | CPU | CPU+GPU | CPU+GPU |
OpenMP | OpenMP | OpenCL | OpenMP+MPI+CUDA |
Class Name | Brief Description |
---|---|
World2D | inherits the WorldGen class and describes all the properties and current state of the particular problem from the queue; the instance of this class is the “sandbox” for numerical simulation in 2D problems |
Passport | inherits the PassportGen class and stores full definition of the particular 2D problem (its “passport”) |
Airfoil | abstract class which describes the geometry of the airfoil |
Sheet | determines attached and free vortex sheets and attached source sheets which are placed on airfoils’ surface lines |
Boundary | abstract class that determines the numerical scheme being used for integral equation solution with respect to unknown free vortex sheet intensity |
WakeDatabase | defines the structure for the database, containing the properties of a set of vortex particles (as well as point sources if they are considered); this class is the parent class for the following two classes: Wake that describes the vortex wake in the flow domain; VirtualWake describes vortex particle markers introduced to provide improved transferring of vorticity generated in thin vortex sheet on the airfoil’s surface line into the flow domain. |
Velocity | abstract class that determines the numerical scheme for velocities computation in the flow domain |
MeasureVP2D | contains the subroutines and tools for velocity and pressure fields reconstruction in preliminarily specified points in the flow domain |
Mechanics | abstract class that determines the hydroelastic problem and the coupling scheme for its numerical solution |
Times | inherits the TimesGen class and adds it with the necessary members for time statistics assembling in 2D problems |
Gpu | provides the possibility to perform calculations on GPU by using the Nvidia CUDA technology |
Class Name | Brief Description |
---|---|
For classAirfoil | |
Rect | airfoil which surface line is approximated by rectilinear panels |
Curv | airfoil which surface line is approximated by curvilinear panels |
For classBoundary | |
VortexColloc | vortex sheet representation with separate vortex particles, -scheme, corresponds to the Method of Discrete Vortices for singular integral Equation (10) solution |
ConstLayerAver | piecewise-constant vortex sheet intensity approximation, numerical scheme for Fredholm-type integral Equation (11) solution |
LinLayerAver | discontinuous piecewise-linear vortex sheet intensity approximation, numerical scheme for Fredholm-type integral Equation (11) solution |
For classVelocity | |
BiotSavart | direct velocity computation by using the Biot–Savart law; complexity |
BarnesHut | fast Barnes–Hut/multipole method based on the hierarchical tree construction and traversal; numerical complexity |
For classMechanics | |
RigidImmovable | flow simulation around rigid immovable airfoil |
RigidGivenLaw | flow simulation around rigid airfoil at its arbitrary prescribed motion according to the given law |
RigidOscillPart | FSI problem for a rigid airfoil with elastic constraints moving perpendicular to the flow |
RigidRotatePart | flow simulation for a rigid airfoil that rotates under the action of hydrodynamic forces |
tStep | tMatrRhs | tConvVelo | tDiffVelo | tInside | tRestr | tOthers | |
---|---|---|---|---|---|---|---|
fraction, % | 100 | ||||||
, sec. | |||||||
, sec. | |||||||
GPU | Quadro P2000 | Geforce GTX 970 | Tesla C2050 | Tesla V100 | Tesla A100 |
---|---|---|---|---|---|
Multiproc. | 8 | 13 | 14 | 80 | 108 |
CUDA-cores | 1024 | 1664 | 448 | 5120 | 6912 |
GFlops, double | 94 | 123 | 515 | 7450 | 9700 |
T, sec. | 27.1 | 25.7 | 19.5 | 0.97 | 0.85 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Marchevsky, I.; Sokol, K.; Ryatina, E.; Izmailova, Y. The VM2D Open Source Code for Two-Dimensional Incompressible Flow Simulation by Using Fully Lagrangian Vortex Particle Methods. Axioms 2023, 12, 248. https://doi.org/10.3390/axioms12030248
Marchevsky I, Sokol K, Ryatina E, Izmailova Y. The VM2D Open Source Code for Two-Dimensional Incompressible Flow Simulation by Using Fully Lagrangian Vortex Particle Methods. Axioms. 2023; 12(3):248. https://doi.org/10.3390/axioms12030248
Chicago/Turabian StyleMarchevsky, Ilia, Kseniia Sokol, Evgeniya Ryatina, and Yulia Izmailova. 2023. "The VM2D Open Source Code for Two-Dimensional Incompressible Flow Simulation by Using Fully Lagrangian Vortex Particle Methods" Axioms 12, no. 3: 248. https://doi.org/10.3390/axioms12030248