사용자들은 수많은 시나리오를 설계하거나, 최적의 해석 결과를 찾기 위해 방대한 양의 시뮬레이션을 처리해야 하는 경우가 많다. 따라서 효율적인 업무 수행을 위해서는 자동화가 필수이다. 이번 호에서는 Python을 이용하여 Ansys Fluent®를 자동화하는 사례를 소개한다.
이번 해석의 목적은 Stochos(On-premise 기반의 AI 알고리즘 솔루션)에 사용할 데이터를 생성하는 것이다. 동일한 형상[그림 1]을 기반으로 제한된 범위 내에서 Inlet-1과 Inlet-2의 Velocity, Temperature 값을 변경하였으며, Latin Hypercube Sampling(LHS) 기법을 이용해 100 개의 Sampling Data를 생성하였다.
[그림 1] 해석에 사용한 형상
Meshing Mode도 PyFluent를 사용하여 자동화할 수 있지만, 이번 해석에서는 하나의 형상만 사용하므로 Solver Mode부터 시작한다.
필요한 준비물은 IDE(통합 개발 환경), Mesh 파일, Sampling Data(csv, xlsx, txt…)이다.
이번 호에서는 IDE로 Visual Studio Code를 사용했으며, PyFluent를 사용하기 위해서는 ‘Ansys-fluent-core package(클릭)’를 설치하면 된다.
코드 실행에 필요한 패키지를 불러온 후, launch_fluent 함수를 사용하여 Fluent Solver를 실행한다. 이 함수는 위 예시에서 사용한 것 외에도 다양한 파라미터를 제공한다[그림 2].
[그림 2] launch_fluent 함수의 Parameter
LHS 기법으로 만든 100 개의 Sampling Data를 Boundary conditions에 적용하기 위해 정보가 담긴 csv 파일을 불러온다.
[그림 3] Sampling Data 예시
Inlet-1과 inlet-2의 Velocity, Temperature 값을 설정한다. 앞서 불러온 Sampling Data의 값을 순차적으로 가져와 코드에 적용한다.
모든 케이스가 수렴되었고 원하는 결과를 얻었다고 판단되면, 필요한 데이터를 추출하기 위해 후처리를 진행한다. 아래의 코드는 이미지 학습을 위한 Contour 저장 코드의 예시이다.
[그림 4] 출력된 Contour 예시
아래는 유동장 전체의 데이터를 Ascii Format으로 자동 추출하는 코드의 예시이다.
[그림 5] 출력된 Ascii File 예시
PyFluent는 Python으로 개발된 패키지이기 때문에 기본적인 코딩 능력을 필요로 한다. 하지만 사용법이 어렵지 않아, 코딩 경험이 있는 사람이라면 쉽게 사용할 수 있다. 또한 Fluent Text User Interface(TUI)를 잘 다루는 사용자라면, TUI 기반의 PyFluent 코딩도 가능하다.
2025년부터 PyFluent 교육 과정이 신설된다. 사용 방법이 익숙하지 않거나, 해당 예시를 이해하는 데 어려운 경우에는 교육 수강하는 것을 추천한다.