Repolode
InteractiveComputerGraphics

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. 1

    Instale o pacote Python pré-compilado para Windows ou Linux

    pip install pysplishsplash
  2. 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

#fluid-simulation#sph#physics-simulation#cpp#python-bindings#computer-graphics#deformable-solids#fluid-dynamics#fluids#multiphase-flow

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