Introduction
Pseudo Transient는 용어에서도 알 수 있듯이, 가상의 허구의 의미를 나타내는 Pseudo와 Transient가 합쳐진 용어이다. 실제 Transient 해석을 하는 것이 아니라, Steady 해석에서 사용되며, 계산 안정성을 높여주는 역할을 한다. 단, 해당 기능을 사용하면, 해석 결과가 Steady 해석임에도 Transient처럼 수렴하기 때문에, 충분한 반복 계산 횟수가 필요하다.
■ 계산 안정성을 높여주는 Pseudo Transient
CFD에서 수렴성을 높이는 방법은 속도와 안전성 측면 2가지가 있다. 첫 번째는, 최종 해에 빠르게 도달할 수 있도록 계산을 빠르게 하는 수렴 속도 측면이다. 단순한 모델이거나 상대적으로 물리값 구배가 크지 않은 조건일수록 수렴속도를 올려서 최종해에 빠르게 도달할 수 있다.
두 번째는 발산할 가능성이 있거나, 불안정한 계산의 안정성을 높여주는 측면이다. 급격한 면적 변화, 유동 진행 방향 변화가 있는 경우, 계산이 불안정할 수 있다. 또, 격자 및 가혹한 경계조건에 의해서 계산이 발산할 수 있는데, 일반적으로 “수렴성을 높인다”라는 표현은 두 번째 상황에 처했을 때 해석 설정을 변경하는 과정을 의미한다.
과거에는 URF(Under-Relaxation Factor)를 변경하여, 물리값 변화폭을 조절하여 계산 수렴성을 개선할 수 있었다. 특별한 가이드가 있는 것은 아니고, 사용자의 경험치를 기반으로 수정하기 때문에 약간의 노하우가 필요한 영역이었고, 유동해석 진입장벽을 높이는데 일조하였다.
2019R1 버전부터는 Pseudo Transient 기능이 기본으로 활성화되어 계산 수렴성을 높일 수 있게 되었다. 2019R1 이전 버전에서는 수동으로 기능을 활성화할 수 있었다.
[그림1, What’s NEW - 2019R1, Ansys Fluent Highlights]
■ Pseudo Transient 왜 알아야 할까?
신규 기능도 아닌 10년도 더 된 기능을 본 자료에서 다루고자 하는 이유는 다음과 같다. 종종 고객에게 기술지원을 하다가 받게 되는 질문들이다.
Pseudo Transient는 기본으로 활성화된 기능이고, 자세히 알지 못하더라도 사용하는데 큰 문제가 없다. 충분한 반복 계산 횟수(Iteration)와 수렴된 결과를 활용하면 말이다. 하지만 Pseudo Transient를 사용할 때 Iteration이 부족하면 문제가 될 수 있다. 특히 열전달 & 다상유동 해석에서, 수렴되지 못한 결과를 활용할 가능성이 커지니 주의가 필요하다.
[그림2]에 직경 20mm, 중심축 길이가 1000mm인 배관이 있다. 왼쪽 입구에서 0.01[m/s], 400[K] 공기가 유입된다. 출구는 대기압 조건이다.

[그림2, 데모 모델 설명]
Pseudo Transient를 사용해 계산하는 경우, Iteration에 따라서 결괏값이 달라지고 있는 것을 [동영상1]에서 확인할 수 있다. 멈춘 것처럼 보이지만, Iteration에 따른 Contour를 동영상으로 만든 것이다. 위쪽 2개의 동영상은 Pseudo-Transient를 사용했을 때의 Temperature Contour(왼쪽)와 Velocity Contour(오른쪽)이다. 아래 2개의 동영상은 Coupled만 사용했을 때의 Temperature Contour(왼쪽)와 Velocity Contour(오른쪽)이다.
다시 한번 얘기하면, 아래 예제는 시간에 따라서 변하지 않는 Steady 해석이다. 그렇기 때문에 Iteration 수가 충분하지 않으면, 결과가 이상하게 보일 수 있다. Pseudo-Transient를 사용하는 경우, 계산 중간에 멈추었다면, Temperature Contour는 수렴된 결과와 다르게 나왔을 것이다. 더 큰 계산 도메인에서 출구 평균 온도를 수렴기준으로 잡았다면, 계산이 한참 진행되는 동안에도 값이 변하지 않는다고 잘못 인지할 수 있다. 해당 예제는 1m로 비교적 짧은 계산 도메인에 복잡하지 않은 물리현상이기 때문에, 수십번만 계산해도 충분히 변화하는 결과를 볼 수 있지만, 유체 속도가 빠를수록, 온도구배가 클수록, 유동현상이 복잡할수록 수렴성을 위해 유동장은 더 조금씩 변하게 된다.

