Aero Simulator는 브라우저 기반의 실시간 2D 유체 시뮬레이터로, 사용자가 유체의 흐름을 시각화하고, 물체와의 상호작용에 따른 항공역학적 데이터를 분석할 수 있는 도구입니다.
Euler 방법과 Semi-Lagrangian 방식을 활용하여 다양한 유체 시뮬레이션 환경을 제공합니다.
- 실시간 유체 시뮬레이션:
- Wind Tunnel(풍동) 환경 시뮬레이션.
- Streamline(유선) 및 Pressure(압력) 시각화.
- 사용자 조작:
- 장애물의 위치 및 크기를 드래그로 실시간 변경.
- 중력, 압축성, Advection(운반) 등 매개변수 조정 가능.
- 항공역학 계산:
- 양력(Lift) 및 항력(Drag) 값을 실시간 계산 및 표시.
- Euler 방법: 격자(Grid) 기반으로 고정된 위치에서 유체의 속성을 계산.
- Semi-Lagrangian 방법: 유체 입자의 이전 위치를 추적하여 값을 업데이트.
- 중력 효과 적용:
integrate(dt, gravity) - 압축성 유지:
solveIncompressibility(numIters, dt) - 운반 과정 시뮬레이션:
advectSmoke(dt),advectVel(dt)
- 연기(Smoke) 밀도 및 압력(Pressure) 필드 표현.
- Streamline(유선) 계산 및 렌더링.
- HTML5 Canvas: 유체 흐름의 그래픽 표현.
- JavaScript: 물리 엔진 및 시뮬레이션 로직 구현.
- CSS: UI 디자인 및 스타일링.
유체가 풍동 환경에서 장애물을 통과하며 흐르는 모습을 시각화합니다.
유선 표현을 통해 유체의 흐름 방향과 속도를 시각화합니다.
- 3D 확장:
- 2D 격자를 3D로 확장하여 입체적인 유체 흐름 표현.
- 유체 점성 추가:
- 내부 마찰력을 반영하여 현실적인 흐름 구현.
- 다양한 장애물 처리:
- 복잡한 동적 경계 조건 및 객체 추가 가능성.
