- Smoothed particle hydrodynamics
Smoothed particle hydrodynamics (SPH) is a computational method used for simulating
fluid flows. It has been used in many fields of research, includingastrophysics ,ballistics ,vulcanology andoceanology . It is a mesh-free Lagrangian method (where the co-ordinates move with the fluid), and the resolution of the method can easily be adjusted with respect tovariable s such as thedensity .Method
The smoothed particle hydrodynamics (SPH) method works by dividing the fluid into a set of discrete elements, referred to as particles. These particles have a spatial distance (known as the "smoothing length", typically represented in equations by ), over which their properties are "smoothed" by a "kernel function". This means that any physical quantity of any particle can be obtained by summing the relevant properties of all the particles which lie within the range of the kernel. For example, using Monagahan's popular cubic spline kernel the
temperature of particle depends on the temperatures of all the particles within a radial distance of particle .The contributions of each particle to a property are weighted according to their distance from the particle of interest, and their density. Mathematically, this is governed by the kernel function (symbol ). Kernel functions commonly used include the
Gaussian function and thecubic spline . The latter function is exactly zero for particles further away than two smoothing lengths (unlike the Gaussian, where there is a small contribution at any finite distance away). This has the advantage of saving computational effort by not including the relatively minor contributions from distant particles.The equation for any quantity at any point is given by the equation
:
where is the
mass of particle j, is the value of the quantity "A" for particle "j", is thedensity associated with particle "j", denotes position and "W" is the kernel function mentioned above. For example, the density of particle () can be expressed as::
where the summation over includes all particles in the simulation.
Similarly, the spatial derivative of a quantity can be obtained by using
integration by parts to shift thedel () operator from the physical quantity to the kernel function,:
Although the size of the smoothing length can be fixed in both
space andtime , this does not take advantage of the full power of SPH. By assigning each particle its own smoothing length and allowing it to vary with time, the resolution of a simulation can be made to automatically adapt itself depending on local conditions. For example, in a very dense region where many particles are close together the smoothing length can be made relatively short, yielding high spatial resolution. Conversely, in low-density regions individual particles are far apart and the resolution is low, optimising the computation for the regions of interest. Combined with anequation of state and anintegrator , SPH can simulate hydrodynamic flows efficiently. However, the traditional artificial viscosity formulation used in SPH tends to smear out shocks and contact discontinuities to a much greater extent than state-of-the-art grid-based schemes.The Lagrangian-based adaptivity of SPH is analogous to the adaptivity present in grid-based
adaptive mesh refinement codes, though in the latter case one can refine the mesh spacing according to any criterion selected by the user. Because it is Lagrangian in nature, SPH is limited to refining based on density alone.Often in astrophysics, one wishes to model self-gravity in addition to pure hydrodynamics. The particle-based nature of SPH makes it ideal to combine with a particle-based gravity solver, for instance
tree gravity , particle mesh, or particle-particle particle-mesh.tabilization
As demonstrated in Ata et al. [Ata R., Soulaïmani A. A stabilized SPH method for inviscid shallow water flows. ] , the SPH scheme is centered and consequently numerically unstable. An upwinding of the scheme is necessary to evoid the apparition of spurious modes and to ensure an optimal shock-capturing when simulating problems involving discontinuous solutions. In general, the upwinding term is called "artificial viscosity". It has a diffusive effects seen especially at the shock locations. To obtain the expression of this artificial viscosity, several approaches could be used. Following Ata's method, a simple analogy with Riemann solvers upwinging theories, the viscosity could be written as a function of the relative velocity between two neighbour particles, their space locations and the wave velocity (sound celerity for solid applications). See the up-mentioned article for more détails.
Uses in astrophysics
The adaptive resolution of smoothed particle hydrodynamics, combined with its ability to simulate phenomena covering many orders of magnitude, make it ideal for computations in
theoretical astrophysics .Simulations of
galaxy formation ,star formation , stellar collisions,supernovae andmeteor impacts are some of the wide variety of astrophysical and cosmological uses of this method.Generally speaking, SPH is used to model hydrodynamic flows, including possible effects of
gravity . Incorporating other astrophysical processes which may be important, such asradiative transfer and magnetic fields is an active area of research in the astronomical community, and has had some limited success.Uses in fluid simulation
Smoothed particle hydrodynamics is being increasingly used to model fluid motion as well. This is due to several benefits over traditional grid-based techniques. First, SPH guarantees conservation of mass without extra computation since the particles themselves represent mass. Second, SPH computes pressure from weighted contributions of neighboring particles rather than by solving linear systems of equations. Finally, unlike grid-base technique which must track fluid boundaries, SPH creates a free surface for two-phase interacting fluids directly since the particles represent the denser fluid (usually water) and empty space represents the lighter fluid (usually air). For these reasons it is possible to simulate fluid motion using SPH in real time. However, both grid-based and SPH techniques still require the generation of renderable free surface geometry using a polygonization technique such as metaballs and marching cubes,
point splatting , or "carpet" visualization. For gas dynamics it is more appropriate to use the kernel function itself to produce a rendering of gas column density (e.g. as done in the SPLASH visualisation package).One drawback over grid-based techniques is the need for large numbers of particles to produce simulations of equivalent resolution. In the typical implementation of both uniform grids and SPH particle techniques, many voxels or particles will be used to fill water volumes which are never rendered. However, accuracy can be significantly higher with sophisticated grid-based techniques, especially those coupled with particle methods (such as particle level sets).
For non-critical applications, such as games and film, performance and visual realism may be favored over accuracy. Muller et. al uses SPH to simulate water flowing into a glass at 5 fps with several thousand particles. Kipfer and Westermann (Technical University at Munich, Germany) use SPH to simulate rivers at speeds as fast as 4.5s for computation per time step. More recently, Takahiro et al. use modern GPUs (GeForce 8800 GTX) to simulate 49,153 particles at 17 fps. [Harada, Takahiro et al. Real-Time Particle-Based simulation on GPUs] . Nvidia presented real-time fluid simulation using CUDA for modern GPUs at GDC 2008. [http://developer.download.nvidia.com/presentations/2008/GDC/GDC08_ParticleFluids.pdf] .
Developments in SPH fluid simulation
CPU (Muller), 2003: 3000 particles, 5 fps
GPU (Harada), 2007: 49,000 particles, 17 fps
GPU (Nvidia), 2008: 65,000 particles, >100 fpsUses in solid mechanics
More recently SPH has been used to study impact fracture in solids. The work of William G. Hoover in promoting these applications is notable.
References
* [1] J.J. Monaghan, "An introduction to SPH," Computer Physics Communications, vol. 48, pp. 88-96, 1988.
* [2] Hoover, W. G. (2006). Smooth Particle Applied Mechanics, World Scientific.
* [3] Ata R., Soulaïmani A. A stabilized SPH method for inviscid shallow water flows. Int. J. Numer. Meth. Fluids. Vol. 47(2), Pages 139 - 159
* [4] [http://adsabs.harvard.edu/abs/1994MmSAI..65.1117S Impact Modelling with SPH (Invited Review)] Stellingwerf, R. F., Wingate, C. A., Memorie della Societa Astronomia Italiana, Vol. 65, p.1117 (1994).External links
* [http://www.ukaff.ac.uk/starcluster First large simulation of star formation using SPH]
* [http://wiki.manchester.ac.uk/spheric SPHERIC (SPH European Research Interest Community)]
* [http://wwwas.oats.inaf.it/IA2/ITVO/ ITVO] is the web-site of The Italian Theoretical Virtual Observatory created to query a database of numerical simulation archive.
* [http://www.stellingwerf.com/rfs-bin/index.cgi?action=PageView&id=33 SPHC Image Gallery] depicts a wide variety of test cases, experimental validations, and commercial applications of the SPH code SPHC.oftware
* [http://www.rchoetzlein.com/art/ FLUIDS v.1] is a simple, open source (LGPL), real-time 3D SPH implementation in C++ for liquids
*GADGET [http://www.mpa-garching.mpg.de/galform/gadget/ ] is a freely available code for cosmological N-body/SPH simulations
* [http://www.astro.ex.ac.uk/people/dprice/splash SPLASH] is a freely available visualisation tool for SPH simulations
* [http://wiki.manchester.ac.uk/sphysics/index.php/SPHYSICS_FAQ SPHysics] is an open source SPH implementation in Fortran
* [http://pal.sourceforge.net/ Physics Abstraction Layer] is an open source abstraction system that supports real time phyisics engines with SPH support
Wikimedia Foundation. 2010.