[동영상1. Iteration에 따른 Contour – Pseudo Transient(위쪽)와 Coupled(아래쪽) 비교, 100 iterations]
※ Velocity Contour는 Pseudo-Transient와 Coupled가 비슷하게 변하는 것처럼 보이는데, 진공이 아닌 상압 조건은 연속체를 가정하기 때문에, 입구에서 출구까지 유체 흐름이 연속으로 이어진다.
■ Pseudo Transient 이해하기
어떻게 해야 Pseudo Transient를 제대로 활용할 수 있을까?? 먼저 Pseudo Transient의 Time Step Size를 확인하는 방법에 대해 알아보자.
먼저 Outline에서 Run Calculation을 선택하면, Task Page에서 Pseudo Time Settings을 설정할 수 있다[그림3]. 다음, Verbosity를 1로 변경하고 계산하면, 해석이 진행되면서 계산된 Pseudo Time Step Size가 Console창에 [그림4]처럼 나타난다. 참고로 고정값을 사용하지 않으면, 실시간으로 계산된 값이 반영된다.

[그림3. Pseudo Time Settings]

[그림4. Console창에 나타난 Pseudo Time Step Size]
※ Pseudo Transient Time Step Size는 다양한 기준으로 계산되며, 가장 작은 값을 기준으로 사용한다. 따라서, 경계조건 속도가 높아지면, Pseudo Time Step Size도 작아진다.
보통 Pseudo Time Step Size를 사용자가 정의하는 경우, Time Scale ≈ 0.3 * Global Length / Velocity Scale로 계산한다. 어떤 항에 적용되는지에 따라 구체적인 방법은 다르지만, 많이 사용되는 대류항에 대해서는 [그림5]와 같이 계산한다. 일반적으로 Length Scale은 작게, Velocity Scale은 가장 큰 값을 활용해서, 모든 Cell에서 계산이 안정적으로 이루어질 수 있도록 값이 자동으로 계산된다.

[그림5. Pseudo Time Step Size(Convection) 구하는 방법]
추가로 Ansys에서는 Pseudo Transient를 사용하는 경우 유체 흐름이 입구에서 출구까지 최소 3번 흐를 수 있도록 충분한 반복 계산할 것을 권장하고 있다. 앞선 동영상은 Standard Initialization후, Iteration 100번 계산한 결과이다. 100번 만에 유동장이 한 번 흘렀기 때문에, 최소 300번은 계산해야 된다는 이야기이다. 유동장이 조금씩 변하는 Pseudo Transient 특성상 충분한 Iteration이 필요하다는 이야기이다. 물론 Report Definition으로 관심 물리 값이 수렴한 것을 확인했다면, 그 전이라도 계산을 중단할 수 있다.
맺음말
Pseudo Transient는 Ansys Fluent에서 활성화되어 있는 기본 기능이기 때문에, Ansys Fluent를 처음 접하거나 익숙하지 않은 사용자에게는 다소 낯설 수 있다. 기능의 특징을 이해하지 못하고, 출구 값이 더 이상 변하지 않는다고 판단하여 잘못된 결과를 활용하는 경우가 생길 수 있다. 그러므로, 해석 조건에 따라 유동장이 느리게 발달할 수 있다는 것을 인식하고, 사용해야 할 것이다.