2024.07.01 ~ 2024.08.22
Smoothed Particle Hydronamics(SPH)를 이용하여 물을 물리 시뮬레이션하고 그 결과를 렌더링한다.
물을 물리시뮬레이션 하기 위해 다음의 비압축성 유체의 linear momentum equation을 수치해석적으로 푼다.
SPH를 사용해서 수치해석하는 과정은 Document/SPH.md
에 설명되어 있다.
WCSPH와 PCISPH가 구현되어 있으며 WCSPH는 CPU코드로 PCISPH는 CPU/GPU(Compute Shader) 코드로 구현되어 있다.
시뮬레이션에 사용된 parameter의 경우 Document/Simulation Parameter.md
에 어떤 값을 사용하였는지 설명되어 있다.
개발 과정중에 수행했던 GPU 코드 최적화와 관련된 내용은 Document/GPU 코드 최적화.md
에 작성되어 있다.
- directxmath:x64-windows
- directxtex:x64-windows
- directxtk:x64-windows
- imgui:x64-windows
[Dam Breaking Simulation]
Description | |
---|---|
Solution Domain(XYZ) | 4 X 6 X 0.6 (m) |
Inital Water Box Domain(XYZ) | 1 X 2 X 0.4 (m) |
intial spacing | 0.025 (m) |
#particle | ~56000(55760) |
dt | 0.005 (s) |
FPS | 180-200 |
Simulation Time / Computation Time | 0.9 - 1.0 |
Dam.breaking.0.025.55760.0.005_Trim.mp4
[2 Box Simulation]
Description | |
---|---|
Solution Domain(XYZ) | 3 X 6 X 3 (m) |
Inital Water Box Domain(XYZ) | 1 X 2 X 1, 1 X 2 X 1 (m) |
intial spacing | 0.035 (m) |
#particle | ~100000(97556) |
dt | 0.008 (s) |
FPS | 100-120 |
Simulation Time / Computation Time | 0.8 - 0.96 |
2Box.0.035.975560.0.008_Trim.mp4
[4 Box Simulation]
Description | |
---|---|
Solution Domain(XYZ) | 3 X 6 X 3 (m) |
Inital Water Box Domain(XYZ) | 1 X 1 X 1, 1 X 2 X 1, 1 X 2 X 1, 1 X 3 X 1 (m) |
intial spacing | 0.04 (m) |
#particle | ~140000(137904) |
dt | 0.01 (s) |
FPS | 70-90 |
Simulation Time / Computation Time | 0.7 - 0.9 |
4Box.0.04.137904.0.01_short.mp4
[Long Box Simulation]
Description | |
---|---|
Solution Domain(XYZ) | 4 X 20 X 4 (m) |
Inital Water Box Domain(XYZ) | 0.8 X 15 X 0.6 (m) |
intial spacing | 0.05 (m) |
#particle | ~67000(66521) |
dt | 0.006 (s) |
FPS | 150-170 |
Simulation Time / Computation Time | 0.9 - 1.12 |