Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/86579
Título: | Data structure centered SPH performance evaluation |
Autor(es): | Barbosa, Paulo Alexandre Ferreira |
Orientador(es): | Fernandes, António Ramires |
Palavras-chave: | Fluid simulation Smoothed-particle hydrodynamics SPH Particle-based method Hash map Z-order Data structures Simulação de fluidos Método baseado em partículas Estruturas de dados |
Data: | 21-Mar-2022 |
Resumo(s): | Smoothed-particle Hydrodynamics (SPH) is a particle-based simulation considered by many to be the main
candidate for fluid simulation. This model was developed by R.A. Gingold and J.J. Monaghan in 1977 and had
the purpose of solving astrophysical problems. Over the years, Monaghan has revisited SPH (1985, 1988, 1992
and so on) and it also gained traction with other researchers who discovered new applications for the model such
as ballistics, volcanology, oceanography, and so on. Among the fields there is one we are particularly interested
in, and that is Fluid Simulation.
This work aims to implement SPH using efficient data structures that allow a real-time simulation to run on the
Graphics Processing Unit (GPU). According to the literature, the z-order indexing method and the hash map are
the most suitable structures for this purpose. It is intended to see its impact and in which situations one will be
better suited to use than the other.
With said implementation, several tests were performed in order to analyze the robustness and stability of the
method. With these tests it was possible to compare the two data structures used.
The implemented SPH showed realistic and robust results in most cases, being able to handle multiple scenes
of varying levels of complexity. Despite the good results, it showed some difficulties in maintaining stability in
some boundaries (boundaries with great curvature or sharp edges) and also showed some difficulties in scenes
with two fluids with different densities.
As for the data structures, it was possible to observe that both are efficient and support real-time simulations
with more than 1 million particles (using a NVIDIA RTX 3080). In the case of z-order, it proved to be the method
with the best performance when compared to the hash map under the same conditions, that is, scenes with the
same number of particles and the same simulation volume. This is due to the larger data locality that z-order has.
On the other hand the hash map was a bit slower (when compared with the z-order under the same conditions)
but allowed for greater freedom when creating a scene. When comparing the two methods with the same number
of particles but different simulation volumes we can see that the hash map catches up with the z-order method
as the particles spread across the simulation.
With the two data structures analyzed it is possible to draw some conclusions. The z-order method is recom mended when we have a limited and relatively small simulation volume. In case there is no simulation volume,
or it is very large, it is recommended to use a hash map since the performance deficit seems to disappear as the
simulation volume gets bigger and the particles spread across the volume. O Smoothed-particle hydrodynamics é um método baseado em partículas considerado por muitos como o prin cipal candidato para a simulação de fluidos. Este modelo foi desenvolvido por R.A. Gingold e J.J. Monaghan em 1977 e tinha como objetivo resolver problemas astrofísicos. Ao longo dos anos, Monaghan revisitou o SPH (1985, 1988, 1992, etc.) e este também ganhou tração com outros investigadores que descobriram novas apli cações para o modelo, como balística, vulcanologia, oceanografia, entre outros. De todos os campos, há um em que estamos particularmente interessados, que é o da Simulação de Fluidos. Este trabalho visa implementar o SPH usando estruturas de dados eficientes que permitem que a simulação corra em tempo real na GPU. De acordo com a literatura, o método de indexação z-order e o hash map são as estruturas mais adequadas para este fim. Pretende-se ver o seu impacto e em que situações um deles será mais adequado do que o outro. Com a referida implementação, vários testes foram realizados com o propósito de analisar a robustez e estabilidade do método. Com esses testes foi possível comparar as duas estruturas de dados utilizadas. O SPH implementado mostrou resultados realistas e robustos na maioria dos casos. Sendo capaz de lidar com várias cenas de vários níveis de complexidade. Apesar dos bons resultados, mostrou algumas dificuldades em manter a estabilidade em algumas fronteiras (fronteiras com grande curvatura ou extremidades bicudas) e também apresentou algumas dificuldades em cenas com dois fluidos com densidades diferentes. Quanto às estruturas de dados, foi possível observar que ambas são eficientes e suportam simulações com mais de 1 milhão de partículas (utilizando uma NVIDIA RTX 3080). No caso do z-order, este mostrou-se o método com melhor desempenho quando comparado com o hash map nas mesmas condições, ou seja, cenas com o mesmo número de partículas e o mesmo volume de simulação. Isso deve-se à maior localidade de dados que o z-order possui. Por outro lado, o hash map foi um pouco mais lento (quando comparado com o z-order nas mesmas condições), mas permitiu maior liberdade ao criar a cena. Ao comparar os dois métodos com o mesmo número de partículas, mas com diferentes volumes de simulação, podemos ver que o hash map alcança o z-order, em termos de performance, à medida que as partículas se espalham pela simulação. Com as duas estruturas de dados analisadas é possível tirar algumas conclusões. O método de z-order é recomendado quando temos um volume de simulação limitado e relativamente pequeno. Caso não haja um volume de simulação, ou seja muito grande, recomenda-se o uso de um hash map, pois o défice de desempenho parece desaparecer à medida que o volume da simulação aumenta e as partículas se espalham pelo mesmo. |
Tipo: | Dissertação de mestrado |
Descrição: | Dissertação de mestrado integrado em Informatics Engineering |
URI: | https://hdl.handle.net/1822/86579 |
Acesso: | Acesso aberto |
Aparece nas coleções: | BUM - Dissertações de Mestrado DI - Dissertações de Mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Paulo Alexandre Ferreira Barbosa.pdf | Dissertação de Mestrado | 7,81 MB | Adobe PDF | Ver/Abrir |
Este trabalho está licenciado sob uma Licença Creative Commons