Repolode
InteractiveComputerGraphics

InteractiveComputerGraphics/SPlisHSPlasH

Smoothed Particle Hydrodynamics(SPH)를 이용한 물리 기반 유체 시뮬레이션 오픈소스 C++ 라이브러리로, Python 바인딩과 CLI를 제공합니다.

스타
1,957
포크
344
열린 이슈
17
마지막 커밋
10일 전

어떤 프로젝트인가요?

SPlisHSPlasH는 Smoothed Particle Hydrodynamics를 사용해 유체를 시뮬레이션하는 라이브러리입니다. 이는 각 입자의 물리량을 유한한 수의 이웃 입자에서 계산하는 메시리스 라그랑주 방법입니다. 비압축성 유체를 위한 여러 압력 솔버(WCSPH, PCISPH, PBF, IISPH, DFSPH, PF)와 점성, 표면 장력, 와도 계산 방법을 구현합니다.

순수 유체뿐 아니라 강체-유체 결합, 변형 가능한 고체와의 양방향 결합, 다상 유동, 항력도 지원합니다. 장면은 JSON으로 정의하며, 결과는 Maya, Blender 또는 ParaView에서 사용할 수 있도록 partio 또는 VTK 파일로 내보낼 수 있습니다. Windows와 Linux에서 사용할 수 있는 `splash` 명령줄 시뮬레이터와 pip로 설치 가능한 Python 바인딩(pysplishsplash)을 제공합니다.

이 프로젝트는 CMake로 빌드하며 C++11 컴파일러가 필요합니다. 이웃 탐색은 CPU 또는 GPU에서 실행되며, 지원되는 환경에서는 AVX 벡터화를 사용합니다.

핵심 기능

  • 01비압축성 유체용 압력 솔버: WCSPH, PCISPH, PBF, IISPH, DFSPH, PF
  • 02CPU 또는 GPU 이웃 탐색을 지원하는 2D 및 3D 시뮬레이션
  • 03강체-유체 결합 및 유체-고체 양방향 결합
  • 04다상 시뮬레이션 및 항력 계산
  • 05Python 스크립팅을 지원하는 JSON 장면 임포터
  • 06입자 데이터를 partio 및 VTK 형식으로 내보내기

활용 사례

  • SPH 압력 솔버와 유체-고체 결합 방법 연구
  • Maya, Blender 또는 ParaView로 가져올 유체 애니메이션 데이터 생성
  • pysplishsplash 바인딩으로 Python에서 유체 장면 스크립팅

빠른 시작

  1. 1

    Windows 또는 Linux용 사전 빌드 Python 패키지를 설치합니다

    pip install pysplishsplash
  2. 2

    명령줄 시뮬레이터를 실행합니다

    splash

사용 전 알아둘 점

  • 사전 빌드된 Python wheel은 Python 3.6~3.10용으로 Windows와 Linux에서만 제공됩니다.
  • 소스에서 빌드하려면 CMake와 C++11 컴파일러가 필요합니다.

토픽

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

자주 묻는 질문

SPlisHSPlasH은(는) 무엇인가요?
Smoothed Particle Hydrodynamics(SPH)를 이용한 물리 기반 유체 시뮬레이션 오픈소스 C++ 라이브러리로, Python 바인딩과 CLI를 제공합니다. SPlisHSPlasH는 Smoothed Particle Hydrodynamics를 사용해 유체를 시뮬레이션하는 라이브러리입니다. 이는 각 입자의 물리량을 유한한 수의 이웃 입자에서 계산하는 메시리스 라그랑주 방법입니다. 비압축성 유체를 위한 여러 압력 솔버(WCSPH, PCISPH, PBF, IISPH, DFSPH, PF)와 점성, 표면 장력, 와도 계산 방법을 구현합니다.
SPlisHSPlasH은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
SPlisHSPlasH은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
SPlisHSPlasH은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. SPlisHSPlasH의 마지막 커밋은 2026년 10월 28일입니다.
SPlisHSPlasH은(는) 어디에 사용할 수 있나요?
SPH 압력 솔버와 유체-고체 결합 방법 연구 Maya, Blender 또는 ParaView로 가져올 유체 애니메이션 데이터 생성 pysplishsplash 바인딩으로 Python에서 유체 장면 스크립팅
SPlisHSPlasH는 어떻게 설치하나요?
Windows 또는 Linux용 사전 빌드 Python 패키지를 설치합니다: pip install pysplishsplash 명령줄 시뮬레이터를 실행합니다: splash
SPlisHSPlasH은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/InteractiveComputerGraphics/SPlisHSPlasH

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트