Solver CFD basado en lattice Boltzmann que simula fluidos en GPU y CPU mediante OpenCL, con renderizado en tiempo real y compatibilidad con varias GPU.
InteractiveComputerGraphics/SPlisHSPlasH
Biblioteca open source en C++ para simular fluidos con Smoothed Particle Hydrodynamics (SPH), con binding para Python y CLI.
- Estrellas
- 1,957
- Forks
- 344
- Issues abiertos
- 17
- Último commit
- hace 10 días
¿Qué es?
SPlisHSPlasH es una biblioteca para simular fluidos con Smoothed Particle Hydrodynamics, un método lagrangiano sin malla que calcula magnitudes para cada partícula a partir de un conjunto finito de sus vecinas. Incluye varios solucionadores de presión para fluidos incompresibles (WCSPH, PCISPH, PBF, IISPH, DFSPH, PF), además de métodos para la viscosidad, la tensión superficial y la vorticidad.
Además de fluidos puros, la biblioteca incluye acoplamiento entre sólidos rígidos y fluidos, acoplamiento bidireccional con sólidos deformables, flujo multifásico y fuerzas de arrastre. Las escenas se definen en JSON y los resultados se pueden exportar como archivos partio o VTK para usarlos en Maya, Blender o ParaView. Incluye un simulador de línea de comandos llamado `splash` y bindings para Python instalables con pip (`pysplishsplash`), disponibles para Windows y Linux.
El proyecto se compila con CMake y requiere un compilador de C++11. La búsqueda de vecindades se ejecuta en CPU o GPU, y se usa vectorización AVX cuando está disponible.
Funciones clave
- 01Solucionadores de presión para fluidos incompresibles: WCSPH, PCISPH, PBF, IISPH, DFSPH y PF
- 02Simulación 2D y 3D con búsqueda de vecindades en CPU o GPU
- 03Acoplamiento entre sólidos rígidos y fluidos, y acoplamiento bidireccional entre fluidos y sólidos
- 04Simulación multifásica y cálculo de fuerzas de arrastre
- 05Importador de escenas JSON con compatibilidad con scripts de Python
- 06Exportación de datos de partículas a los formatos partio y VTK
Casos de uso
- Investigar solucionadores de presión SPH y métodos de acoplamiento entre fluidos y sólidos
- Generar datos de animación de fluidos para importarlos en Maya, Blender o ParaView
- Crear escenas de fluidos mediante scripts de Python con los bindings pysplishsplash
Inicio rápido
- 1
Instala el paquete de Python precompilado para Windows o Linux
pip install pysplishsplash - 2
Ejecuta el simulador de línea de comandos
splash
Antes de usarlo
- Los wheels de Python precompilados solo están disponibles para Windows y Linux, y para Python 3.6-3.10.
- Para compilar desde el código fuente, se necesita CMake y un compilador de C++11.
Temas
Preguntas frecuentes
- ¿Qué es SPlisHSPlasH?
- Biblioteca open source en C++ para simular fluidos con Smoothed Particle Hydrodynamics (SPH), con binding para Python y CLI. SPlisHSPlasH es una biblioteca para simular fluidos con Smoothed Particle Hydrodynamics, un método lagrangiano sin malla que calcula magnitudes para cada partícula a partir de un conjunto finito de sus vecinas. Incluye varios solucionadores de presión para fluidos incompresibles (WCSPH, PCISPH, PBF, IISPH, DFSPH, PF), además de métodos para la viscosidad, la tensión superficial y la vorticidad.
- ¿SPlisHSPlasH es gratuito? ¿Qué licencia tiene?
- SPlisHSPlasH es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿SPlisHSPlasH sigue mantenido?
- Mantenimiento activo. El último commit de SPlisHSPlasH fue el 28 oct 2026.
- ¿Para qué puedo usar SPlisHSPlasH?
- Investigar solucionadores de presión SPH y métodos de acoplamiento entre fluidos y sólidos Generar datos de animación de fluidos para importarlos en Maya, Blender o ParaView Crear escenas de fluidos mediante scripts de Python con los bindings pysplishsplash
- ¿Cómo se instala SPlisHSPlasH?
- Instala el paquete de Python precompilado para Windows o Linux: pip install pysplishsplash Ejecuta el simulador de línea de comandos: splash
- ¿Dónde consigo SPlisHSPlasH?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/InteractiveComputerGraphics/SPlisHSPlasH
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Biblioteca de física en C++17 con bindings de Python para simular la cinemática, la dinámica y los contactos de robots articulados y personajes animados.
Un pool de entornos por lotes en C++ para aprendizaje por refuerzo, que ejecuta en paralelo muchos entornos tipo Gym mediante un pool de hilos.
Biblioteca cliente de C++ para el control de bajo nivel en tiempo real de robots de investigación de Franka Robotics, con bindings de Python mediante pylibfranka.
Blender es una suite gratuita y de código abierto para crear contenido 3D, que abarca modelado, rigging, animación, simulación, renderizado, composición, seguimiento de movimiento y edición de video.
Framework de Python que compila funciones Python comunes con JIT para convertirlas en kernels que se ejecutan en CPU o GPU NVIDIA, para simulación, robótica y ML.