-
volume은 작은 fluid 요소들로 분석되고, 해당 요소들에 대한 미분 방정식이 만들어진다.
-
전체 CFD 방정식은 닫힌 시스템에서 아래의 식으로 구성된다.
1) 질량 보존
2) 운동량 보존
3) 에너지 보존
-
방정식으로 표현할 때 Navier-Stokes 방정식이라고 한다.
-> NS 방정식은 선형미분 방정식이며, 그래픽스 분야에서 간소화하는 방법이 있다.
1) 에너지 보존 무시
2) 유체는 비점성
3) 유체는 밀도가 변하지 않음(액체일때)
![](https://velog.velcdn.com/images/gb_leem/post/05fbf8bf-0e0e-43d0-9ce9-5038acfbbf2c/image.jpg)
-
Conservation of Mass
- 질량 보존은 연속 방정식에 의해 표현된다.
- ρ : 밀도 P : 압력 A : x방향에 수직인 면의 흐름 V : cell의 부피
-> −dtd(ρV)=(ρvxA)∣x+dx−(ρvxA)∣x
-> cell 차원에서 부피V와 영역A를 치환
-> dxdydz로 나눔
-> 치환과 x,y,z방향의 유동을 포함
−dtd(ρ)=dxδ(ρvx)+δyδ(ρvy)+δzδ(ρvz) (식 1)
-> ∇∙F=δxδF+δyδF+δzδF
-> −dtd(ρ)=∇∙(ρv) (식 1에 발산 연산자 이용)
=> 유체가 압축될 수 없으면, 밀도도 변하지 않는다.
dtd(ρ)=0 이므로 0=∇∙v
-
Conservation of Momentum
- 유체의 운동량 = 밀도 x 유체의 부피 x 유체의 평균 속도
- 3차원 cell에서 x방향만 생각
-> −(p∣∣∣x+dxA−p∣∣∣xA)=dtd(ρVv)+((ρvxA)v∣x+dx−(ρvxA)v∣x)
-> 위 식을 치환
−dxdp=δxδ(ρvxv)+dtd(ρv)
-> x,y,z 방향 모두 고려하고, x방향의 운동량을 분류하면 아래와 같다.
−dtdp=δxδ(ρvx2)+δyδ(ρvyvz)+δzδ(ρvzvx)+dtd(ρvx)
-
방정식 풀이
-> cell에서의 경계조건이 필요하다.
-> 격자의 각 cell에서 CFD 방정식은 행렬 방정식의 희소 집합 생성
-> LU와 결합증감 등으로 희소 행렬을 해결한다.
-
안정된 유동체
-> Navier-Stokes 방정식은 공학적으로 정확하지 않지만, 그래픽스에서 사용하기에 유용하다.
-
밀도 갱신
밀도 방정식 (ρ : 밀도, s : 밀도를 변화시키는 다른 요인, k : 밀도의 발산, u : 속도 영역에 따른 이류)
δtδρ=s+k∇2ρ−(u∙∇)ρ
-> 첫항 : 사용자 상호작용이나 환경에 의해 지정된 밀도 소스 배열
-> 둘째항 : 각 셀로부터 이웃 셀까지 밀도 확산
-> 셋째항 : 속도 영역에 따라 밀도를 이류
-
속도 갱신
속도 방정식(f : 외부힘)
δtδu=f+μ∇2u−(u∙∇)u
-> 첫항 : 사용자나 환경으로부터 더해짐
-> 둘째항 : 속도의 확산 허용
-> 셋째항 : 속도 영역에 의해 수행되도록 속도 허용