Smoothed Particle Hydrodynamics (SPH) is a popular particle-based fluid simulation
technique with its wide application area ranging from the entertainment
industry (e.g., movies, video games, commercials) to scientific research fields
(e.g., medical simulations, dam and flood simulations, petroleum research). As
the method has been gaining increased interest, simulation scenarios have been
becoming more diverse and more complex. However, surface extraction from
particle-based fluid data still remains as one of the bottlenecks due to large
computation time and memory consumption requirements, and also because of
difficulties in achieving smooth and detailed surfaces. This thesis presents some
new techniques that focus on achieving high quality SPH surfaces efficiently.
The thesis starts by reviewing techniques regarding the simulation and
surface reconstruction for SPH fluids. Those surface reconstruction techniques
predominantly focus on essentials of the field, e.g., lowering memory consumption
and computation time, increasing the surface quality or both.
Next, we present a novel parallel algorithm so as to improve the performance
of time consuming scalar field construction step. Our method scales nearly
linearly on multi-core CPUs and up to fifty times faster on GPUs compared to
the original scalar field construction approaches. The method scales with the
fluid surface instead of its volume by constructing the scalar field only in the
narrow band region where the fluid surface actually lies. Therefore, the method
works efficiently even on single-core CPUs. Furthermore, we present some values
for an efficient parameter setup which affect the final quality of the reconstructed
surface.
In our next contribution, we focus on achieving smooth and detailed fluid
surfaces within a reasonable time. Thus, we propose to use a method, based on
post-processing of surface meshes, that is applicable to particle position data sets
in a frame by frame basis. Our method combines existing scalar field computation
techniques with two post-processing steps: decimation and subdivision. This is
motivated by an improved representation of smaller surface details, reduction of
bumps in flat regions, reduced overall computation time and reduced memory
consumption. Our results demonstrate that in comparison to other approaches
with comparable surface quality, our pipeline runs up to twenty times faster with
up to 80% less memory and secondary storage consumption.
Finally, we present an adaptive spatial data structure, which adapts its cells
according to the surface curvature. Low curvature regions are handled in low
resolution cells with fewer triangles, while high curvature regions are represented
with more triangles using high resolution cells, which helps to preserve surface
details. Mesh blocks from different resolution cells are seamlessly stitched by
closing cracks with new triangles. Our method produces similar results with
less number of triangles, up to four times better memory consumption, and up
to 60% better performance when compared to the single level high resolution
uniform grid approach.
Throughout this thesis, we present various comparisons of our methods with
previous approaches in the literature in order to highlight the benefits of our
approaches. Visual comparisons and performance comparisons are given at the
end of each corresponding chapter together with their explanations. |