SPH 모델 정의
SPH 모델을 추가한 뒤 Property Window에서 SPH 모델에 정의 가능한 항목들을 설명합니다.
Model 트리에서 SPH 를 펼치면 다섯 항목이 있습니다.
트리 항목 |
역할 |
|---|---|
Fluid |
유체 형상과 비압력 힘 |
Boundary |
경계 메시와 적응 세분화 거리 |
Scheme |
압력 해법과 허용 오차 |
Property |
입자 반지름, 커널, 경계 처리, 적응 해상도 |
Simulation |
시간 간격과 초기 덤프 |
Fluid
SPH > Fluid 를 선택하고, Component Property 목록에서 유체 형상(fluid)을 클릭해야 입력 트리가 열립니다. 위쪽 콤보와 Add / Del은 입자 형상이나 메시를 이 유체에 넣거나 빼는 버튼입니다. 처음 넣은 유체의 최대 반지름이 Property의 Particle Radius가 됩니다. 나중에 넣는 형상의 반지름이 그와 다르면 경고가 납니다. 다중 해상도는 여기서 반지름을 여러 개 주는 방식이 아니라 Boundary의 Refine로 만듭니다.

Fluid
항목 |
설명 |
|---|---|
Num. particles |
생성된 입자 수. 읽기 전용 |
Rest density |
휴식 밀도 \(\rho_0\). 읽기 전용 |
Generated radius |
형상이 만든 반지름. Property의 Particle Radius와 다르면 붉은 글씨로 둘을 같이 보여 줌 |
Emitters
이미터가 하나라도 있을 때만 나타납니다. 콤보에서 고르고 Add하면 그 유체가 사용하는 이미터 목록에 들어갑니다. 이 예제에는 이미터가 없습니다.
Velocity
방법 |
추가 입력 |
|---|---|
None |
없음. |
Initial Velocity |
Ini. Vel. (x, y, z). 초기 속도 |
Constant Velocity |
Const. Vel. (x, y, z). 매 스텝 고정 속도 |
Drag Force
방법 |
추가 입력 |
|---|---|
None |
없음 |
Macklin_2014 |
없음 |
Gissler_2017 |
Drag Coefficient |
Elasticity
현재 목록은 존재하지면 지원되지 않는 항목입니다.
Surface Tension
현재 목록은 존재하지만 지원되지 않는 항목입니다.
적응 해상도(Property의 Ratio가 2 이상)와 표면 장력은 함께 쓸 수 없습니다. 해석을 시작하면 Adaptive resolution cannot be combined with surface tension으로 멈춥니다.
Viscosity
방법 |
추가 입력 |
|---|---|
None |
없음 |
Standard |
Fluid Viscosity, Boundary Viscosity |
Bender_Koschier_2017, Peer_2015, Peer_2016, Takahashi_2015, Weiler_2018 |
지원하지 않음 |
Standard만 동점성 계수를 받습니다. Fluid Viscosity는 유체-유체, Boundary Viscosity는 유체-경계에 쓰입니다. Standard외의 점성모델은 현재 지원하지 않습니다.
Vorticity
방법 |
추가 입력 |
|---|---|
None |
없음. |
Bender_2017 |
Vorticity (와도 계수), Ang. Visc. (각 점성), Iner. Inver. (관성 역수) |
VorticityConfinement, Liu_2021 |
지원하지 않음 |
XSPH
이웃 속도로 속도를 살짝 끌어당기는 항입니다.
항목 |
이 예제 |
설명 |
|---|---|---|
Fluid Coefficient |
유체 이웃에 대한 계수 |
|
Boundary Coefficient |
경계 이웃에 대한 계수 |
Boundary
SPH > Boundary 를 선택하고 목록에서 항목을 클릭합니다. 입자로 만든 경계는 읽기 전용 Number만 나오고, 메시 경계는 아래 항목이 나옵니다.

