Professional Documents
Culture Documents
3 CFD Solver
3 CFD Solver
CFD 기초 세미나
CFD Solver에 대한 설명 및 적용 방법
㈜태성에스엔이
CFD 사업부
목차
정상 상태(Steady)와 과도 상태(Transient)
압력기반솔버(PBS)와 밀도기반솔버(DBS)
초기화(Initialization)
수렴 판정(Convergence Check)
CFD 해석 절차
예) ANSYS FLUENT의 해석 절차
• Read and check mesh
• Select Physical Models
– Energy
– Turbulence
– Multiphase
– …………
• Create/Assign Materials
• Assign Cell & Boundary Conditions
• Choose Solver Settings
• Create Solution Monitors
• Initialize Solution
• Run Calculation
• Post-Process Results
해석 절차 개요
• 일반적인 해석의 기본 순서 해석 설정
– 해석 설정
• Solver 선택 해석 초기화
• 이산화 기법
(Discretization schemes)
관심 물리량의 수렴성 확인 활성화
– 초기화
– 계산 및 수렴성 평가
격자와
• 수렴성 확인 해석 설정 변경
해석 수행
• 안정성
– 완화계수 설정 아니오
수렴성 확인
– Courant 수 설정
예
– 가상 시간 간격 설정
아니오
(Pseudo-time step) 정확도 확인
• 수렴 가속화 예
– 정확도 확인 종료
4
이산화 기법(Discretization Methods)
이산화(Discretization)
• 이산화
– 시간( ) 및 공간( )에 대한 미분 식을 대수 식으로 변환
6
유한체적법(Finite Volume Method) I
• 유한체적법
– 검사체적 적분에 기초한 수치해석 방법
예) ϕ에 대한 이송방정식(Transport equation)
∙ u ∙ Γ
검사체적에 대해 적분
∙ u ∙ Γ
이산화를 통한 대수 식 변환
u u u
n n
n
격자점
(Node) 물리량의 정의점 u
8
공간 이산화
유한체적법을 유한차분법으로 생각해보자!!!
u
u u u
u u u
() ()
• 이산화 기법의 종류
u"#u$
– 전방차분법(Forward Difference) :
! ∆!
u$ #u&
– 후방차분법(Backward Difference) :
! ∆!
u"#u&
– 중심차분법(Central Difference) :
! '∆!
전방차분법
u u u )7 8 ∆) )7 ∆)
() () )7
격자점을 x좌표로 정리
u u !+ ,∆! #u !+
• 전방차분법 : ≅
! ∆!
• 테일러(Taylor) 급수 전개 :
u ∆! . . u ∆! 0 0 u
u - ∆ ≅u - ∆ ⋯
! '! ! . 1! ! 0
u u ∆! . u ∆! . 0 u 5u 5u
≅ ⋯ ≅ 6 ∆) : 1차 정확도
! ! '! ! . 1! ! 0 5) 5)
u
≅ 4 ∆ 4 ∆ ' ⋯ 상대적으로 매우 작은 오차이므로 무시
!
10
중심차분법
u u !+ ,∆! #u !+ #∆!
• 중심차분법 : ≅ )7 8 ∆) )7 ∆)
! '∆!
)7
• 테일러 급수 전개 :
u ∆! . . u ∆! 0 0 u
u - ∆ ≅u - ∆ ⋯
! '! !. 1! !0
u ∆! . . u ∆! 0 0 u
u -8∆ ≅u - 8∆ . 8 ⋯
! '! ! 1! !0
u u ∆! . 0 u
≅ ⋯
! ! 1 !0
u 5u 5u
≅ 4 ∆ '
⋯ ≅ 6 ∆)9 : 2차 정확도
! 5) 5)
11
∆
0 1
∆) 7. : → ; :7
• 1차 정확도의 경우 : 4(∆
∆ )=0.1
• 2차 정확도의 경우 : 4(∆
∆ 2 )=0.01
1차 정확도가 2차 정확도와 같기 위해서는 ∆)=7
7.7
7: →;
;=:
:77
12
보간법(Interpolation Methods) I
• 격자 중앙에 저장된 변수들은 제어체적의 경계면에서 보간
(Interpolation)이 필요
– 구배(Gradients)
• 해석 변수들의 구배는 확산흐름(Diffusive fluxes), 속도 미분
(Velocity derivatives), 고차 이산화 기법을 검토하기 위해 필요
Cell based/
Least-Squares Node-Based
13
보간법(Interpolation Methods) II
• 대류항의 보간
– First-Order Upwind : 가장 쉽게 수렴, 1차 정확도
– Power Law : Recell < 5인 경우 First-Order Upwind 보다 높은 정확도
– Second-Order Upwind : 2차 정확도를 가지며, 3각형/4면체 격자와 유동 방향이
일치하지 않을 때 사용, 수렴이 늦음
– Monotone Upstream-Centered Schemes for Conservation Laws (MUSCL)
: 비정렬 격자계에서 부분적으로 3차 대류 이산화 기법을 적용
2차유동, 와동, 항력, 양력 등을 예측하는데 높은 정확도
– Quadratic Upwind Interpolation (QUICK)
: 4각형/6면체, 혼합 격자에 적용, 회전 및 와류 유동해석에 유용
균일한 4각형 격자에서 3차 정확도
• 확산항의 보간
– 중심 차분과 2차 정확도
14
이산화 방법에 의한 정확도의 중요성 I
• 수치확산(Numerical diffusion)과 위상오차(dispersion error)
수치확산
위상오차
15
• 만약 >=7
7 인 경우, 1st-Order-Upwind 기법
1st-Order Upwind
(별도의 보정 없음) Scheme, β = 0
– 강건하지만 1차 정확도
2nd-Order
• 만약 >=:
: 인 경우, 2nd-Order-Upwind 기법 Scheme,
β=1.0
– 표면 값은 표면 양쪽의 셀 값 사이에 있어야 함
( ?- @ A @ ?B )
QUICK
• QUICK 해석기법은 해석경계를 유지할 동안 Scheme
유체 도메인을 통해 >를 최대화
16
정상 상태(Steady)와 과도 상태(Transient)
정상 상태와 과도 상태 I
• 정상 상태 : Steady
– 유체의 흐름, 열 및 물질이동 등의 동적 현상에서 각각의 상태를
결정하는 여러 가지 물리량이 시간적으로 변하지 않는 상태
18
정상 상태와 과도 상태 II
• 자연 상태의 모든 유동은 과도(비정상) 상태
– 정상 상태는 다음을 가정한 것
• 과도 상태의 변동은 무시
• 전체적인 경향을 확인할 때/불안정성을 제거하기 위해 시간평균을 사용할 때
– RANS 난류 모델에서 수행
• 많은 해석분야에서 과도 상태 해석을 요구
– 공기역학 분야(항공기, 운송수단 등) : 와류 방출(vortex shedding)
– 회전체(Rotating Machinery) : 회전자/정류자 상호작용, 실속현상, 파동
– 다상 유동 : 자유 표면, 기포 거동
– 해석 영역의 변형 : 실린더 내 연소, 무장 투하(store separation)
– 과도 상태 열전달
– 그 밖의 많은 분야
19
시간 이산화
• 시간 이산화
– 미분 방정식에서 시간에 대한 미분항을 대수식으로 변환
양해법(Explicit) 음해법(Implicit)
수치적 안정성(Numerical stability)
수치적 안정성의 영향을 받지 않음
문제에 의해 시간 간격 크기에 제한
20
양해법과 음해법의 수치적 안정성 I
• 시간 이산화 : 양해법(Explicit) ,B
EK 8 EK EK,B 8 2EK EK#B
예) 과도 상태 전도 열전달 문제 CD F
Δ M'
E '
E 이산화
CD F '
,B
EK 1 8 2N EK NEK,B NEK#B
공간이산화 : 중심 차분 PQR
여기서, N
S?T U.
시간이산화 : 양해법
,B ,B ,B
1 2N EK EK NEK,B NEK#B
공간이산화 : 중심 차분
시간이산화 : 음해법
> 의 크기에 상관없이 모든 계수가 양수가 되어
J81 J J 1
물리적으로 타당함
G 2
,B ,B ,B
K#B K K,B
G 1 시간 간격의 크기 제한 없음
K
G
22
과도 상태의 CFD 해법
• 과도 상태 해석은 전체 계산시간을
여러 개로 분할하여 계산을 수행 시간 간격 = 2 초
2 4 6 8 10 12 14 16 18 20
시간 (초) 시간 간격마다 여러 번 반복 계산
23
과도 상태 시간 간격(Time Step) 설정 I
• 시간 간격은 과도 상태 해석에서 매우 중요한 변수
– (W 는 시간 종속적인 문제를 풀 수 있을 정도로 충분히 작아야 함
실제 값
관심 변수 시간 간격이 과도 상태의
변화를 예측하기에 너무 큼
: 이러한 경우 실제 값 예측 불가능
∆W
시간
관심 변수 시간 간격이 충분히 작아야
실제 값 예측 가능
: 적어도 한 구간당 10~20 VW로
∆W 설정해야 함
시간
24
과도 상태 시간 간격(Time Step) 설정 II
• Courant 수는 시간 간격을 추정하는데 종종 사용
]Ma`aC e`fg fC hi^j kei^Cf l _ m ∆
]^_`aG b_cde`
ElnfCai ]eii foe ∆
– 유체가 한 시간 간격 당 통과하는 격자 수 확인 가능
– 일반적인 값은 1~10이지만, 일부 케이스에서는 그보다 더 높은 값을 적용
B 블레이드 수
– 회전체 : ∆ m
B- 회전 속도
압력기반솔버(PBS)와 밀도기반솔버(DBS)
압력기반솔버와 밀도기반솔버
• 일반적으로 두 가지 종류의 솔버(Pressure-based/Density-based)
• 대부분의 문제에 압력기반솔버(Pressure-Based Solver)를 사용
– 마하 수 0부터 2~3까지 영역에서 사용 가능
• 밀도기반솔버(Density-Based Solver)는 일반적으로 높은 마하 수,
충격파와 같이 특별한 현상을 확인하고 싶은 경우 사용
27
압력기반솔버(PBS) I
Pressure-Based Solver
• 압력기반솔버
Pressure-Based Segregated Pressure-Based Coupled
[Pressure-Based Solvers(PBS)]
해석 값의 갱신 해석 값의 갱신
– 속도는 운동방정식으로부터 구함
– 질량 보존(Continuity)은
운동량 방정식 계산
압력보존방정식을 통해 구함 압력 기반의 연속방정식과
운동량 방정식 계산
• Pressure-velocity coupling
압력-수정(연속) 방정식 계산
알고리즘은 연속 방정식을
재구성하여 도출
질량 유량 갱신
질량 유량, 압력, 속도 갱신
• 압력 방정식은 속도, 압력에 의한
보정, 연속성을 만족하는 방법으로
얻어짐 에너지, 화학종, 난류 등
다른 이송 방정식 계산
에너지, 화학종, 난류 등
다른 이송 방정식 계산
분리되어 순차적으로 계산 예 예
종료 종료
28
압력기반솔버(PBS) II
• 압력기반솔버에는 Pressure-Velocity Coupling 설정이 필요
– SIMPLE (기본값)
• 일반적인 비압축성 유동인 경우 유용함
– SIMPLEC
• 주로 학문적인 관심사에 사용함
– PISO
• 일반적으로 과도 상태 해석인 경우에 사용함
– Coupled
• 종종 Pressure-Based Coupled Solver(PBCS)로 언급됨
• 부력 또는 회전을 포함하는 비압축성 유동인 경우 유용함
• 수렴에 문제가 있는 경우 SIMPLE 대신 사용함
29
초기 가정 Z∗ , }∗ , „∗ , ˆ∗
∗
z•,ƒ „•,ƒ • z;€ „∗;€ Z∗•,|#: 8 Z∗•,| ‚•,ƒ €•,ƒ
1. 압력장, 속도장을 추정
} ∗ , „∗
2. 추정된 압력장으로 속도장 계산 STEP 2 : 압력-수정 방정식 계산
z•,| Z′{,| z•,:,| Z′•,:,| z•#:,| Z′•#:,| z•,|,: Z′•,|,: z•,|#: Z′•,|#: €′•,|
3. 압력 수정장을 계산
Z′
4. 압력과 속도를 계산
STEP 3 : 압력과 속도 수정
Z•,| Z∗•,| Z′•,|
5. 나머지 이송 방정식 계산 Z
„
Z,}
„,ˆ
∗
∗
∗
∗
}
ˆ }{,| }∗{,| †{,| Z‡ •#:,| 8 Z‡ •,|
„•,ƒ „∗•,ƒ †•,ƒ Z‡ •,|#: 8 Z‡ •,|
6. 수렴 판단
Z, }, „, ˆ∗
7. 반복 계산
STEP 4 : 모든 이송 방정식 계산
z•,| ˆ•,| z•#:,| ˆ•#:,| z•,:,| ˆ•,:,| z•,|#: ˆ•,|#: z•,|,: ˆ•,|,: €ˆ•,|
아니오 예
수렴? 종료
30
SIMPLEC(SIMPLE-Consistent)
• SIMPLE과 동일한 방식을 사용
– SIMPLE에서 생략한 항들을 속도 수정방정식에 추가함
31
초기 가정 Z∗ , }∗ , „∗ , ˆ∗
1. 예측 단계 - 운동량 방정식 계산
- 압력-수정 방정식 계산
- 압력과 속도 수정
– 추정 압력장으로 SIMPLE과 Z∗ , }∗ , „∗ , ˆ∗
동일하게 계산 STEP 4 : 두 번째 압력-수정 방정식 계산
z•,| Z′′{,| z•,:,| Z′′•,:,| z•#:,| Z′′•#:,| z•,|,: Z′′•,|,: z•,|#: Z′′•,|#: €′′•,|
2. 수정 단계 1
– 첫 번째 압력 수정장 STEP 5 : 압력과 속도 수정
∗∗∗
Z•,| Z∗•,| Z′•,| Z′′•,|
∑ z;€ }∗∗ ∗
;€ 8 };€
– 첫 번째 속도 수정장 }∗∗∗
{,| }∗{,| †{,| Z‡ •#:,| 8 Z‡ •,|
z{,|
†{,| Z‡‡ •#:,| 8 Z′‡ •,|
∑ z;€ „∗∗ ∗
;€ 8 „;€
3. 수정 단계 2 ∗∗∗
„•,ƒ „∗•,ƒ †•,ƒ Z‡ •,|#: 8 Z‡ •,|
z•,ƒ
†•,ƒ Z‡‡ •,|#: 8 Z′‡ •,|
– 두 번째 압력 수정장 Z∗ Z , }∗ }
Z Z∗∗∗ , } }∗∗∗ , „ „∗∗∗
„∗ „ , ˆ∗ ˆ
– 두 번째 속도 수정장 Z, }, „, ˆ∗
6. 반복 계산 아니오
수렴?
예
종료
32
Pressure-Based Coupled
• 연속 방정식과 운동량 방정식의 결합하여 계산 시작
– 단상 정상 상태 해석에서 비결합(non-coupled)
또는 분리(Segregated)방식에 비해 우수한 STEP 3 : 모든 이송 방정식 계산
성능
아니오
– SIMPLE 기법이 수렴에 문제가 있는 경우 사용 수렴?
33
완화계수(Under-Relaxation Factor)
• 완화 계수(Under-relaxation factor)는 SIMPLE, SIMPLEC,
PISO에서 사용
– 완화 계수(α)는 압력기반솔버의 반복 계산 과정에서의 안정성과
관련 있음
– 최종 수렴 결과는 완화 계수의 영향을 받지 않음
• 해의 수렴은 반복 계산과 연관
,‘’“ ”∆
n n∗ ” n‡
_ ”• _ 1 8 ”• _ #B
k ”• k 1 8 ”• k #B
• 기본 설정 값은 대부분의 유동 해석에 적당
– 사용자는 필요에 따라 값을 줄일 수 있음
– 많은 경험을 통해 적절히 설정하는 것이 좋음
34
밀도기반솔버(DBS) I
• 밀도기반솔버
Density-Based Solver
[Density-Based Solver (DBS)]
해석 값의 갱신
아니오
수렴?
종료
35
밀도기반솔버(DBS) II
• 밀도기반솔버는 밀도, 에너지, 운동량, 화학종 사이에 강한 결합
또는 상호 의존적인 경우 사용하는 것이 적합
36
초기화(Initialization)
초기화(Initialization)
• 해석을 시작하기 전에 모든 해석변수를 초기화해야 함
– 각각의 셀에 사용자가 설정한 값들이 적용되는 것을 의미
– 실제 결과와 가까운 값을 사용한 경우 수렴이 빨라짐
– 잘못 예측된 초기값을 사용한 경우 초기 반복 계산(Iteration)을
하는 동안 오류 발생
38
초기화 기법 비교
해석 전 초기 격자 최종 해석 결과
수렴 판정(Convergence Check)
수렴(Convergence) I
• 충분한 반복 계산을 통해 수렴된 해를
얻을 수 있음
41
수렴(Convergence) II
• 잔차 이력을 이용하여 수렴성 확인
– 일반적으로, 잔차가 10-3 이하로 감소하면 수렴
– 에너지에 대한 잔차는 10-6 이하로 감소
(압력기반솔버)
– 화학종에 대한 잔차는 화학종의 균형을 위해서
10-5 이하로 감소
42
수렴 가속화
• 수렴 속도는 다음 방법을 통해 가속화할 수 있음
– 더 나은 초기 조건 설정
• 기존 해석결과부터 시작
– 완화 계수 또는 Courant 수를 점차 증가
• 지나치게 높은 값은 해석 불안정과 수렴문제를 초래할 수 있음
• 반복계산을 다시 시작하기 전, 항상 케이스와 데이터 파일을 저장
– 적절한 격자 해상도와 좋은 품질의 격자로 시작
• 격자 직교성(Orthogonal quality)의 최소값은 0.1 이상이어야 하고,
평균값은 더욱 높아야 함
1
셀의 격자 직교성 면의 격자 직교성 Perfect
ŒA ⋅ h‰ ŒA ⋅ C‰ ŒA ⋅ e‰
ŒA h‰ ŒA C‰ ŒA e‰
43
수렴성과 정확성
• 해석이 수렴되었다고 해서 반드시 그 값이 정확한 것은 아님
– 정확도는 다음 항에 영향을 받음
• 이산화 기법의 차수(이차 정확도 이상을 추천함)
• 격자 해상도(Mesh resolution)
• 경계조건(Boundary Conditions)
• 형상의 제한
• 형상의 단순화
• 솔버의 정밀도(2d/3d 또는 2ddp/3ddp)
• …
44
해석결과의 정확도를 높이는 방법
• 이산화 기법(Discretization Methods)
고차의 이산화 기법 선택
• 정상 상태(Steady)와 과도 상태(Transient)
물리적인 특성을 고려
• 압력기반솔버와 밀도기반솔버
압축성 효과에 대한 영향 고려, 물리적인 특성을 고려
• 초기화(Initialization)
해석 시간을 줄일 수 있는 방법
• 수렴 판정(Convergence Check)
잔차와 특성 변수의 변화량 확인
• 격자 독립성(Grid Independence) 및 품질(Quality)
적절한 격자 해상도와 좋은 격자 품질
45