Solver de CFD baseado no método de Boltzmann em rede, que simula fluidos em GPUs e CPUs via OpenCL, com renderização em tempo real e suporte a várias GPUs.
InteractiveComputerGraphics/SPlisHSPlasH
Biblioteca open source em C++ para simulação de fluidos baseada em física usando Smoothed Particle Hydrodynamics (SPH), com binding para Python e CLI.
- Estrelas
- 1,957
- Forks
- 344
- Issues abertas
- 17
- Último commit
- há 10 dias
O que é?
SPlisHSPlasH é uma biblioteca para simular fluidos com Smoothed Particle Hydrodynamics, um método lagrangiano sem malha que calcula grandezas para cada partícula a partir de um conjunto finito de partículas vizinhas. Ela implementa vários solvers de pressão para fluidos incompressíveis (WCSPH, PCISPH, PBF, IISPH, DFSPH, PF), além de métodos para viscosidade, tensão superficial e vorticidade.
Além de fluidos puros, a biblioteca inclui acoplamento entre fluidos e corpos rígidos, acoplamento bidirecional com sólidos deformáveis, escoamento multifásico e forças de arrasto. As cenas são definidas em JSON, e os resultados podem ser exportados como arquivos partio ou VTK para uso no Maya, Blender ou ParaView. O projeto oferece um simulador de linha de comando chamado `splash` e bindings para Python instaláveis via pip (`pysplishsplash`), compatíveis com Windows e Linux.
O projeto é compilado com CMake e requer um compilador C++11. A busca de vizinhos pode ser executada na CPU ou GPU, e o projeto usa vetorização AVX quando disponível.
Recursos principais
- 01Solvers de pressão para fluidos incompressíveis: WCSPH, PCISPH, PBF, IISPH, DFSPH e PF
- 02Simulação 2D e 3D com busca de vizinhos na CPU ou GPU
- 03Acoplamento entre fluidos e corpos rígidos, e acoplamento bidirecional entre fluidos e sólidos
- 04Simulação multifásica e cálculo de forças de arrasto
- 05Importador de cenas JSON com suporte a scripts em Python
- 06Exportação de dados de partículas nos formatos partio e VTK
Casos de uso
- Pesquisar solvers de pressão SPH e métodos de acoplamento entre fluidos e sólidos
- Gerar dados de animação de fluidos para importar no Maya, Blender ou ParaView
- Criar scripts de cenas de fluidos em Python usando os bindings pysplishsplash
Início rápido
- 1
Instale o pacote Python pré-compilado para Windows ou Linux
pip install pysplishsplash - 2
Execute o simulador de linha de comando
splash
Antes de usar
- Os wheels pré-compilados de Python são fornecidos apenas para Windows e Linux, e para Python 3.6-3.10.
- Para compilar a partir do código-fonte, é necessário ter o CMake e um compilador C++11.
Tópicos
Perguntas frequentes
- O que é SPlisHSPlasH?
- Biblioteca open source em C++ para simulação de fluidos baseada em física usando Smoothed Particle Hydrodynamics (SPH), com binding para Python e CLI. SPlisHSPlasH é uma biblioteca para simular fluidos com Smoothed Particle Hydrodynamics, um método lagrangiano sem malha que calcula grandezas para cada partícula a partir de um conjunto finito de partículas vizinhas. Ela implementa vários solvers de pressão para fluidos incompressíveis (WCSPH, PCISPH, PBF, IISPH, DFSPH, PF), além de métodos para viscosidade, tensão superficial e vorticidade.
- SPlisHSPlasH é gratuito? Qual é a licença?
- SPlisHSPlasH é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- SPlisHSPlasH ainda é mantido?
- Manutenção ativa. O último commit de SPlisHSPlasH foi em 28 de out. de 2026.
- Para que posso usar SPlisHSPlasH?
- Pesquisar solvers de pressão SPH e métodos de acoplamento entre fluidos e sólidos Gerar dados de animação de fluidos para importar no Maya, Blender ou ParaView Criar scripts de cenas de fluidos em Python usando os bindings pysplishsplash
- Como instalar SPlisHSPlasH?
- Instale o pacote Python pré-compilado para Windows ou Linux: pip install pysplishsplash Execute o simulador de linha de comando: splash
- Onde consigo SPlisHSPlasH?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/InteractiveComputerGraphics/SPlisHSPlasH
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca de física em C++17 com bindings para Python, voltada à cinemática, dinâmica e simulação de contato de robôs articulados e personagens animados.
Um pool de ambientes em lote em C++ para aprendizado por reforço, que executa vários ambientes no estilo Gym em paralelo usando um pool de threads.
Biblioteca cliente em C++ para controle de baixo nível em tempo real de robôs de pesquisa da Franka Robotics, com bindings para Python via pylibfranka.
Blender é uma suíte gratuita e de código aberto para criação 3D, com ferramentas de modelagem, rigging, animação, simulação, renderização, composição, rastreamento de movimento e edição de vídeo.
Framework Python que compila funções Python comuns com JIT em kernels executados na CPU ou em GPUs NVIDIA, para simulação, robótica e ML.