파일 이름(sphere.obj)은 읽기 전용이고, 위에 마우스를 올리면 전체 경로가 나옵니다.
항목 |
설명 |
|---|---|
Invert |
켜면 부호를 뒤집어 용기 안쪽을 유체로 봅니다. 켜져 있으면 Refine 묶음이 비활성화됩니다. watertank는 켜져 있습니다 |
Thickness |
부호 거리장에 더하는 두께 [m] |
Refine |
이 물체 근처 유체를 잘게 유지합니다 |
Refine Dist. |
표면에서 미세 입자를 유지하는 거리 d [m]. 0이면 지지 반지름 h_base |
Refine Trans. |
d 밖에서 기본 크기로 돌아가는 전이 폭 w_t [m]. 0이면 4 h_base |
Recommended Range |
d = 1 h_base, w_t = 5 h_base로 채웁니다. h_base는 Property의 4 × Particle Radius |
Density |
질량 적분에 쓰는 밀도 [kg/m³]. |
Update Mass |
현재 밀도로 질량, 부피, 관성을 다시 계산합니다 |
Mass |
읽기 전용 [kg] |
Volume |
읽기 전용 [m³] |
D. Iner |
관성 텐서 대각. 읽기 전용 |
S. Iner |
관성 텐서 비대각 (Ixy, Ixz, Iyz). 읽기 전용 |
Position |
형상 위치. 해석 중이 아니면 형상 값을 따라갑니다. 읽기 전용 |
Rotation |
사원수 (w, x, y, z). 읽기 전용 |
Scale |
형상 스케일. 읽기 전용 |
2RP |
켬: 부피맵 셀 = 2 r_p. 끔: 셀 = 4 r_p (지지 반지름) |
Optimal Resolution |
스케일된 AABB에 패딩을 더해 셀 수로 분해능을 채웁니다 |
Resolution |
부피맵 격자 수 (x, y, z) |
Refine 아래의 Resolved 줄은 0을 풀어 쓴 값입니다. 이 예제는 h_base = 0.008 m라서 d = 0.008 m (1 h_base), w_t = 0.04 m (5 h_base)입니다.
Scheme
SPH > Scheme 입니다. 콤보에는 현재 DFSPH 만 있습니다. DFSPH(화면의 Divergence-free 경로)일 때 아래 항목이 열립니다.

항목 |
설명 |
|---|---|
Scheme |
압력 해법 |
Max Iterations |
밀도 해와 발산 해의 최대 반복 |
Max Den. Error |
압력(밀도) 해의 최대 밀도 오차 [%] |
Max Div. Error |
발산 해의 최대 발산 오차 [%] |
Paper Tolerances |
위 셋을 256, 0.01, 0.1로 되돌립니다. 적응 해상도 검증에 쓴 값입니다 |
Fluid-only Divergence |
발산 해를 유체-유체만 풀고 경계에는 하중을 주지 않습니다. 강체는 밀도 해의 압력만 받습니다. Property의 Boundary가 Boundary Bender 2019일 때만 켤 수 있고, 질량비 1 결과도 바뀌므로 기본으로 쓰지 않습니다 |
Property
SPH > Property 입니다. 입자 크기, 이웃 커널, 경계 처리, 적응 해상도가 여기 있습니다.

기본
항목 |
설명 |
|---|---|
Use ZSort |
일정 스텝마다 입자를 공간 정렬해 이웃 탐색 순서를 맞춥니다 |
2D Sim. |
켜면 2D 커널 목록으로 바뀝니다 |
Steps Zsort |
Z 정렬 간격 [스텝]. Use ZSort가 꺼지면 비활성 |
Boundary |
경계 처리. Bender Koschier 2017, Akinci 2012, Particle Base 중 하나 |
Kernel |
3D: Cubic Spline, Wendland Quintic, Poly6. 2D: Cubic Spline 2D, Wendland Quintic 2D |
Particle Radius |
기본 입자 반지름 r [m]. 지지 반지름 h_base = 4 r |
Adaptive Resolution
Ratio가 1이면 적응 해상도가 꺼지고, 그 아래 항목은 비활성입니다. 이 예제는 8이라 활성입니다.
항목 |
설명 |
|---|---|
Ratio |
질량비 m_base / m_fine. 1이면 끔. 미세 입자는 Refine된 경계와, 아래를 켜면 자유 수면 근처에 생깁니다 |
Max Particles |
실행 중 입자 용량. 0이면 질량비로 추정 |
Refine Surface |
자유 수면 근처를 잘게 유지 |
Surface Dist. |
수면에서 잘게 유지하는 거리 [m]. Refine Surface가 켜져 있을 때만 입력되고, 0이면 6 h_base |
Surface Seed |
Geometric: 바깥 법선 30° 안에 이웃이 없으면 수면. 법선을 마주 보는 벽은 2 h_base 안이면 이웃으로 칩니다. |
Advanced 는 접혀 있고, 파일에 값이 있거나 여기서 고친 값만 저장됩니다. 이 예제 JSON에는 없어서 솔버 기본값이 보입니다.
항목 |
기본 |
설명 |
|---|---|---|
Start Time |
0.5 s |
이 시각 전에는 분할·병합하지 않습니다. 초기 격자가 먼저 자리 잡습니다 |
Split Delay Steps |
10 |
큰 입자 반경을 가지는 입자가 이 횟수만큼 그 크기를 유지하면 분할 |
Blend Time |
0.01 s |
분할·병합 입자의 혼합 가중치가 스텝마다 dt / τ_β만큼 줄어드는 시간 τ_β |
Ramp Interval |
0 |
0이면 Start Time에 Ratio를 한 번에 적용. 양수면 그 간격마다 유효 질량비를 한 단계씩 올립니다 |
Merge Class s (s_merge) |
끔 |
기본 영역의 class s 입자까지 주변으로 병합. 논문은 class S와 l만 병합하므로 기본으로 켜지 않습니다 |
Adaptive Status 는 입력값이 아니라 풀어서 보여 주는 줄입니다. 이 예제:
h_base = 0.008 m (지지 반지름, 4 r)
r_fine = 0.001 m (0.125 h_base). 질량비 8이면 r_fine = r / 8^(1/3) = r / 2
h_fine = 0.004 m (0.5 h_base)
셀 크기 0.01008 m (1.26 h_base)
sphere: d = 0.008 m (1 h_base), w_t = 0.04 m (5 h_base)
용량 218,900 particles (estimated)
Extra Output
결과 파일에 더 실을 필드입니다. 이 예제는 모두 꺼져 있습니다.
항목 |
설명 |
|---|---|
Density |
입자 밀도. 밀도 오차 분석용 |
Pressure |
DFSPH 압력 p = κ ρ² / ρ0 |
Particle ID |
Z 정렬 뒤에도 입자를 프레임 사이로 따라갈 식별자 |
Simulation
SPH > Simulation 입니다. 시간 간격을 정합니다. 창 아래쪽의 실행 제어와는 별개입니다.

항목 |
설명 |
|---|---|
TS Method |
Constant, CFL, CFL Iterative. Constant가 아니면 아래 셋이 활성화됩니다 |
CFL Factor |
CFL 수. Constant에서는 비활성 |
Min Time Step |
CFL로 줄어들 수 있는 하한 [s] |
Max Time Step |
CFL로 늘어날 수 있는 상한 [s] |
Time Step |
Constant일 때 매 스텝 간격 [s]. CFL일 때는 초기 간격 |
Use Dump State |
켜면 덤프 파일의 입자 위치로 초기 상태를 바꿉니다 |
Dump File |
Use Dump State가 켜지면 나타나는 읽기 전용 경로 |
Open Dump File |
덤프 파일을 고릅니다 |
실행 제어
Property Window 맨 아래에 항상 붙어 있는 실행 단추입니다. SPH Simulation 컴포넌트의 Time Step과는 다릅니다.
항목 |
설명 |
|---|---|
Realtime Display Update |
해석 중 화면을 갱신합니다 |
One Step Simulation |
한 스텝만 진행합니다 |
Compute |
CPU, MP, CUDA(빌드에 CUDA가 있을 때) |
Save Interval |
결과를 저장하는 스텝 간격 |
End Time |
해석 종료 시각 [s] |
Simulation |
위 설정으로 해석을 시작합니다. 해석이 돌아가는 동안에는 비활성입니다 |